Collaboration & Academic Honesty Policy |
I highly encourage students to get together in small groups to go over material from the lectures and text, work problems from the text, study for exams, and to discuss the general ideas and approaches to material in the course.
Homework (including programs) may be done either by yourself or with one other person. If you decide to work with another person then you should only turn in one solution. Put both students' names on the assignment. If you collaborate then you must include a statement describing the contributions of each collaborator. For example, it might be "We used pair programming for all aspects of this assignment. X took the lead on documenting the program, while Y was primarily responsible for the accompanying write-up." or "W wrote the parser, while Y wrote the lexical scanner. We each looked over the other's code in order to improve its clarity and efficiency. If you collaborate with someone, then you will both generally receive the same grade on the assignment. However, I reserve the right to assign different grades if there is evidence that one person contributed significantly more to the solutions. Both parties to the collaboration are responsible for understanding all parts of the solution.
Aside from this explicitly claimed collaboration, all work to be turned in, including programming assignments, must be done independently. As explained in the student handbook, this means that the work you turn in must represent only your (or your team's) own work. It must not be based on help from others or information obtained from sources other than those approved by the instructor (e.g., the text, web pages linked from the course web page, and materials provided in lecture). Effective learning is compromised when this is not the case.
Accordingly, you should never read or copy another student's code or solutions, exchange computer files, or share your code or solutions with anyone else in the class until after the assignment is due. However, students may collaborate or receive help from each other on an occasional basis as long as all parties contributing are given explicit credit for their contributions to the homework. I will inform students if I believe they are collaborating too much. Uncredited collaborations will be considered a violation of college policies and will be handled appropriately. If there is any doubt about whether a collaboration is legal, you should cite it or ask me. I will let you know if it is within the rules.
An important exception to the above rules has to do with learning to program in Python. Students are explicitly allowed to help each other with difficulties in setting up, running compilers or using libraries for Python programs, and to help explain error messages. However, any collaboration beyond that point should be cited as explained in the prior paragraph.
Failure to abide by these rules is considered plagiarism, and will result in severe penalties. The first offense typically results in failure in the course and referral to the appropriate college office or committee. See the Academic Honesty Policy in the Student Handbook for further information. Please do not put me, yourself, or anyone else in this unpleasant situation.
Collaboration & Academic Honesty Policy |