Address the originality of student work and emerging trends in misconduct with this comprehensive solution.
Deliver and grade all types of assessments from anywhere using this modern assessment platform.
This high-stakes plagiarism checking tool is the gold standard for academic researchers and publishers.
This robust, comprehensive plagiarism checker fits seamlessly into existing workflows.
Give feedback and grade assignments with this tool that fosters writing excellence and academic integrity.
Uphold academic integrity, streamline grading and feedback, and protect your reputation with these tools.
Improve student writing, check for text similarity, and help develop original thinking skills with these tools for teachers.
What is programming plagiarism? It is, simply put, using another person’s source code and claiming it as your own. Programming plagiarism has been around since at least the 1990s when MOSS (Measure of Software Similarity) was developed to check for plagiarism in programming assignments. In this post, we investigate not only the increase of plagiarism in academic programming coursework but the reasons for the increase and what educators can do to mitigate programming plagiarism.
According to a 1998 Wired article entitled "Catching Computer Science Cheaters," “Computer science instructors have guessed that on any given assignment, between 5 and 20 percent of the students have collaborated 'beyond what is reasonable.’”
A more recent The New York Times article, "As Computer Coding Classes Swell, So Does Cheating," published in 2017, confirms that programming plagiarism is an ongoing issue when it comes to academic misconduct on campuses. Bidgood and Merill state, “At Brown University, more than half the 49 allegations of academic code violations last year involved cheating in computer science. At Stanford, the alma mater of the founders of Google, Snapchat, and countless other internet wonders, as many as 20 percent of the students in one 2015 computer science course were flagged for possible cheating.”
The Ambiguity of Collaboration
Witness any piece of software meant for download or purchase, and it’s more likely than not it was built by more than one person. Additionally, the code within may even contain what’s deemed “open source,” which is free and available source code accessible to anyone for use, with or without credit, depending on the attached license. In the world of software development, collaboration is common and encouraged in ways that are likely unacceptable in a typical academic class.
In the realm of academic coursework, programming projects are often meant for individuals to complete for individual assessment. Code must be attributed--or perhaps be an entirely original work by the student being assessed. The reasons for this difference may be obvious: in assignments, students are demonstrating their knowledge of concepts to instructors and doing so with original ideas, not building something to sell.
In the world of open-source software, code is open for reuse--and even though there are different licenses and permission for reuse, students may be struggling with coursework and/ or be too tempted to use open source software for their assignments. Open-source software resides in online code repositories like Github, which may have answers to concepts and assignments posted by students who have previously taken the course, according to The New York Times. Another resource that students sometimes misuse is Stack Overflow, a question and answer site used by new programmers and experienced professionals alike.
Programming coursework, for the above reasons and more, doesn’t match the more collaborative nature of industry approaches to programming. As a result, this leaves waters murky for instances of student collusion and programming plagiarism, not the least of which is due to students having access to a large number of resources meant for industry software development. According to a research article "Eliminating Plagiarism in Programming Courses through Assessment Design," “Students tend to plagiarize if solutions to assignment [sic] can be easily obtained from Internet [sic] or similar sources” (Ngo, 2016, p. 873).
What can educators do to clarify and prevent what constitutes plagiarism in programming?
Unfettered digital access to online source code makes programming plagiarism particularly vulnerable to instances of academic misconduct. Source availability is plentiful and accessible to overwhelmed and stressed students. And the collaborative camaraderie of the software industry--ideal for building software--can be misleading for students being assessed for individual performance.
What we as educators can do is help students understand the purpose of learning and the guiding principles of academic integrity so that they can be prepared for careers with original ideas, original code, and a clear understanding of true collaboration.
In this blog post, we define and explore exam design principles--how can we use item analysis to increase teaching...
Educators (implicitly and explicitly) track data at many points of teaching--and the data you gather can then...
Jonathan Bailey examines the rise of plagiarism in computer science classes.
Turnitin blog posts, delivered straight to your inbox.