Vassar CS Student Integrity Guide
This guide is designed to clarify Vassar College’s academic integrity policy as it applies to the Computer Science Department. Furthermore, it provides advice on how to best navigate integrity issues in the context of the field, where source code authorship is a central issue.
The goal of our computer science courses is to promote understanding of the field, not competition among students. As such, students are encouraged to discuss class material, ideas, sample exercises, etc., with other students.
However, when it comes to graded work (e.g., programming assignments, programming labs, take-home exams), it is important to know when to collaborate and when to work individually. Taking shortcuts, while seemingly beneficial in the short term, will inevitably backfire later on. Conversely, the challenges of working through a problem will pay off greatly in future courses and postgraduate life, as they will enable students to be more independent in their work.
1. Policy
1.1. Guidelines for individual work
The goal of individual work is to assess the learning of each person in isolation. The guidelines are the following:
- The work submitted should be solely authored by the person submitting it.
- Help is to be provided, as needed, by the course’s staff (i.e., the instructor, coaches, or, in some cases, the department’s academic intern).
- Unless explicitly authorized by the course instructor, source code should not be shared with other people in any way. Note that showing code on screen, paper, whiteboard, or any other medium, counts as sharing, as does publishing code on public websites or repositories. This applies to all non-course-staff individuals, including current students, former students, and non-students.
- Cooperation with any other people should be limited to oral and whiteboard discussions. These interactions should focus on clarifying course content and general approaches to solving problems, but not concrete solutions to assigned work. This guideline applies to all other individuals, including current students, former students, and non-students.
- Using materials, including source code, provided by the course’s instructor or textbook is permitted.
- Consulting additional reference material, online or otherwise, to help overcome obstacles that are not core to the assignment, is permitted in some courses. However, even when it is allowed, their use should be cited. Copying solutions, whether obtained from online sources, other students, or anywhere else, is always prohibited. For additional course-specific guidance, consult the course syllabus, assignment handout, or the instructor.
- These guidelines apply unless explicitly specified otherwise by the course’s instructor.
1.2. Guidelines for partnered/group work
The goal of partnered work is to accelerate the learning process through knowledge sharing amongst team members. Therefore:
- All guidelines for individual work still apply, but now at a team granularity, e.g., no sharing of code between teams.
- Sharing code and knowledge amongst partners is not only allowed, but encouraged.
- Each group member must actively contribute to the work in accordance with the guidelines specified in the assignment handout or course syllabus. Not collaborating with team members and then taking credit for the team’s work is equivalent to copying it, and therefore constitutes a violation of the integrity policy.
2. Frequently Asked Questions (FAQ)
Question: My friend took the same course last semester. Can I show them my code and have them coach me?
Answer: No. See individual work guidelines #3 and #4 in Section 1.1. You may discuss general problem-solving approaches orally or on the whiteboard, but no code sharing should occur – in either direction. If you need someone to look at your code to help you, please ask the course staff for help.
Question: There is something I want to do, but I don’t know whether it goes against the integrity policy.
Answer: When in doubt, please confirm with the course’s instructor before proceeding.
Question: Can instructors really tell whether code was copied just by looking at it?
Answer: Quite often, yes. Experienced eyes can tell – even when you try to rewrite (paraphrase) the code. Additionally, there are effective software similarity detection solutions available for instructors to use, e.g., MOSS.
Question: What about help figuring out a syntax error? I have to show someone my code.
Answer: Ask a coach or the instructor.
Question: I want to share code I’ve written for a class with a prospective employer. Can I upload my code to a public repository?
Answer: In general, please set up a private repository to prevent misappropriation by third parties (see individual work guideline #3 in Section 1.1). You are not allowed to publish assignment code on public repositories unless explicitly authorized by the instructor. When in doubt, please check with your instructor.
Question: I understand that I can’t share my solutions, but can I share test cases with my classmates?
Answer: Please check with the course instructor – sometimes test cases are core parts of the assignment that are meant to be designed individually.
Question: While working on an assignment to implement a polynomial using a linked list, I looked up a Java method to help me sort the list. How should I cite this in my code?
Answer: Please refer to guideline #6 in Section 1.1. Please confirm with the instructor that consulting any sources other than the ones provided by the instructor is allowed. If you consulted materials outside of the ones provided by the instructor, please cite them in the code using a comment, or in the accompanying write-up (if one is requested).
Question: You’ve given us a lot of guidance about coding. What about written exercises, such as proofs, algorithms, and other problem-solving?
Answer: The same guidelines apply. For more information on policies covering written exercises see Going to the Source: A Guide to Academic Integrity and Attribution at Vassar College.
Question: What happens if I am suspected of an integrity violation?
Answer: When an instructor suspects that an integrity violation has occurred, they submit a written statement of complaint to the Academic Panel. As part of the panel proceedings, both the instructor and student are interviewed. The panel then determines whether the student is responsible and recommends an appropriate penalty to the instructor or, in the case of a repeat violation, to the college’s administration.
Question: What penalties are students who are found responsible for an integrity violation subject to?
Answer: Quoting from Chapter X of Vassar’s Going to the Source: “Penalties may include invalidation of the work, a grade of F for the course, loss of credit for the course, or a recommendation to the President for suspension or expulsion.”
3. Cautionary tales
Unfortunately, academic integrity violations are not unheard of in the Computer Science Department. The following examples refer to real cases that were sent by the Computer Science Department to the Academic Panel for resolution.
3.1. Past examples of academic integrity violations
- Students have copied homework solutions verbatim from websites.
- Students have copied homework solutions from current or former students.
- Students have collaborated (against the rules) during an online exam.
- Students have collaborated (beyond the limits imposed by the rules) on lab assignments.
3.2. Statistics
In 2019–2020, a total of eight computer science students were involved in an Academic Panel proceeding, all of whom were found responsible for violating academic integrity.
4. Other helpful resources
- Three Unique Academic Integrity Challenges in Computer Science, by Jonathan Bailey:
- Plagiarism in coding
- Ownership of works created
- Changing Industry Standards
- Originality in Coding, by Jonathan Bailey:
- Coding is an art form / importance of attribution
- Plagiarism and Programming: How to Code Without Plagiarizing, by Jonathan Bailey:
- “Part of this is that programming, in many ways, is still a new form of creativity. While we have centuries of discussion surrounding plagiarism and the written word, programming has far less history as a means of communication and it doesn't have the citation standards that we do with research papers.”
- Carol Edmondson. 2007. “How to fail a programming assignment”. SIGCSE Bull. 39, 2 (June 2007), 54–56. DOI: 10.1145/1272848.1272884