(document created August 24, 2014 by Scott McElfresh - based on earlier documents)
Computer programming is a creative, collaborative endeavor.
Thus, some time will be taken in class to describe the issues around
appropriate collaborative behavior. This document attempts to
explain as well. If you have any
questions as to what is appropriate and what is not, please ask Prof McElfresh about it.
When to work alone and when to collaborate:
Work on the exams and quizzes must be entirely your own, unless
You are encouraged to discuss the exercises and homeworks with other
students. However, you must write up your own solutions to the
written problems and create and debug your own programs (except for
very minor syntax problems). In general, it is a bad idea to look at another
student's solution or partial solution, or showing your solution to another student.
NOTE: If you discuss the homework with other
students, you should document this, as outlined below.
Part of computer programming is re-using other people's ideas and their programs. You are encouraged to take code from certain publicly available references - specifically, in-class examples and the course texts. However, you should NOT be copying from the solutions of other students enrolled in the course, or from students who have taken this course in the past. "Copying" means either Copy and Paste, or transcribing something from paper or a screen. Further, you should not be using Google or other searches to find solutions online. NOTE: When you copy code from an acceptable source, you should document this, as outlined below.
Giving credit where credit is due (documenting your sources):
In order to receive credit for work you have done, your name must
appear on that work. For computer programming, this means that
you need to put your name in EVERY file that you create or modify.
For computer programs, this means adding your name in a "comment"
at the top of the file. (Examples of this will be presented in
class.) Putting your name on a folder containing your files is
not sufficient since files may move
out of that folder. Adding your name to an existing file that you
not modify is considered plagiarism.
If you discussed the homework with a colleague, or received help from another student, you need to document this in the comments at the top of the relevant file(s). For instance, "Jane Doe helped me to understand how to approach this problem." Or, "I worked with John Smith on determining what was wrong with my data file."
When you copy code from an acceptable source (in-class examples and the course texts), you should document this. In particular, if you Copy and Paste from an electronic version of a program, or copy it from a printout or book, you must document this. The way you document such copying is by typing a comment in the program. The comment should contain the name of the person or reference from which the work was copied. For instance, "The computeTax function was copied from the Acme Tax Manual for Software, v. 3.14159."
To not credit your source is considered plagiarism, as in any other field.
Examples of cheating: