1. What is source code plagiarism?
Source code plagiarism—otherwise known as programming plagiarism—is, simply put, using (aka copying or adapting) another person’s source code and claiming it as your own without attribution.
2. How does it manifest in student work?
In the software development industry, work is often done collaboratively in groups with the end goal of building a piece of software meant for sale and consumption. Because of the collaborative nature of software development, open-source code (code that is allowed for reuse by other programmers) is very accessible for sharing. Such code is available on online code repositories like Github.
Such industry collaboration contrasts with classwork, where work is meant for individual assessment to measure student learning. What is meant to be a resource for professional developers may be a temptation for students struggling with coursework.
Other ways in which source code plagiarism manifests is through the usage of question and answer sites and other resources that provide access to code that isn’t the student’s original work.
Bottom line: stressed and struggling students may feel compelled to take short-cut solutions on class assignments. Furthermore, the proximity to resources inherent in learning to program can be tempting. According to research, “Students tend to plagiarize if solutions to assignment [sic] can be easily obtained from Internet [sic] or similar sources” (Ngo, 2016, p. 873).
3. How does source code plagiarism impact academic integrity?
As with many other instances of academic misconduct, source code plagiarism results in loss of learning.
Since past academic dishonesty is likely an indicator of future workplace dishonesty—it is also a concern to help correct students who have engaged in source code plagiarism so that they fare better in their career. According to research, “There appears to be a strong relationship between self-reported involvement in prior academic dishonesty (high school) and self-reported involvement in present dishonest behavior (college and workplace) of engineering students. This finding supports our second hypothesis that past deviant behavior is an indicator of future deviant behavior” (Harding, et al., 2004). Even if students’ future career tracks will involve collaboration and sharing of code, understanding principles of integrity will serve them well in their future careers and prevent future workplace misconduct.
4. Ways to mitigate source code plagiarism
Programming or source code plagiarism may be hard to distinguish despite the existence of detection software like MOSS (Measure of Software Similarity).
Assessment design and explicit instruction are the best holistic approaches to mitigate source code plagiarism. Explain the difference between collaboration and collusion to students and state clear rules on academic integrity.
Provide explicit directions on when and how to use outside code, including source code attribution, which is a best practice within the industry of software development.
Nurture feedback loops and strengthen student-instructor relationships with frequent, low-stakes assessments that provide data insights into student learning. Students who feel supported and seen are less likely to engage in academic misconduct.
These and other pedagogical approaches can support original work and uphold student learning outcomes.