cheatR is a mini package to help you find cheaters by comparing hand-ins. It was developed by Almog Simchon and me in response to students overheard bragging about how an assignment in an first-year undergrad course was "super easy" because "we all just copied from each other!" (though this would later turn out to be an exaggeration).
Our idea was to compare each hand-in to all other hand-ins and see the degree of overlap between them. This was achieved using the ngram r-package to break each hand-in into a list of "phrases" and then to count how many times each phrase appeared across a pair of documents1. Finally, the percent of non-unique phrases was calculated.
Looking for CheatersWe then ran this algorithm across all 300~ hand-ins, and found that it seems like the
As is evident from this graph, there were some hand-ins with a 100% overlap! Zooming in to the 70-100% range, it becomes clearer that some students were mischievous!
Plotting the relations between this subgroup, it was apparent some students had become close friends over their first year...
|File names have been redacted.|
The After MathOther than the cheating students received a failing grade on their assignments, I think we can say that the war on cheaters has escalated - and we cant wait to see the new methods students will use for cheating next year!
If you also want to find cheaters, you can try cheatR (hosted on GitHub) for yourself by installing it in R and running it locally, by running:
# install.packages("devtools") devtools::install_github("mattansb/cheatR")
or you can try our shiny app!
1 We worked under the assumption that if a phrase's was found more than once, it was not because it was repeated within the same document, but becuase it apeared in both documents. This might not always be the case, but we found no "false positives" in our usage so far, so this might be a resonable assumption.