While you are a student at Rutgers you may be tempted to turn someone else's work in as your own, perhaps by copying their solution to an exam question or to a programming assignment. Rutgers University has a detailed policy concerning Academic Integrity (which can be found following this link). The Dept. of Computer Science endorses and adheres to this policy, and you should be familiar with it. You should know that copying or collaborating too closely on programming assignments is considered a violation of Academic Integrity, as is allowing others to copy your work.
Although it may seem self-evident, here are some reasons, both moral and practical, not to yield to the tempation of submitting under your name the work/program of another, or a program that was jointly developed:
- Programming assignments are meant to develop skills that are essential to anyone with a CS degree. By not doing the work yourself, you are cheating yourself of an education, and you are wasting your time and tuition fees.
- In most CS classes the exams are heavily based on the homework and programs, so if you do not do this work yourself, you are setting yourself up for failure on the exams.
- Most CS classes are graded on a curve, so if you cheat you may feel that you are helping yourself, but you are certainly hurting your classmates.
- The CS Department is serious about catching cheaters and seeing that they get punished. Formal charges are filed against a number of students each semester. The penalties include suspension or even expulsion from the university.
- Even if you do get away with cheating at Rutgers, when you get a job there will be no one to copy from and no way to hide incompetence. You will only make a fool of yourself and, in the process, reduce the job prospects of all other Rutgers graduates.
Copying on an exam is obviously cheating, but what constitutes unacceptable collaboration on a programming assignment? Unless the instructor has specified otherwise for a particular course or assignment, the following rules apply to programming assignments:
- It is unacceptable to submit the program of another student, or a program written jointly, even if it was edited afterwards.
- It is also unacceptable to have someone else debug your program: occasional help in determining the source of the error in your program is OK, but you must be the one who finds solutions.
- This means that if you discuss a programming assignment with a fellow student, you may not take anything written away with you from the conversation, either in hard copy or on-line. Suggestion: After a conversation, before you start working on your assignment, you need to spend at least a half an hour doing some unrelated activity. (Watching "Game of Thrones" used to be the prototypical example.) This way, the program you are writing reflects your own understanding -- which is the purpose of the assignment.