I am a computer science major and I was given a zero grade for having identical code to another student. I did not copy or share the code with anyone. The professor warned us that copying code from online sources or having overly similar code to another student will be punished. However, I did not copy or share the code and the professor don't seem to trust me because the code was identical. What can I do to convince/prove that it is my own work?
-
4How many lines of the code?– NobodyCommented Jan 4, 2023 at 6:14
-
He did not specify but said "code identical to code submitted by another student".– JackCommented Jan 4, 2023 at 6:19
-
How many lines you wrote?– NobodyCommented Jan 4, 2023 at 6:20
-
1Do you have any explanation how your code could be identical to another student's without you violating any rules? Same source (yours is cited)? Could they have had access to your code? Copied the files or photographed the screen? Is the code so absolutely obvious that only one way exists to write it (with 17 lines, this is difficult to believe)? Without a plausible route for incidental (from your perspective) match I think you will have a very difficult time to prove your innocence.– Captain EmacsCommented Jan 4, 2023 at 12:36
-
1You wrote 17 lines of code. We don't know how many lines are supposedly the same. With 17 lines of simple code, it is quite possible to have 5 or 6 identical lines. I actually had a colleague once whose style was quite exactly the same as mine. The first time I noticed was looking at some code, it looked exactly as if I had written it, but couldn't remember it. With this guy, both of us writing 17 identical lines of code would be not unusual. Emacs: In this example, there were thousands of ways to write the code, but we two would tend to write it identical.– gnasher729Commented Jan 4, 2023 at 15:15
2 Answers
This sounds like exactly the sort of situation where university appeals processes, or "grievance" processes as they are sometimes called, can help. Whether they would help in your situation, or merely strain relationships, is something only you can judge. In deciding whether to initiate an appeal, I suggest you consider:
- The likely university-wide effect (if any) of your professor believing that you cheated.
- The value of the assignment for which you have received a 0 grade.
If you are at risk of being suspended from the degree course by the university administration because of your professor's belief, then that would weigh in favor of a rapid appeal. If your professor's beliefs have no carry-over effect, that might weigh against an appeal.
If the assignment forms a significant part of the course grade of an essential course, that again weighs in favor of an appeal. A small proportion of overall grade, or an irrelevant elective course, would weight against it.
Lastly, there are the consequences of an appeal itself, which might not be to your liking, even if you succeed! For example, it might sour your relationships with the professor, and that might be important to you.
In the end, only you can judge.
There is one last thing, which is actually a question: Is there any possibility that the other student saw your work and copied it? You might be able to judge that if you are in a position to know the emotional reaction of the other student to having likewise received a 0 grade.
There are basically three possibilities here assuming you are telling the truth:
- This really is just a big coincidence
- Your friend copied you due to your negligence or with malice
- You both inadvertently copied off of someone else
For case 1, the likelihood of this depends on multiple factors. First and foremost, the programming language in question. For a more verbose language like C or Java, 17 lines of duplicate code is possible. For others, especially ones with in-line operators (e.g ternary operators), it becomes less feasible, although not impossible. This also depends on the question itself, is it a straightforward question like "Write quicksort" or is it more open ended like "How to rate limit HTTP requests" (although I'm more inclined to believe, given it is 17 lines, that it is probably the first case).
These are all factors that you can potentially use in your defence. Verbose languages (or languages with very strict syntax) makes your case more compelling. Verbosity naturally increases the amount of lines necessary to express a certain piece of logic. In other words, a 17 LOC (line of code) in Python can do much more than 17 LOC in C. If your question is closed ended, then naturally there would only be a couple possible solutions, meaning duplicate solutions are much more likely.
For case 2, which personally I think is much more likely, is that you accidentally left your laptop open (as an example) or your friend somehow hacked your laptop. I'm more inclined to believe its probably negligence, which isn't necessarily good news for you because most University will still punish plagiarism out of negligence, although you will likely get a much less severe punishment (usually warnings for first offenders). If its a malicious act, like hacking, then you probably need to contact your University's IT department to gather proof.
For case 3, which is a real possibility. I would advise you to really think about whether or not you may have accidentally formulated your answer around an already established piece of code. This happens all the time. In this case it really depends on if you were required to cite your sources (which some courses actually do mandate, especially for StackOverflow copying). This would probably fall under improper citations (if it is the case) and again you would probably be lightly punished.