Blog

> 6.009 Lab 2 - Bacon Number

August 21, 2019

Overview

Project Information
6.009 Lab 2: Bacon Number (Fall 2019 - Instructions)

Progress

  • Completed Lab 2

Reflection

The lab felt like 6.006 (MIT's Intro to Algorithms), in terms of using data structures in interesting ways in order to stay within the time limit. It was fun to think about and actually implement! The lab was simpler than I thought it would be, but took me longer than I thought it should have. One thing I need to work on in the future is speed, but again, that will come through more practice and experience, and hopefully improve over time throughout this challenge.

Lessons Learned

  1. Bounce ideas off of each other. I'm definitely the type of person to spend hours/days on a problem by trying to brute-force the debugging process. I was lucky enough to talk out some ideas with a friend, who helped nudge me in the right direction, since I was getting myself stuck on a very specific/messy idea that wasn't working out. Don't be afraid to ask for help sometimes!
  2. Keep an open mind At some points, I definitely got myself stuck in a loop. The final implementation was created after scrapping a lot of previous ideas, and starting from a clean slate, with a different focus/approach in mind. It turned out to be a lot simpler, but very different from the original idea.
  3. Take time to think before diving into the code. Taking the time to actually write down and draw out all the data structures/implementation on paper before jumping into the code prevented SO MANY potential bugs and angry debugging issues. It helped solidify how I actually wanted to approach and structure the code.
  4. Look at the big picture. A lot of what I got stuck on was trying to solve one problem sequentially at a time, without keeping the overall project in mind. In the end, I reread the entire lab and came up with a system design that fit the needs of ALL the parts of the lab. Keeping the overall functionality in mind helped prevent weird, specific use-cases and helped generalize functions to be used in future parts of the lab.