How to lose in CS 2112
A dozen proven ways to make your group project harder:
- The Scapegoat. Designate your partner as master hacker and have them do all the work. When your partner burns out 3/4 of the way through the course, you won't be able to finish the project since only they understand it.
- The Lone Wolf. Decide that your partner is useless and you are the master hacker. Charge off and code everything up without talking to your partner. Unless you are very lucky, you'll make some bad assumption that forces all your code to be thrown out!
- The Round Robin. Have a different person implement each programming assignment. This may work acceptably on the first step of the project, but by the third or fourth assignment the person implementing it will have no idea what is going on, and will have a much larger programming assignment to work on too.
- The Schism. Separately implement the different pieces of the system with no discussion of how they will fit together. Ideally, don't talk to your partner(s) until just before the assignment is due. Then there is no chance you will be able to glue the pieces together.
- The Borg. The opposite of The Schism. Work extremely closely all the time, spending all your time talking rather than doing actual implementation; the group will slow down to at most the speed of one person. For extra effectiveness, everyone pushes untested code to a common repo. That way, the whole system never works at any given time because something is always broken; also, you can't figure out which of multiple entirely different untested modifications are causing the current bug.
- The Vicious Cycle. Everyone on the team feels that they are working harder than everyone else, and scales back their effort accordingly. This causes another round of mutual outrage. Eventually, everyone does no work because no one else is doing work. As the deadline nears, you can switch to...
- The Blitz. Don't start until three days before the assignment is due. Then pull three all-nighters in a row. Lack of sleep will ensure you write broken code. With luck, you will get sick and blow some other classes too!
- The Bystander. Everyone assumes there are enough people in the project group that someone will take care of organizing the group and making sure that the project is completed. This technique works well in combination with...
- The Stoic. Don't ask the TAs or the professor any questions when design problems come up; just put off working on the project and hope the problems will magically solve themselves before the due date.
- The Blank Slate. Don't use any of the ideas from this class. This works best if you don't attend class at all, so you avoid polluting your mind with the course material.
- The Vibe Mirage. Who needs to write code any more? Don't we just have Generative AI do the work? It might sound like it's going to save a lot of time and headache, but it won't. AI-generated code will look very plausible until you test it carefully and find it contains subtle bugs that waste far more time than they save. Since you build each step of the project on top of your existing code, your foundations must be solid. Using AI will undermine your understanding of your code, which is critical for success.
- The Combo. If only one of the above techniques is not sufficient, pick two (or more!) and use them together.