How I Inadvertently Failed Half a Computer Science Class


While at a wedding a few months ago, I met this mutual friend who’s a year or two younger than me. We got chatting, and it turned out he worked in tech too — and, funny enough, also studied computer science at Carleton. At some point, I asked him if he’d ever come across any of my old notes that I used to post on my personal GitHub. He wasn’t sure, but he messaged a buddy to ask if he knew who’s notes they used.

Later that night, he came back over and told me: “You’re totally that guy”. Apparently I helped him and his friend pass a bunch of their CS courses. He even asked for a selfie to send to his buddy for proof haha. Then he dropped the wildest part: one year, about half of the students in one of those courses were caught cheating and got academically disciplined — all because they used my notes! Wow, that’s wild, and serves them right!

How it all started

Throughout my CS degree, I made a habit of taking detailed notes and collecting all work in every class, saving assignments, midterms, projects, answers, and putting them up on GitHub. I was inspired by a student a few years ahead of me who did something similar. They had posted their LaTeX notes for some of the upper-year classes, and I figured I’d do the same. I’d always upload my stuff after deadlines passed so nobody could cheat off it, but that doesn’t stop students in future years.

Every now and then, I’d notice traffic spikes on my GitHub repo stats whenever a course I’d taken came around again. I always had this sense that people were using the notes as a study resource — and I honestly liked that idea. Over the years, I’d get the occasional email from someone thanking me for helping them get through a course. Those were always nice to read.

Hey Jon, I’m a second year student at Carleton and I just want to thank you for leaving your COMP 2402 Github repo public. I have high respect for people like you! Even though the assignments in your repo didn’t come in handy since our class didn’t have the luck of having Pat Morin as our prof, I still want thank you for posting them.

While in my fourth year there was this one time a friend told me to check out the bathroom on the third floor of Herzberg Laboratories — the main CS building at Carleton. Apparently, someone had written github.com/jonniesweb in big, bold marker across one of the bathroom stalls. I went to see it for myself, took a photo, and thought it was hilarious. I even posted the picture in the README of the COMP 2404 repo — which was the one getting the most traffic at the time.

github.com/jonniesweb written in a bathroom stall

Emails, Professors, and Cheaters

Eventually, a few other repos started getting more attention:

I’m a Carleton computer science undergrad and I noticed that you have your COMP 2402 work public. As it turns out, many of the assignment questions you had are the same as the current semester’s. I just wanted to let you know in case you’d rather hide it from students currently taking the course.

Including a request I didn’t expect. One day I received a cease and desist email from the professor that ran one of these courses for several years in a row.

Hello Jonathan,

I would like you to please remove your COMP2401 assignments from your public GitHub account: https://github.com/jonniesweb/comp2401

It’s still one of the top links when I google search “comp2401”, and many dozens of students have plagiarized your code and submitted it for credit over the past couple of years. Since the assignments themselves are my intellectual property and I own the copyright, they should not be posted without my permission.

Please let me know if you have any concerns or questions. Thank you.

My reaction? fuck ‘em. What a lazy professor. Just update your coursework! I do love the point about great SEO on “COMP 2401” though lol. This all stems from not updating the assignments, projects, or midterms between semesters, so my public notes were definitely being used by other students to get by in their class. I ignored the email, had a great laugh with friends, and thankfully, I was already graduated by that point.

Then there was another email, this time from a student who told me that the year before, about half of the 200 students in a particular course had failed because they were caught cheating using my notes. That’s insane, but it was the right call. Don’t cheat.

Hey dude. You don’t know me, but this post on reddit: https://www.reddit.com/r/CarletonU/comments/89n6cg/i_need_a_lawyer/

reminded me of the time I took COMP 2402 in 2014 and half of the students in my class got in trouble for academic fraud because they all copied the answer from the same github page. Idk if you ever saw it, but https://github.com/jonniesweb was one of the longest standing graffiti in the Hertzberg bathroom I’d ever seen.

Anyways thought you’d find it funny.

The subject of that Reddit post also made me laugh. When I took this foundational COMP 2402 course on data structures, the professor and his teaching assistants had this great automated grading system. For each assignment we would upload our Java source files to this system that would automatically run several test cases on it to grade whether we wrote the right implementation of a data structure. It was beneficial since we could get immediate feedback on whether our code was correct, and even had the ability to resubmit our answers multiple times until we got the correct solution. But also if you’re gonna cheat, the direct proof is there since everyone’s source files are all uploaded into the system.

One common theme during my times at Carleton was what I called the “culling of the herd” aka. the decreasing amount of students that remain in the program. So by fourth year you’re looking at a quarter of the number of students remaining. Academia is hard and not always for everyone. There’s plenty of good reasons for people to leave the program, but those who stoop low enough to cheat are missing the point of pursuing a degree and deserve to be reprimanded.

So what now

It’s been a few years since I have last received any emails about students taking these courses and using my notes. They’ve probably aged out of existence with new professors bringing their own content. What still survives though is the people who benefited. Years later while working at Shopify, I ended up hiring an intern for my team who was also attending Carleton for their Computer Science degree. We got on the subject of Carleton one day and turns out they definitely had used my notes during some of their past courses, and here they were, being an excellent member of the team. They made it through their full CS program and are now a successful Senior Developer. What a wild full-circle moment.