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.