Collaboration Policy

We recognize the value of collaboration and believe that it can only be beneficial to the learning process. However, we also want to ensure that each student's work represents their own understanding of the material. To this end, in addition to Brown's Academic Code, we are providing the following set of guidelines that we expect all students will abide by fully. Please do not hesitate to contact the HTAs or the professor if you have any questions or concerns with the contents of either of these documents.

Lecture Materials

You are of course allowed - and encouraged! - to discuss any of the content covered in lecture, including board code.


   Oracle, all Forge assignments, Spin, Natural Deduction, Dafny

All exercises are to be completed individually. You may discuss exercises with other students at a conceptual level only. However, we ask that you only do so after having already analyzed the problem on your own. In addition, we ask that you write up your code independently and separately from any joint discussions, and that you not take away any notes from such discussions. Thus, it would be acceptable to discuss an assigned problem with another student at a whiteboard, erase your notes and separate, then individually write code for the solution. It would not be acceptable to sit side by side with another student at your computers to discuss and simultaneously implement a solution. Emails, Messenger conversations, and the like should follow this policy as well: they may contain high-level conceptual discussion, but not anything code-specific such as psuedocode or code.


   Midterm 1, SAT, Final Project

The Midterm and Final Projects are designed to be group projects. During these assignments, you will work collaboratively with your partner(s) on a single codebase. You may of course share pseudocode and code with assigned group members. In addition to the policies outlined for exercises, you are allowed to provide debugging help to members of another group, and may look at/modify their code for this purpose, as long as you do not have your own code open concurrently. If you receive debugging help from someone outside your group, you must include their login in a separate text file named collaborators. Please include each login on a separate line in this file. You may not look at or copy anyone else's code for the purpose of helping you write your own, and you may not permit anyone to look at or copy your code for that purpose. We reserve the right to “wire-pull” any assignment you turn in by having you explain each part in detail.

Regret Policy

We understand that it is possible a student may violate the collaboration policy in desperation due to stressful circumstances. If you admit your violation to Tim (not a TA) within 24 hours after the assignment deadline, exceptions may be possible, at the professor's sole discretion. (The University may still be involved in such cases.)