Why Partnerships?
Author: Josh Hug

Why Partnerships?

The primarily goal of partnerships in 61B is to increase your learning efficiency. Nobody likes spending an hour hunting for a typo or trying to figure out the one magic command they need.

Partnerships are NOT to reduce the workload of the course by dividing up pieces of the project for each partner to work on. While you could in principle do this, you are cheating yourself out of an educational experience that will be very important to your future success in 61B and later courses.

For project 0, we encourage students with Java experience to work solo, but you may work with a partner if you’d like.

Rules for Partnerships

The following are strict rules for partnerships. While we obviously can’t enforce them without following you around with spy drones and recording your every movement, we hope you’ll take them seriously.

Pair Programming

One common practice in industry is “Pair Programming”. Research has shown that this technique is particularly helpful for students learning to program. In Pair Programming, each partner is either the “Driver” or the “Navigator”. The Driver writes code, while the Navigator reviews code as it is typed. Every 30-40 minutes, the two partners switch roles. Throughout the entire process, the partners are actively engaged and discussing what they’re doing.

By pair programming, you may save yourself a bunch of headaches by catching bugs as they are typed. But even more important, you will be much more self reflective about your programming!

While it is not absolutely required that you do Pair Programming, it is strongly encouraged!