114-2.1

UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

Department of Computer Science

Office of the Attorney General

Office of Student Affairs

Honor Code Observation in Computer Science Courses

The Department of Computer Science supports the Code of Student Conduct described in the "Instrument of Student Judicial Governance for the University of North Carolina at Chapel Hill" (July 2003, http://instrument.unc.edu/). The Code adequately defines cheating and plagiarism on exams and written assignments, but does not deal directly with assignments that require the use of a computer. The material below is an elaboration of section II.D.1.a of the Instrument, specifically for computer assignments. It does not supersede, qualify or invalidate any of the provisions of that section. Students should refer to the "Instrument" for a complete listing of responsibilities, prescribed offenses, sanctions, etc. It is the student's responsibility to understand and to abide by the Code and the interpretations of the Code detailed below.

An instructor's decision as to whether to report a student for a possible violation of the Honor Code on a programming assignment depends on a variety of factors including the intent of the assignment, the ground rules specified by the instructor, and the behavior of the student. Two general guidelines will be used in making the decision.

Program plagiarism will be suspected if an assignment that calls for individual work results in two or more programs so similar that one can be converted to another by purely mechanical transformations.
Cheating will be suspected if a student who was to complete an assignment independently cannot explain both the intricacies of his or her solution and the techniques used to generate that solution.
If a teaching assistant suspects that cheating has occurred, he or she will report it directly to the supervising faculty member. If a faculty member suspects cheating, he or she will report it to the Student Attorney General. Faculty members and teaching assistants will normally not communicate directly with the students involved in the alleged violation.

We cannot provide a definition of cheating complete enough to cover all situations. The following rules, however, provide guidelines and precedents.
 

RULES

1. Students must provide a signed pledge on all graded work. On programs, the pledge should appear in the comments section near beginning of the program.

2. Plagiarism of any program or other assignment or any part thereof is a violation of the Honor Code.

3. Any use of any other person's program, listing, problem description, algorithm, disk, etc., is a violation, except when

(a) that person has granted permission,
(b) credit reference is given, and
(c) the instructor has granted permission. There are two exceptions to this rule. Material presented in class, in recitation, on the course web page, or in the course textbooks may be used in programs without permission or citation. Material presented in other courses or other textbooks may be used without permission, but the source must be cited.
4. Receiving help from another person in designing an algorithm (i.e., the logic of a program) is a violation. Providing such help is also a violation. Questions regarding algorithm design should be asked only of the instructor or designated graduate teaching assistant.

5. Showing your program to another so that he or she can copy it or see how it works is a violation. Showing your program to someone else for some other purpose is not necessarily a violation (see below), but be careful!
 
 

Examples of Cheating (not exhaustive)

1. Copying all or part of another person's program and submitting it as your own work.

2. Two or more students collaboratively writing one program and each turning it in as his or her individual work (except, of course, for collaborative assignments).

3. Lending your program so that it may be copied.

4. Giving or receiving unauthorized help on how to solve a programming problem.
 
 

Examples of Legal Cooperation

1. Receiving help in locating a program bug is legal, especially after you have unsuccessfully fought with the bug for a substantial amount of time. However, too much reliance on others is unwise.

2. Giving or receiving aid regarding features of the programming language, operating system, or machine.

3. Receiving help of any kind from the instructor or graduate teaching assistants.

4. Discussing course material for better understanding.

5. Discussing assignments to understand what is being asked for (but not how to do it).

Where to Go for Help

If you have questions about how to solve a programming assignment, see your instructor or designated graduate teaching assistant. Undergraduate lab assistants are authorized to provide help in debugging, programming language syntax, and use of the operating system and computing equipment, but not in problem solving. If you have questions about the Honor Code or about this document, see the instructor or consult with the Office of the Dean of Students.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

12/29/03