46

Last year I took a class where we had to work with a partner on programming assignments. Apparently someone's solution from this year has a 50% match with our solution from last year. I did not share my code with anyone but I would not be surprised if my partner did. What should I do?

Edit: I just talked to my partner and apparently he posted the code on Github so he could show a professor his previous work. But then he deleted it later.

Update: We talked to the professor and he says my partner and I will not get in trouble.

  • 52
    What is it that you are accused of doing wrong exactly? Your code is your creation so I don't see why you should not be allowed to post it on github. It seems to me that if anyone cheated it is the student who copied your code, not you or your partner. – Dan Romik Jun 7 '16 at 19:57
  • 10
    I am not following. How could you cheat? Your solutions is a year older. There is no way you could have copied... Do they suspect since there is a match there was a common source? Or do they suggest you sold it? You need to precisely define what "cheat" means in here. Accusation of plagiarism on your side is unreasonable and derogatory from the POV you present. So I suspect there must be more specifics to this case. – luk32 Jun 7 '16 at 22:44
  • 9
    Knowingly providing answers to a fellow student is considered cheating. Thus it is possible for him to have cheated, but it's also possible his partner did, or that it was copied off Github or even obtained by some other means. – Loren Pechtel Jun 8 '16 at 2:32
  • 5
    Smile and wave while they fail to prove you cheated. You have everything on your side including own your work and being allowed to do whatever you want with it including posting it on the Internet. – Insane Jun 8 '16 at 3:49
  • 10
    @LorenPechtel - That seems like a rather esoteric definition of cheating. More typically, the cheater is the one who benefits through deception, fraud, or other dishonest acts. I don't see how the original author of the code can be consider to be "cheating" by publishing their work. If a subsequent student gets a copy of the code and passes it off as their own, then that student has cheated (they're the one getting the benefit). And also the university should stop reusing coding exercises across multiple terms. But I see no scenario under which the OP can be considered to have cheated. – aroth Jun 8 '16 at 5:04
43

I am sometimes involved in panels that investigate unfair means. I am also in the position of checking my own students' code for suspected plagiarism, often by comparing code from a large pool made from the current and past submissions. There are several tools that assist with this, such as Moss and JPlag. I have experience with both these but there are others, and some that academics have made for themselves for local use.

It is quite possible, therefore, to get a match between a current student's submission and a previous student's submission without the lecturer or university knowing how that occurred. All they can do in this situation is to convene an investigation to determine the facts. Often these investigations are formal affairs, mainly to protect the interest of the students concerned and to ensure that the decision makers are impartial.

This is highly likely to be the position you are in. At the moment they do not know how another student came in possession of your code. If the investigation is organised properly you will be given the opportunity to explain your position, just as you did here. Most investigations should allow you to submit written and verbal statements. You should ensure you do this. I also suggest you seek advice from others who can assist you locally, such as a students union or student association or other student advisor. They will have assisted other students in the same position as you before and help you make the best of the procedure that you have become involved with.

Although it may not be your fault, at the moment the university does not know this. Help them to understand.

  • 5
    I'm not too familiar with these plagiarism tools myself, particularly for coding, but is a 50% match that high if you look over all past submissions? It seems to me that you should expect some "spurious correlations." – Kimball Jun 7 '16 at 23:42
  • Comments are not for extended discussion; this conversation has been moved to chat. – ff524 Jun 8 '16 at 4:52
  • @Kimball In response to your question: the number should never be used alone as evidence of cheating. Spurious matches are indeed possible. But the report should show where there is significant match with a single source. I assume that is the case here. – Jessica B Jun 8 '16 at 6:06
15

For someone possessing only the facts that the code you (plural) submitted last year and the code someone submitted this year have 50% overlap, here are some possibilities:

  1. You gave the code to the student from this year expressly for the purpose of letting him or her submit it as their own work. At most universities this would be a violation of academic honesty rules. In my undergraduate institution they can get you both for facilitating cheating, and for not reporting cheating when you are aware of it.

  2. The student got the code from you, and submitted as his/her own, without your permission. This seems to be the case you have here: your partner posted it on GitHub. This would also be the case where someone ask for your help on a homework and you send him/her something for reference, but not to allow him/her to copy.

  3. Both of you copied the code off of some forum, and you just happened to have found the same one because that's how Google's indexing works. In this case both of you would be guilty for plagiarizing, as you are both submitting others' works as your own.

You are being investigated because the University/instructor does not know whether it is case 1, 2, or 3 (or something else entirely). There's no need to freak out, since as many have said, your code is your intellectual property and unless it is expressly forbidden in your academic regulations you probably haven't done anything wrong by posting it on GitHub. What you need to do, however, is to convince whoever is doing the investigating that your situation is that of case 2 above. You do so by submitting evidence: tell them that you have never shared the code with anybody. Tell them that your partner had posted the code on GitHub to show a professor. Ask that professor to say something on your behalf (a simple "yes, so-and-so posted some of his previous work on GitHub for me to see") would be also quite good. It would be even better if your partner had saved the commit logs showing when the code was publicly viewable.

  • 6
    I agree with your answer (+1), but this opens a can of worms. Are you innocent until proven guilty, or do you need to prove your innocence? If the burden of proof is with you, there is no way to show that it was not on github, AND you provided your solutions to a friend. Also, honor codes tend to be written very broadly, leaving leeway to interpret them in several ways. Is putting a solution on GitHub "providing assistance where a reasonable person should know such assistance is not permitted?" (paraphrasing my grad school's 'examples of hc violations') Nasty stuff. – gnometorule Jun 7 '16 at 21:55
  • 2
    @gnometorule: the internet opened that can of worms some time ago. // To draw a really bad analogy with criminal proceedings: while one is innocent until proven guilty in a court of law, it generally does help your case if you can provide an alibi. // As to interpreting the honor code: not my job, and hopefully I won't have to serve on that committee anytime soon. But in the situation under discussion, the OP is certainly not his partner's keeper etc. – Willie Wong Jun 7 '16 at 22:30
  • 1
    What part of this contradicts "innocent until proven guilty?" That concept does not mean "immune to accusation," despite the fact that a mere accusation can damage the accused's reputation. – stannius Jun 7 '16 at 22:57
  • 2
    You passed over possibility #4: The 50% match is coincidental. There is also 50% not matching. While unlikely it is still possible that the project forced the code into certain shapes and so similarity becomes inevitable. I would want to look hard at the code from both submissions and see if it is a true match or just a superficial one. – O.M.Y. Jun 8 '16 at 3:14
  • 8
    @O.M.Y.: Many years ago I had written a short essay for an assignment, where I actually constructed every phrase completely on my own, but for some baffling reason there was a phrase of 5 or 6 technical words that so happened to match exactly a phrase in some article I had never even seen before, and the plagiarism tool found it, along with those pesky citations like you said, making my total similarity 25% despite me not copying a single word from anywhere. – user21820 Jun 8 '16 at 4:28
5

This happened to me while a student at Georgia Tech. I posted some code (that incidentally included an active lab report) on github because a potential employer wanted to see my work. I posted it, not realizing that it defaulted to being publicly accessible. Another student found my homework assignment before the due date and submitted it as their own. We were flagged for cheating and the other student pled guilty. I did not accept the plea deal and was eventually found guilty of:

  1. Unauthorized Access - Possessing, using, or exchanging improperly acquired written or verbal information in the preparation of a problem set, laboratory report, essay, examination, or other academic assignment.

Which, quite frankly, doesn’t make any sense, but the decision was upheld on appeal so I had no further recourse.

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.