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.
- Partnerships are allowed for project 0 and project 2.
- All partnerships are pair only. No groups of more than 2.
- For project 0, partners must have the same Java coursework background (either both have taken a Java course or neither have taken a Java course).
- Partners must work together, in the same room. Strictly no telecollaboration. The exception is that you may come to office hours alone if you have a short question.
- Partners must sign up using our partnership registration form. The project 0 form can be found at this link. The project 2 partnership registration form will be released at a later date. You may not change partners after you fill out this form, though if there are major issues, you may request to dissolve the partnership.
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!