So I'm in a very strange situation.

I got a mail that said that there is a suspicion of cheating in my Python coding exam. It said that I and two other students have very similar answers on the test so I contacted these students and compared our exams. It is very strange because this was an exam for basic Python and the questions are not very hard. The thing is that we had similar answers on a couple of questions but there are not a lot of ways to answer the questions.

I don't even know the other two students. We will have a group meeting this week and I have no idea how this will go. How can I prove that I did not cheat?

  • 10
    Any cheating detection system, automated or not, needs to have the property that it produces zero false positives. The meeting is part of that system and should assure that you aren't accused wrongfully. But it isn't well understood that a system permitting no false positives will almost invariably produce some false negatives. But the consequences of error in a cheating detection system are so asymmetrical that such a rule is required. – Buffy Nov 18 '20 at 16:15
  • 2
    Don't worry, this situation is much more common that you think. – Dmitry Grigoryev Nov 19 '20 at 13:19
  • 23
    If the tests are about the basics, then whoever came up with the idea of using a plagiarism checker must be a complete fool. There aren't all that many ways how someone can solve very basic problems. "There are two integers, a and b, your task is to exchange their values. Your solution is not allowed to even slightly resemble any of the millions of previous solutions." – vsz Nov 19 '20 at 14:06
  • 3
    Does this answer your question? Accused of cheating due to the time accounted by Blackboard – OldBunny2800 Nov 19 '20 at 16:29
  • 9
    Something seems odd about this. Telling you which students you were similar to gives away some potentially sensitive information - I'm not sure why it would be included. – Lio Elbammalf Nov 19 '20 at 19:13

Don't panic. If you did nothing wrong, all you need is to explain what you did and everything shall be OK.

Based on some similarity metric (computed automatically or spotted by a naked eye), your lecturer or teaching assistant marked your work as a potential case of collusion (working together on individual exams). Now you are invited to a meeting, whose purpose is simply to investigate what happened. As a lecturer, I attend them routinely (from the other side than the one you find yourself in), and I can tell you that 50%+ of cases are dismissed immediately.

During the meeting, you will be asked a number of questions. One of them is likely going to be "did you work together with someone"? or "did you share your work with someone"? Answer honestly and provide details when they ask you to. Don't stress out and try to remain calm and polite as much as possible. If you need support, you usually can bring a student union representative or a personal counsel with you.

Don't overthink it. You are not accused at this stage, the misconduct is only suspected by the system. This meeting is not a trial, it's more like a routine checkup. There can be similarities between you work and the work of other students, but as you said, if the problems are simple and straightforward, the similarities are quite possible.

  • 2
    Is it common to be asked to solve exam questions during the meeting? – GGG Nov 18 '20 at 16:07
  • 31
    "Don't stress out" is easier to say than to do in an inherently stressful situation. Sadly, it is, indeed, what you need to do. – Buffy Nov 18 '20 at 16:07
  • 7
    @GGG I worked in three different universities in the UK, and no, I don't think I ever heard of anyone doing it. But a student is expected to be able to recognise their exam script among others, to navigate through (e.g. find an answer to Question 3) quickly, to read their handwriting for the panel, etc. Obviously, as the author, you are expected to read your script confidently and understand it well. – Dmitry Savostyanov Nov 18 '20 at 16:16
  • 4
    @VladimirF Some do, but most do not. I am not convinced the lawyer would be worth their fee during such talk. As I said, this is not a trial and if you are asked about Pythagoras' theorem, pleading the fifth will not really help your case. But IANAL, and they may give you a different advice. – Dmitry Savostyanov Nov 19 '20 at 10:47
  • 5
    @origimbo Unfortunately they inherently are adversarial. It's just really easy for the teacher's to not think so since they've got no skin in the game. With most of teacher's/professors I've known you certainly are better off with a meeting like this than a full blown representation and paperwork thing. But there's that 10%-20% who are anything but impartial (I don't want to be rude here so I've chosen my words carefully). – DRF Nov 19 '20 at 16:04

Most often than not, when programmers face a common problem, a common software pattern will emerge.

In this case all you need to do is to explain your rationale and defend your choices. If you can explain the rationale behind it, we'll have a better consideration of you and the case will be dismissed right away.

Note: This belongs to comment's section. Unfortunately I don't have enough points to comment under @Dmitry Savostyanov's stellar answer, hence this

  • Thanks for your answer, just one question. What do you mean with rationale? – GGG Nov 19 '20 at 10:57
  • 4
    @GGG rationale means "why you did what you did". What reasons do you have for using this method or technique, when asked about it. – Jontia Nov 19 '20 at 11:17
  • 12
    One of official design principles of Python even is: "There should be one-- and preferably only one --obvious way to do it." python.org/dev/peps/pep-0020 – tsttst Nov 20 '20 at 0:28
  • 3
    @tsttst But is OP Dutch? :) – John Coleman Nov 20 '20 at 3:04
  • 1
    @GGG I suspect he/she meant being able to explain your reasoning around the code you wrote. I wouldn't be too worried about it though - I have interviewed many developers for jobs and most are not the best at communicating what they did, so your teacher shouldn't expect much. If you teacher gives you problems, I suspect that appealing your situation to the next higher level (dept. head or dean) will get you acquitted. As mentioned earlier, the teacher is really out of line checking intro coding assignments against plagiarism since there are often so few ways to solve these types of problems. – java-addict301 Nov 20 '20 at 19:02

While common problems have common solutions individual programmers leave individual fingerprints which get copied and can be the hallmarks of cheating. So, for instance: int a ,b; is distinct from int a,b; and int a, b; to a plagiarism program but identical code.

Never copy-paste other sources because you will bring these tell-tale fingerprints across.

It's likely that these non programmatic tell-tales and style choices are what mark your code as suspiciously similar.

  • I had a colleague whose code was identical to mine. The way I found it was looking at some code in our common project, and thinking "I wrote this, but I can't remember writing it". Any plagiarism detector would have flagged both our code up. – gnasher729 Nov 21 '20 at 14:19
  • If one follows a style guide (like this one python.org/dev/peps/pep-0008/…) their code will have identical "fingerprints" to anyone else that also does, regardless of whether they write it or copy-paste it... This indicates nothing. – JS Lavertu Dec 15 '20 at 16:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.