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.
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 ever movement, we hope you'll take them seriously.
- 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). This rule does not apply for project 1, though if you have a mixed group, we ask that you try to put the more novice partner in the driver role more frequently.
- 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.
- If you work with a partner on project 0, you must work with a new partner on project 1.
- Partners must sign up using our partner request form. The project 0 form can be found at this link. 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!
Github and Partnerships
We will create a special group repository for you and your partner. For example, if your login is agr and your partner is axz, then we will assign a repo with a name similar to proj0-agr-axz. Directions are provided in project 0 about how to use this repository. You should make sure to keep this repository up to date.