Detecting Plagiarism in ICS
Plagiarism is a recognized problem at UCI and nationwide, and our classes in ICS are not immune. Below is a summary of some of the issues to consider and services available.
Why Plagiarism Deserves an Instructor's Attention
We don't like to think that our students might try to get credit for work they didn't do. But it happens. It's not that students come to the university with the intent to cheat their way to a degree. But sometimes things are harder than they anticipated—maybe because they planned poorly, maybe because they weren't well prepared, maybe because high school was easy for them and hard academic work is a new experience. Most often, students cheat when they're up against a deadline they can't meet and they resort to a dishonest shortcut. That doesn't make the cheating okay, but it does suggest that we may be able to prevent cheating sometimes, and in cheating cases, an ounce of prevention is worth a pound of cure.
Students will be less likely to cheat if they feel they can ask for help when they need it, if assignments come with periodic milestones so students realize sooner that they're having trouble, and if due dates aren't late at night when students' judgement is at its worst. Students are also less likely to cheat if the instructor knows their name and if they feel as if the instructor actually cares about how they're doing in the class.
Instructors may be tempted to ignore cheating, since detecting and reporting it takes some time and effort. But that's a poor strategy. For one thing, students in a class will know when there's cheating going on, and if they don't think the instructor cares about it, they'll lose respect for the instructor and the value of the course. For another, instructors should want the grades they give to be an accurate measure of the students' actual mastery of the material. And finally, if cheating is believed to be widespread, it lowers the reputation of the entire academic program.
Detecting Plagiarism in Code
To detect plagiarized code, the most popular tool is the MOSS system. (If you already know you want to use MOSS this quarter, skip to "Getting Started" below). Using MOSS involves packaging up students' solutions, submitting them for automated examination, and reviewing the results.
Here's a bit of background about the process: There's a long history of automated systems for detecting plagiarized code. They're useful for detecting "equivalence classes" of programs, though of course a trained human eye still needs to review what the system turns up before any accusations are made.
Another characteristic is that these systems don't work well for short, highly constrained solutions. If there's not much room for variation in the first place, similarity may not indicate collusion. Thus, assignments with solutions shorter than about two pages of code aren't usually worth checking with these systems.
The MOSS system runs at Stanford and is managed by Alex Aiken (who was Alex Nicolau's student). There are details at http://cs.stanford.edu/~aiken/moss/ . It works for programs written in C, C++, Java, Pascal, Ada, ML, Lisp, or Scheme. Its results come back as a web page that highlights suspicious pairs and eases navigation to the similar sections of code. MOSS can also eliminate from consideration common code supplied by the instructor.
Detecting Plagiarism in Prose
Another service, at www.turnitin.com, attempts to identify plagiarism in English prose. UCI has an agreement with Turnitin.com that allows UCI faculty unlimited use of their service. However, this agreement requires that students sign a form with some specific provisions. For details, see the page Turnitin.com in ICS.
If you'd like to try MOSS, go to the MOSS web site and follow the instructions there. Leave a little time in advance, since you need to register for an account.
If there was common "starting point" code that all the students used, have that available. If you have students' solutions from previous quarters to a similar assignment (Checkmate, for example, never deletes anything), you might consider including those past solutions in your MOSS run to detect students who submit their roommate's solution from last quarter (though look out for students repeating the class who resubmit their own work).
Also, it would be a good idea to mention to your classes that you'll be using a tool that has often detected copied code in the past. This may discourage some improper collaboration.
(What happens if guilty parties are identified, though, is a subject for another discussion. The ICS Associate Dean for Student Affairs, the ICS Student Affairs office, or David Kay can provide advice on that issue.)