What makes a good lab?

Posted by mkang85 on March 13, 2018

After going through the course for about 2 months, I’ve seen 3 types of labs:

  • There’s the “hold you by the hand” lab like Instance Methods. In this lab, the person and dog class is already defined and all you do is plug in the relevant bits. Notable Portions: Not much, but I guess dogs always bark. Why not growl or howl?

  • Then there’s the “I’m stuck, but I think I almost got it” lab, like Collaborating Objects. This is the lab that challenges you to a bit more abstractly, where you have to consider different classes and their relationship with each other. Notable Portions: MP3 importer! First time where a data library is being utilized. Also, I believe the first time we are told to “Google around for how to get a list of files in a directory!” A bit jarring compared to the first type of lab, but it does force you to look for your own answers.

  • Finally, there’s the ‘ “I need to ask a question every 10 minutes” lab like the good ol’ Tic Tac Toe with AI . These types of labs take what you think you know then force you to realize that you don’t know anything. Using similar methods from our previous incarnation of TTT, yet framing them within the context of Object Oriented programming is like trying to tell a joke in a different language.
    Notable Portions: Pair programming, the insecurity of one’s self and the use of “self”, the unending AI strategy programming (if the middle spot isn’t taken, then take it….how to write it though) and the joy of pulling it all off.

All labs are good, but what you can take away from them matters the most.

…but if I had to choose, it would be the third one.