This document is addressed to all students enrolled in either undergraduate or graduate classes computer science classes. Every students enrolled in a computer science course is expected to be aware of and adhere to the University's policies on academic honesty as described in ``Digest of Rules and Regulations''. That document can be found in the campus telephone directory. The guidelines given in this document are the official Departmental policy on academic dishonesty and plagiarism in programming projects and exercises. They represent an extension and clarification of the University's policy on academic honesty as it pertains to the special situations arising in computer programming projects and exercises.

One of the following policies will be adopted regarding how much cooperation and joint work is permitted in each of these classes:

A. Students are to work on their programming assignments without consulting with anyone that is not explicitly approved by the instructor (such as a grader or tutor).

B. Students are allowed to discuss the meaning of programs or problems together but are expected to work totally independent of anyone that is not explicitly approved by the instructor when working on the solutions to a program or problem and when doing their coding.

C. Students are allowed to discuss the programs or problems or to work on the solution together, but are expected to work totally independent of anyone that is not explicitly approved by the instructor when doing their coding.

D. A clearly identified group of students may work together in developing solutions to a program or problem, and are to turn in their work as joint work with all their names included, indicating co-authorship.

E. The instructor distributes a written policy (possibly as a part of their syllabus) that specifies how much cooperation and joint work is permitted on their programming assignments.

Policy A is the policy that will be used unless the instructor specifies in writing (e.g., in their syllabus) that one of the other policies will be followed. Students are to clarify with their instructors any questions they may have about how much cooperation and joint work is permitted on programming assignments. Independent of the value of the particular programming assignment in question or of a student's performance on other course requirements, violation of this plagiarism and cheating policy is likely to result in failure in the course. In addition, instructors are expected to report all cases of cheating or plagiarism to the student conduct officer. Further action may also be imposed under the code of student conduct. This action may include probation, suspension, or disciplinary dismissal from the University. Further details concerning the University's cheating and plagiarism rules can be found in the ``Digest of Rules and Regulations'' in the University's Telephone Directory. Some information also may be found in the Graduate or Undergraduate Catalogs.

In cases involving cheating or plagiarism, a person who knowingly assists another person in cheating or plagiarism is considered as guilty as the person receiving help. Using solutions or code from a problem assigned in a previous semester without the explicit permission of the instructor is also considered to be cheating or plagiarism. It is each student's responsibility to place protection on their files containing assignments, avoid leaving their computer account open in the labs when they are not present, protect current and old printouts of their code, and take other reasonable precautions to ensure these files are not accessible to another student. A student who becomes aware of cheating is strongly encouraged to report this matter. It is important that the students and instructors work together to achieve an academic environment that is fair to all students.