ACADEMIC HONESTY in CS3251

Collaboration and Academic Honesty

We highly encourage students to get together in small groups to go over material from the lectures and texts, work problems from the texts, study for exams, and to discuss the general ideas and approaches to programming assignments. However, work to be turned in, including programming assignments, must be done independently, unless we explicitly designate an assignment as one in which collaboration is allowed. As explained in the student handbook, this means that the work you turn in must represent only your own work. It must not be based on help from others or information obtained from sources other than those approved by the instructors (e.g., the text, web pages linked from the course web page, and materials provided in lecture). Effective learning is compromised when this is not the case.

Accordingly, you cannot transmit or receive code from or to anyone in the class in any way—visually (by showing someone your code), electronically (by emailing, posting, or otherwise sending someone your code), verbally (by reading code to someone) or in any other way we have not yet imagined. You should never read or copy another student’s code or solutions, exchange computer files, or share your code or solutions with anyone else in the class until after the assignment is graded. Under no circumstances may you hand in work done by, or in collaboration with, someone else under your own name, with the exception that you may freely use any code that we provide to you or code from the textbook, as long as you cite this code as coming from the instructors or the book. Any other collaboration with your classmates is acceptable. Additionally, the TAs are allowed to help you with your code; so see them if you need help with an assignment.

The rule on collaboration and communication with people who are not your classmates (or your TAs or instructors) is also very simple: it is not allowed in any way, period. This disallows (for example) posting any questions of any nature to programming forums, or receiving code/help from past students of the course.

As far as going to the web and using Google, we will apply the “two line rule”. Go to any web page you like and do any search that you like. But you cannot take more than two lines of code from an external resource and actually include it in your assignment in any form. Note that changing variable names or otherwise transforming or obfuscating code you found on the web does not render the “two line rule” inapplicable. It is still a violation to obtain more than two lines of code from an external resource and turn it in as your own, whatever you do to those two lines after you first obtain them.

Academic Dishonesty in CS

The policies of Vanderbilt University with respect to academic dishonesty are stated in the Student Handbook. Courses involving computer programming require special consideration because use of the computer permits easy copying and trivial modification of programs. The following guidelines are provided to help in determining if an incident of academic dishonesty has occurred.

  1. The instructor may suspect a student of program plagiarism if the student submits a program that is so similar to the program submitted by a present or past student in the course that the solutions may be converted to one another by a simple mechanical transformation.

  2. The instructor may suspect a student of cheating, whether on a program or an examination, if the student cannot explain both the intricacies of his or her solution and the techniques and principles used to generate that solution.

  3. The instructor may suspect a student of failure to adequately complete a collaborative assignment in cases where observation or questioning leads the instructor to believe that the student has not shouldered an equitable portion of the burden in some assignment requiring collaboration.

It should be clear that there is latitude for difference among individual instructors, particularly on the matter of when working with other students or adapting material from a textbook is permissible. The following general policy on cooperation on homework assignments holds.

In all circumstances it is acceptable to discuss the meaning of assignments and general approaches and strategies for handling those assignments. Any cooperation beyond that point, including shared pseudo- code or flowcharts, shared code, or shared documentation, is only acceptable if specifically so permitted by the class instructor.

Penalty for Academic Dishonesty

When a case of academic dishonesty is detected, it will be referred to the Honor Council. Violating the academic trust your instructor and classmates have placed in you will have a far worse effect on your academic future than doing poorly on a homework assignment.

Examples of Academic Dishonesty

Although it is impossible to distinguish beforehand between cases of cheating and non-cheating, some clear instances of each can be given as examples.

Dishonesty has occurred:

Dishonesty has not occurred:

General Advice

Programming assignments are expected to be the work of the individual student, designed and coded by him or her alone. Help locating errors is allowed, but a student may only receive help in correcting errors of syntax; help in correcting errors of logic is strictly forbidden. Guideline: Assistance from anyone other than the TAs or instructors in the design or coding of program logic will be considered a violation of the academic honesty policy. The only time it is acceptable to look at another student’s code is to help them identify a syntax error in their program. You may not provide them with suggested code to correct it (with the exception of syntax errors) nor may you copy their code in your program. You may point out similar examples from the text or lecture notes that help them correct the error.

If you do not understand how the academic honesty policy applies to a particular assignment, consult with the course instructor. When in doubt, credit the people or sources from whom you got help. This also goes for any help obtained via the Internet. You will not lose any points for acknowledging help obtained where the rules for assistance are unclear. If you are ever unsure about what constitutes acceptable collaboration, just ask.

Failure to abide by these rules is considered plagiarism, and will result in severe penalties. Violations are easy to identify and will be dealt with promptly. Please do not put us, yourself, or anyone else in this unpleasant situation.

Acknowledgment: Much of the above statement is based upon the Academic Honesty policies of the CS departments at Oregon State University, Rice University, and Pomona College.