16.070 Collaboration Policy

At the beginning of each term, faculty members are encouraged to make clear to the students in their classes their expectations regarding permissible academic conduct. It is important that this be done in the context of their specific subjects. (From section 10.2.1 of MIT Policies and Procedures)
This document describes the collaboration policies for 16.070. Two classes of inter-student work are covered: plagiarism and collaboration.

Plagiarism describes an attempt to claim work as your own that you have copied from another person, whether that other person knows about it or not. In this class, plagiarism includes copying program code, data, documentation, etc. Plagiarism is simply not allowed.

Collaboration is defined as two or more students working together on a phase of an assignment. Working together does not mean that one student does the work and the other student just copies it! Collaboration is allowed and encouraged under certain conditions, as long as you are honest about it. You often learn best from your peers.

You are taking this class to learn fundamental concepts about computing and real-time systems, and you deserve a grade that fairly represents what you've learned. Therefore, the staff needs to know that your work is your work and so must limit collaboration somewhat. For assignments in this class, here are some guidelines as to which forms of collaboration are appropriate and which are inappropriate.

Following the five steps of the programming process:

  1. Conceptualizing the problem: Collaboration is allowed in interpreting the problem statement; however, your final written problem statement should be your own.
  2. Defining the requirements: Collaboration is allowed in developing the detailed requirements; however, your final written requirements list should be your own.
  3. Defining modules and designing algorithms: Collaboration is allowed in defining the needed modules, algorithms and data structures; however, your final written work should be your own.
  4. Implementing algorithms and data structures: Collaboration is NOT allowed in this step. All code must be your own.
  5. Debugging and testing: Collaboration is allowed during the debugging process and when developing and executing a test plan; however, any written test plans and reports must be your own.
If you choose to collaborate with other students on any of the allowed steps above, indicate the name of your collaborator and the nature of your joint work on your solution. Ensure that your collaborator does the same on his/her assignment. Violations of these guidelines will be dealt with as per section 10.2 of the MIT Policies and Procedures.

Please carefully check each assignment for any exceptions to these guidelines. Collaboration and teamwork are important skills in engineering; however, if you are unsure of the legality of a form of collaboration, ask a staff member before engaging in it.

(Note: Based on the collaboration policies of CSci 51 at George Washington University and MIT Policies and Procedures Section 10)