It's been 20 years since I had a student plagiarise my assignment and I still remember how mad it made me to be falsely accused of cheating.

This was before everything was automated - In our C++ course, we had weekly assignments that were done in the lab and we were expected to turn in a printout of the code (this will be important) along with a 3.5" disk with the source and executable. I never had any difficulty completing the assignments and would regularly help others debug their code.
One day, a student I had helped previously asked if they could just have a copy of my code so they could compare it to theirs. I declined as kindly as I could and they left, slightly dejected, but not nothing that would have been an immediate red flag.

Remember those printouts? Well, it was not uncommon for one to complete the assignment, prepare their printout and deliverables, then find a bug or two during some last-minute debugging prior to submission. So into the recycle-bin goes the printout.

Well, turns out that this particular student had seen me drop a copy of my code into the bin and they proceeded to retrieve it and copy the code verbatim... bugs and all... And they then submitted it while I was still preparing my corrected submission.

I was later called into the professor's office for a meeting with her and the program coordinator and accused of plagiarising the other student's assignment. I denied it, of course. They gave a long speech on the seriousness of academic integrity and said that if I came clean, they would go easy. I explained there must have been some mistake - you got the wrong guy! But they were quite confident with their findings, which they proceeded to share with me. To say I was shocked when presented with the evidence would be the understatement of the century. I knew immediately what had happened and I knew I could prove my innocence. But I was still beyond pissed. I was pissed at the student who cheated me, and I was pissed at the prof and admin for falsely accusing me.

Fortunately for me, I still had a copy of the old printout in my binder as well as on my network drive - conveniently labelled "v.1.0". I was also able to produce my corrected "v.2.0" and explained exactly where the bugs were and how I fixed them. I then suggested they speak to the other student and ask them to explain how their code works and if they could identify the bugs.

After being confronted with this new evidence, the other student confessed - they had taken my printout from the recycle bin because they knew I always got full marks on the code. But I guess they had also assumed I always got it right on the first try.

The other student was offered the opportunity to drop the class and re-take it next semester rather than receive an F. However, it was later revealed that they had been pulling the same stunt in other programming classes as well. I don't know much about what happened after that but I didn't see them around next semester.

I didn't expect an apology from the student - although that would have been proper. But the fact that neither the professor nor the program coordinator apologised, or even admitted any mistake, never sat right with me.

This article was a great read. Prof seems like he did his best. Fuck cheaters.