CS143 collaboration policy

General philosophy

We are confident that all of you have come to Stanford planning to respect and uphold the Honor Code. We would like to define what is and what isn't considered acceptable collaboration, so there is no ambiguity. The general premise of our policy is that your submissions must be your own independent and original work. You should not give or receive any aid which makes the assigned tasks significantly easier. We do allow for discussion and help among students, but expect you to document any significant help that you receive. On our part, we will treat you with trust and will protect the honorable student's interests by investigating and prosecuting dishonorable behavior.

Collaboration on coding projects

For the purposes of the collaboration policy, students choosing to work with a partner are effectively considered as one entity, and are freely allowed to exchange, help, design, and code with one other, but the guidelines below apply outside the partnership (neither of you should be debugging, sharing code, etc. with other people or teams). There are also some specific rules that apply within the partnership.

Things that are always allowed

These things are encouraged and allowed at all times for all students.

Collaboration that is allowed if documented

Two students engaging in a more detailed discussion of the project specifics can cross into the area of collaboration that is acceptable only if documented. We require that you include the name of those whom you received specific assistance from and properly credit their contribution, as you would cite a reference in a research paper. This documentation should be in the README file for the assignment, NOT within the source code. Some examples of valid documented collaboration:

Collaboration that is NOT allowed

Basically, the rule is that you should be handing in code which represents your original, independent work. It should not be based on, influenced by, or copied from anyone else's.

Guidelines that specifically apply to programming partners

You can freely exchange ideas and assistance within the partnership, but outside it, the same rules apply (your or your partner should not be sharing code with others, etc.). A few special rules regarding partnerships:

Collaboration on problem sets

The policy described above for programming projects gives you a good idea of our general philosophy about collaboration and how the Honor Code applies in this course. For the problem sets, we have similar expectations about academic integrity but there are some differences in the ground rules:

Closing thoughts

Above all you should use your common sense. If you suspect that what you are about to do is a violation, play it safe and ask a staff member first rather than take risks with your academic career.

The Honor Code is taken seriously in this course and we have no tolerance for behavior that falls outside our boundaries for acceptable conduct. Please do your part in maintaining a community where academic work is done with a high standard of integrity!

Some parts of this document are based on a similar collaboration policy for Brown's CS courses.