Partnership Structure #
For project 3, we require that you work in pairs, unless you have a special reason that prevents you from doing so. This term, we are not allowing partnerships on any other assignments.
Why Partnerships on Project 3? #
The process of working on a team can be quite different than working alone, and it’s great practice to learn how to efficiently work with other people, especially on large complex projects that involve tricky tools like git. While you might be perfectly capable,and even happier to work alone, you’ll only have so many big design projects in college, and we hope you’ll take advantage of this opportunity to develop this important soft skill.
Given that this project is open-ended, having another person to work with might also help with being able to find more creative solutions, especially to the problem of world generation.
Finally, there’s also the fact that when you go to job interviews, it is very likely that you’ll be asked to describe a time you worked with a team under some sort of duress. This project will likely provide such an opportunity.
Rules for Collaboration #
For this project, you’re explicitly allowed to divide and conquer. We encourage you to explore the idea of pair-programming, but it is not required. It is also not required that you work in the same room, though it is highly encouraged because this is more fun.
We don’t require that both partners contribute equally, but both of you should do at least a significant amount of work.
Partner Logistics #
We use the Project 3 Partnership form to form partnerships. If you indicated on the form that you are in need of a partner, then we will take your preferences and use a custom tool (developed by the TAs in EECS 16B!) to pair you up with someone with similar preferences. This should take care of most scheduling issues, though you may have a slightly different schedule than your partner.
If you didn’t fill out the form, then your partner is another random student someone else who also didn’t fill out the form.
We highly recommend that partners meet in the Soda labs or somewhere else on campus and pair program on the assignment together. This means one laptop with the pair taking turns typing and both working and outlining solutions together.
If you’re unable to meet in-person, you can do a similar thing with Zoom and screen sharing! It’s not always the best idea to split the work directly in half as working in isolation is much worse than collaboration, though you can do so if you want. Pair programming will also solve the issue of dealing with nasty merge conflicts :). There are also plugins for IntelliJ (and VSCode, if you use that) that allow for editing of the same file, though course staff won’t provide official help with them.
Partner Dissolution #
Sometimes your partnership just doesn’t work out for a variety of reasons. In extremely dire cases, we will allow a dissolving of a partnership. Here are some reasons we’ve dissolved partnerships in the past:
- A one-sided partnership. This means your partner hasn’t done any work on the assignment despite many attempts at communication.
- A variety of personal reasons where a student was uncomfortable.
- One partner has dropped the class.
Fill out this form with the exact circumstances of your partnership as well as any commit history/other logs that you need to demonstrate the issue. If we believe that a dissolution is required, we will dissolve the partnership and you and your old partner will from then on be working alone. The reason we have you work alone is because it is extremely hard to find another unpartnered student, and you and the other student would likely have entirely different code bases, and you’d be better off starting from scratch.
If you haven’t received a response in 24 hours then you may assume the dissolution was OK’d by us. If we read your responses and don’t think a dissolution is required, we’ll email you letting you know.
If we’ve OK’d your dissolution, you and your old partner can use the code from
the point that the partnership was dissolved, but from that point onwards you
must work in your own private student repo (i.e. your
fa22-s*** repo). Any
collaboration from after the partnership dissolution will be considered
academic dishonesty. You and your old partner will have separate checkoff
grades and hence be graded individually.
As you can see, dissolving a partnership actually requires more work since you will work on the project solo, so you should first attempt to work it out before trying to get the partnership dissolved.
This does not mean that you should continue a partnership that makes you feel uncomfortable, unwelcome, or unsafe. Please contact course staff if you feel this way, and we will work with you.