Cheating on assignments and tests is forbidden.
All work is to be done individually unless group work is explicitly permitted. No collaboration is allowed on tests. For regular individual assignments, we expect that the submitted work represents the student’s own intellectual effort, defined as follows:
- The program was written primarily by the student. This means that most of the code (aside from starting code provided by the instructor) must have been crafted, not copied, by the student.
- External resources used, whether electronic or from another human, must be documented as follows:
- Code snippets copied from online resources must be documented by a comment just above the copied snippet giving the URL of the page containing the source.
- Explanatory help or advice regarding the design or implementation of the solution received from people other than the instructor must be documented in a report accompanying the assignment submission. This report must detail:
- Source of information (e.g., name/email of the person who helped)
- Relevance (i.e., how this resource helped and/or what it provided)
- Note that students must not consult a solution to the assignment as a resource in crafting their own solution, nor share their own solution with another student. Doing so constitutes cheating.
- The student must be able to explain, on demand, the entirety of the program on both the syntactic and semantic level.
Not all kinds of programming assignments require the same demonstration of personal intellectual effort. In the absence of any specific instructions, students should assume that at a minimum:
- For individual lab assignments, requirements 1 and 3 apply.
- For individual programming assignments, all three requirements apply.
- For group programming projects, only requirement 3 applies.
Failure to comply with any relevant integrity requirement constitutes cheating. Such incidents will be reported to the academic integrity committee. Here are some guidelines to avoid trouble:
- Do not look at another student's program code when seeking assistance. On the other hand, if another student is seeking help from you, never use your own program code as an example. The only acceptable reason another student may look at your code is to help you find a problem in your program.
- Do not write program code while another student (or lab assistant) is sitting with you. You may work out designs in pseudocode on paper with another student, but you must write program code by yourself.
- When seeking assistance from another person on a program assignment, always get his/her name so you can fulfill the documentation requirements