PROGRAMMING ASSIGNMENTS AND THE HONOR CODE Programming assignments are pledged work and as such are bound by the honor code. With respect to programming assignments the pledge covers three general categories: unethical aid, false work and false representation. Unethical Aid. Programming assignments must be your own work. Unless the course instructor explicitly states otherwise, the following guideines apply. 1 Books. Copying or paraphrasing program fragments without citation is plagiarism (William and Mary Student Hanbook, page 114-115). A student may only copy or paraphrase from their own personal textbook required for the course. 2 Fellow Students. A student should never show another student with the same assignment his or her own work, whether in seeking aid or giving it. A student may ask a fellow student general questions which do not pertain to a particular programming assignment. For example, one student may ask another, "What does SUBSCRIPTRANGE error mean?" but not "Why did I get a SUBSCRIPTRANGE error in this procedure when I ran my program with these data?" More precisely, the kinds of questions which may be asked of fellow students are those that can be looked up in manuals. Never may a student ask another about the logic of a programming function (that is, how to accomplish a programming aim). Thus questions like "How can I sort numbers as I read them in?" are strictly forbidden. Complementing the rules on asking questions about program assignments are similar rules for answering questions. When in doubt about what questions may be asked or answered, a student should confer with the instructor of the course or a computer science department teaching assistant. 3 Computer Center Consultants. The computer center consultant's role is to assist the students with the mechanical aspects of getting a program to run. In particular a computer center consultant may discuss with a student: 3.1 The basic requirements for an assignment, such as the specific task to be accomplished, the specific output required, and special programming language features to be employed. 3.2 The interpretation of both compile-time and run-time error messages. 3.3 How incorrect program output occurred by helping to trace execution of the program. 3.4 Debugging aids, such as useful tracing features of the language and where to place additional print statements. A computer center consultant may not: 3.1 Provide specific algorithms. 3.2 Repair a student's algorithm. 3.3 Write any code for the student, other than print statements used for debugging purposes (or language-dependent debugging aids). False work. A student can not claim someone else's work as their own. A student is prohibited from obtaining someone else's work by accessing any files that is not their own. Students cannot copy, examine, or take anyone else's printouts or other representations of programs. This prohibition includes, but is not limited to, files left on a floppy or hard disk, misplaced or discarded listings or storage media, and the like. To avoid tempting others, students should maintain normal security standards, for example, a student should remove all personal files created on the PC hard drive, and not allow others to use personal diskettes where coursework is kept. False Representation. Forgery is an act of lying. Material handed in (say, a computer listing) must be the actual consequence of completing the assignment and cannot be a forgery. Editing a file so that it appears to be the result of the successful execution of a program is a violation of pledged work, as is editing a listing banner to change its date.