Unless otherwise noted, all assignments are solo assignments.
Some assignments allow you to work on them with at most one partner. A collaborative environment is good for learning, and especially if you and your friends are new to the material, helping each other when you get stuck can benefit all of you. (Please note, though, that each student must hand in her/his own copy of the assignment, even if it’s identical to their partner’s.) All collaboration must be credited in the
partners.txt file submitted with each partner assignment. If you work alone, you should still add your own NetID.
However, a word of warning — the point of an assignment is to learn things and develop skills. Therefore, you gain nothing if all you do is copy your friend’s code and turn that in, or if you and your friend each do a different half of the assignment. In comparison to exams, MPs and labs are not worth a significant percentage of your grade.
A better way to collaborate would be to do as much on your own as you can, but to talk things over with others when you get stuck. Discussion and asking questions is always a good thing, but using those things as a crutch and not learning the material yourself is a bad thing. So your goal should always be to do as much on your own as you can, and to ask for hints in the right direction when you are completely stuck. This approach can take a bit longer than simply “asking someone for the answer”, but on the other hand, struggling through your own mistakes until you finally solve the problem will teach you the material far better than will someone simply telling you the solution.