(Back to the main course website)
Cheating, especially but not only by copying code (either with or without the consent of the original programmer) destroys knowledge, trust, and ultimately, makes collaborative learning impossible in the future. Luckily, there are effective automatic tools to detect cheating on programming assignments, so I feel comfortable allowing and encouraging various forms of collaboration. The sections below list specific policies for different assignments in this class.
The penalty for academic dishonesty is a zero on the relevant assignment plus a loss of a full letter grade in the class. For a second offense, you will immediately fail the class.
Except for the first lab, all of the labs may be done with a partner. Feel free to ask people/groups near you for help with stuff too; essentially you may collaborate freely on the labs, and up to two people may get credit for working together on a single submission.
Almost the only way to actually cheat on a lab would be to submit the lab with a “partner” who was not present in order to give them credit. Don’t do this (if you have a friend who can’t make lab, have them get in contact with the professor to arrange a make-up).
Note: whenever you receive help with part of an assignment from a fellow student, you must note that person’s name in a comment in your code near the part that you got help with. You will still get full credit for that code, but this marker will ensure that you are not wrongly accused of cheating.
With a few clearly marked exceptions, the assignments must be done individually. However, there will often be multiple people working on assignments in the same space at the same time, encountering the same problems. Accordingly, you are allowed to collaborate in the following ways:
However, you may not do any of the following:
In general, try to collaborate with fellow students at the conceptual level and ask brief questions which don’t involve looking at each others’ code when possible. For more detailed questions, there are many resources available, including TAs, the professor, and places like the qualitative skills center. If you really need help with debugging and only another student is around, go ahead (if they have the time), but don’t use this recourse continuously.
For multiple-choice daily quizzes, you may collaborate freely with other students and share answers, as long as you explain your answers to each other and everyone involved comes away with an understanding of why the answer is what it is.
For weekly short-answer quizzes, you may collaborate to produce notes for the quiz, but you’ll have to actually do the quiz alone.
The tests are strictly individual, although you may collaborate with others to produce any allowed pages of notes.
These rules are essentially a more specific (and slightly more liberal) version of the department policy, which you can find here. They are also compatible with the college-wide policy, which you can see here. In addition to the penalties listed above, all incidents of academic dishonesty will be referred to the Dean of Students.