bowdoin

Computer Science Collaboration Policy

Plagiarism, cheating, and falsification of information are violations of academic integrity that will not be tolerated. Please check the Bowdoin Academic Honor Code for official definitions of these practices. This document explains specific guidelines for computer science.

The department employs four 'levels' of collaboration, where each level defines a set of allowed (and disallowed) behaviors. Higher levels are more restrictive, while lower levels are more permissive. Assignments in a course will typically employ a range of different levels. Our goal is to provide you extensive opportunities for collaboration (as is the norm in 'the real world') while still ensuring that you become an independent programmer capable of doing significant work on your own.

Specific courses may have additional rules or guidelines that supplement the standard policy described below (such as governing the mechanics of group work). Be sure to get this information from your professor.

In the interest of fairness to all students, violations of the collaboration policy are grounds to initiate an action that would come before the Judicial Board. Remember that you are responsible for reading, understanding, and adhering to the policy. If you have any questions about any aspects of the policy, please do not hesitate to ask for clarification.


Level 0: No Restrictions

Level 0 is generally only used for in-class exercises, or work not for credit. At this level, there are no restrictions on collaboration, and you may make use of whatever resources you like. Such resources could include other students both in and out of the course, your textbook (or other books), and Internet-based resources. No attribution of sources is required at this level.

Level 1: Verbal collaboration without code sharing

Level 1 is generally used for most regular assignments and labs. At this level, you are allowed and encouraged to discuss ideas and approaches with other class members, but such collaboration should not involve any written medium, including (but not limited to) computers, chalkboards, and paper. However, drawing pictures is permitted.

You may receive general programming and debugging advice, but you are required to write and debug all your own code, and at no time should you look at or receive another student’s code in any form (on a computer, via printout, verbally, etc). Similarly, you should not share your code with others or allow it to be shared (except with teaching staff), including sharing with future students after you have completed the course yourself. Providing help beyond what is allowed is as much of an infraction of the honor code as receiving help.

External resources: It is never permitted to view completed assignments, projects, or exams from the current or previous iterations of the course, regardless of their source. Otherwise, use of books or the internet for reference purposes is permitted, such as looking up the use of a particular programming function. However, blindly copying sections of code found online without attribution is not allowed, and you should never submit code that you do not understand or would not be able to clearly explain.

It is permissible to use software and materials available from external sources (understanding that you only get credit for work that you complete yourself) as long as you explicitly acknowledge those sources and what material you used. All materials used must be freely and legally available, and guidelines for proper attribution are provided below.

To be absolutely clear, if you turn in someone else's work, you will not receive any credit for it, but if it is properly acknowledged, it will not be considered a breach of the collaboration policy.

Crediting sources: When you use other sources to complete your work, you must credit the source of the ideas. This includes crediting other people (e.g., your classmates) or a website. You do not need to credit the book, in-class discussions, or conversations with teaching staff (TAs or professors). Anyone or anything else that contributed to the completion of your assignment should be credited with the following:

You may credit your sources using the comments in your program, in a note in a writeup, or in any other readily apparent way.

Level 2: Discussions with teaching staff only

Level 2 is typically used for assignments in which we wish to assess your understanding as well as your ability to solve problems independently. At this level, all of the restrictions of Level 1 apply, but you are further limited to discussing your work only with teaching staff. In other words, you may not discuss your work in any capacity with anyone that is not currently a professor or TA in the course. Teaching staff can offer help in developing approaches or provide advice on how to solve a specific problem, but may also encourage you to overcome obstacles on your own. Although computer science is inherently collaborative, being able to solve problems on your own is an important skill that we want you to develop!

The same rules for using external resources (such as the internet) apply as specified in Level 1.

Level 3: Professor clarifications only

Level 3 is typically used for exams. At this level, no external resources are allowed, and the only help you are allowed is asking a professor (who will likely not offer much help beyond basic clarifications).


This policy was last updated August 2017.


Return to Bowdoin Computer Science