Acting as a Teaching Assistant and wanting to catch cheaters, this VBA application compares the meta data from an archive of previous class' files with the current class' files, and outputs a list of files that are suspected to have already been submitted.

[ ----------- 100% ------------ ]

Status:   Completed

After working as a Teaching Assistant for the same introductory class for two quarters, I started to find assignments that looked familiar. It was frustrating feeling like students were able to cheat on assignments with no repercussions (mostly because we had no way to tell who was even cheating), so I decided to create a program to help solve this problem.

Originally, three of the class assignments were typically done in Microsoft Office applications (Word, Excel, and PowerPoint). These files have extra meta data embedded in them which stores information including Date Created, Date Last Saved, Original Author, and Last Saved By. A quick and dirty way to rank the students’ files would be to compare these fields using Dsofile.dll, and that’s exactly what I did!

Here are a few rules that we can use to rank the assignments for being potentially plagiarized (in order of most to least severe):

  • Date Last Saved is earlier than Assignment Due Date
  • Date Created is earlier than Assignment Due Date
  • Original Author is different from the Last Saved By author

And we can also compare each file to every other file to see if any of these conditions are met:

  • Original Author matches a previously created file
  • Last Saved By matches a previously created file
  • Date Created matches a previously created file
  • Date Last Saved matches a previously created file

To determine if any assignments might be plagiarized, we assign weights to the various rules and then only display the names of the students who score a value above some threshold. While this is not a fool-proof method for catching cheaters, it certainly is a start.


There are a few things to note: these extra fields aren’t always stored in the files and they can be stripped, the date fields could be off if the clock on the student’s computer is set incorrectly, multiple students share the same name so the authors can be false hits, and students might work on multiple computers for the same assignment so the authors may not match.

Additionally, any student that this program suspects of cheating needs their file to be compared to the original file because it is certainly possible for a student to use another student’s file and change 100% of the content.