How to Catch a Cheater

Update: I wanted to explicitly mention that these homeworks were basically puzzles, which is why Googling was off-limits.

Update 2: Thanks gzak for remembering the actual name of the problem. It’s “Finkleberg’s 101 Game” and a copy of the actual homework is here.

There’s a story making its way around the web about a professor catching 1/3 of his class cheating and the fallout from it (everyone retakes the midterm, people who admit to cheating have to take an ethics course). It reminded me of something one of my professors at Carnegie Mellon did in one of my Freshman year CS classes. This is a from-memory recount of it, exact details are probably slightly off.

For context:

  • The early homeworks in this class were basically puzzles, where if you’ve seen the style of problem before you more or less knew the answer. The goal was to expose us to these types of problems and teach us how to think them through properly.
  • We were explicitly told that searching online for answers to homeworks was forbidden.
  • One of our last homework’s problems began with something like “Commonly referred to as The Glorblar Problem, …” (I don’t remember the actual word he used, it seemed completely plausible)

We get to class one day and wait for the professor to start speaking. Today he just starts running through slides silently:

  1. “As many of you know, one of my hobbies is catching cheaters”
  2. A picture of the last homework with the phrase “The Glorblar Problem” circled
  3. A screenshot of Google with “The Glorblar Problem” in the search box
  4. A screenshot of the Google results, with the domain of the first result (which had the problem and correct solution) circled
  5. The whois result for that domain, with the professor’s name circled (you can hear a collective gulp as half the room realized what was coming next)
  6. The apache logs from the webserver, along with blurred-out reverse IP lookups for the entries

Then he started speaking. He told us he had access to the login records from the school’s public machines as well. Anyone who Googled the result should confess and take a 0 for the homework, otherwise he would report them to the dean and they’d fail his mandatory class.

A ton of students confessed. A lot of them were sent the link from a friend and many claimed not to have used it, but nobody could deny that they were caught cheating by the letter of the law.

The moral of the story is don’t fuck with Luis von Ahn, he will wreck you (no, I wasn’t one of the students who cheated, but that was one of the more impressive hacks I’d seen during college).

tl;dr – My professor made a honeypot for cheaters by planting a Google bombed phrase in his homework.

22 responses to “How to Catch a Cheater”

  1. I still prefer giving students problems that require more than mechanically repeating what someone has done before – the real genius is in the logic, not in the data. 😉

  2. Alex Greene says:

    It’s called a shibboleth. It’s like the fake streets the Ordnance Survey put into their maps to catch out forgers who might want to knock off the OS’ work as their own.

  3. Lucas says:

    He didn’t allow you to research the problem online whatsoever? That seems ridiculously old-fashioned. He ought to design the exercises so that reading about the subject online doesn’t help you cheat instead. Online research is a natural part of pretty much all work I engage in, and this is true for most, if not all, IT disciplines. And I see no reason why it should not be so for any field. The purpose of the internet is information propagation, and teachers as well as students should embrace this fact, not fight it.

  4. gzak says:

    I believe it was called Finkleberg’s 101 game, at least when I took the class. Maybe he pulled the same trick with a different problem several times. I remember thinking “this is such a googleable problem” because of the peculiar name so I actually assumed that a google search for the name would be a honeypot trap. My assumption proved correct.

  5. gzak says:

    Also, given the other comments here, it should be noted that the /only/ reason this problem was at all googleable was because of the very specific name he invented to google bomb the problem. It was not otherwise some well-known, searchable problem. That was the beauty of the hack.

  6. […] much of them technologically based and designed to catch people in the act.  In other words, they were about people trying to play the game better than the best student-cheaters do.  I gave another idea: “Why not assign work where you […]

  7. James Brewer says:

    This is the funniest thing I have heard today. If I ever become a professor, I will definitely make sure to do this to my students!

  8. jon says:

    When I was in 7th grade we had a computer class with assignments in BASIC. Several of us would copy the solution from the ‘smartest’ kid. Unbeknownst to us the teacher would run diff against all the homework submissions and give all 8 people zeros who had the same program (typos made it sort of funny). Sad thing is often we would steal the program but the author would still get a zero.

    Then I found a utility to renumber programs and thus obfuscated my cheating. The cool thing is now I do the same thing but with FOSS so it isn’t cheating anymore :)

  9. MysteryTroy says:

    That’s epic. I love how people said they were sent links. Haha. Nice excuse.

    I think you may have learned more than CS from that class.

  10. Awat Saha says:

    Ethics class!?? Anyone really believes that none of them knew that cheating was wrong? Ethics can’t be taught. It’s called conscience.

    Ethics class: a way to make the wrong things that you do look “good” to everyone else!

  11. Andreas Fuchs says:

    While the hack is great, I don’t think the professor was catching cheaters, but merely those who would not obey his orders blindly. Here I was thinking that not allowing people to use the web is no longer feasible. It seems that it is, however, if you combine it with power and threats. Nice political statement there, prof.

  12. xyz says:

    The Carnegie Mellon professor should put more effort in teaching and not wasting time in some stupid honey pot. Also the UCF professor and staff should get off their lazy arse and write new exam questions rather than relying on a question bank. How about an ethics class teaching the university staff not to be lazy and do their jobs properly!

  13. Innocent Bystander says:

    Given research that shows that almost everyone has *no* skill in detecting liars (see eg the research by Paul Eckman), I used to use a similar technique to find out if people were honest. Shortly after meeting them I would give them an opportunity to be dishonest in a small way. I would then file the outcome. Very useful.

    It could be a simple thing like asking them a question I already know the answer to, when the lying answer would be to their advantage. This is easy with salespeople, eg “Does your product have feature X, which is very important to me?”.

    I found that there are a lot of dishonest people. I also found that religious people are no more likely to be honest than the rest.

    By the way I somewhat question the premise of the original story about lying. The students were “caught” working their way through known questions, and the professor had said he would not use known questions – he made up his own. He got caught reusing old questions and blamed the students.

  14. foo says:

    Cheating is bad but manipulating a class is alright I guess. I would have snuffed that prof, no excuses.

  15. Yoric says:

    Essentially, as a Univ teacher, I did the same thing, except the answer was also absolutely unbelievable.

    Only 3 students out of the 28 who took that test actually returned the correct answer…

  16. Niels says:

    University courses should teach students how to solve problems. If you can google it the problem is dumb and boring. University shouldn’t be like that I would also google it (and I’m a lecturer). Actually I would love to see more students that check what exists before starting to reinvent the wheel.

  17. GPG says:

    What the professor is trying to do is get people to _think_ about the problem and possible solutions, not just do a look up and grab what may or may not be the right solution. This is a problem in the real world as well, not just academia, where solutions from some website are just grabbed and jammed.

    The other thing to remember is that the author here is talking about a basic 100 level CS class – build the basics first THEN get creative – without a solid foundation one can not build elegance.

  18. Hung says:

    Luis von Ahn is so awesome! I saw him give a talk about ReCaptcha once.

  19. Alex O says:

    Though I agree with some comments that the internet is a valuable tool for problem-solving, the point of homework assignments is to develop your own reasoning skills, not to solve the problem. For example, some of my classes allow us to collaborate on assignments. I always find I so much better later on tests and in understanding the material if I solve the problems alone first. If one of my friends says “Oh look at this elegant solution” I can usually immediately see how it is correct and solve the problem, but I didn’t really learn how the answer was derived. I imagine it’s the same with elegant and correct answers from the internet.

  20. 1. Took me some time to twig this. Simply count the pepperoni in alternate slices. Only eat slices from the superior set. Your friend is forced to eat slices from the inferior set.
    2a. Player 2 places a 1 in cell 4. Whatever Player 1 does, Player 2 will win next move with either 1011 or 1101.
    2b. Player 1 places a 1 in cell 4. Assuming Player 2 doesn’t give the game away on his next turn, Player 1 next places a 1 in the free end cell. Player 2 can’t play on that side without giving the game away, but there are only two free cells on the other side so that just delays the inevitable.
    2c. Couldn’t do this one in my head, but I wouldn’t be surprised if 1999 turned out to be a win for the first player.
    3. If either pile contains an even number of chips, you win by throwing away the other pile and creating two odd piles. Your opponent is then forced to create one odd and one even pile. Eventually your even pile will be an empty pile and you win.
    4. The 2^n+1th ugliest Guatemalan will propose that the 2^(n-1)+1th ugliest Guatemalan will get the sample. He gets the votes of all the intervening Guatemalans too, because they can’t get enough votes for their own proposal and therefore face janitorial duty. So the 33rd ugliest Guatemalan is the first to get his proposal accepted and 17 do janitorial duty.
    5a. Simply put fungus in all the squares of one diagonal. (There are other ways, such as three corners of a 3 by 3 square.)
    5b. Fungus can only escape its containing box if there is another sufficiently close box of fungus. The perimeter of the overall containing box cannot exceed the sum of the perimeters of the original boxes. By induction, n starting squares are the minimum necessary.

  21. Daniel says:

    Jesus Christ, what a tool! Thankfully I didn’t have the very dubious pleasure of running into one of such “professors” at my university.

Leave a Reply