26

This would depend on context, in my opinion. Given you know the identity of both the original author and the plagiarist, consider: Did the original author facilitate the plagiarism, or was the code plagiarised without the original author's knowledge? Can you tell? Clearly, if the original author was the victim of someone peeking over their shoulder, or ...


15

I'm presenting this as an answer to preserve it. It isn't a direct response to the question, I know. Let me draw out a conclusion from @BenI.'s answer. The plagiarism "problem" in education seems to flow from a (IMO) misguided notion that all student intellectual growth must flow from that individual only without any collaboration whatever. I used to ...


13

I have a somewhat different suggestion. Make every infraction an opportunity for learning, not a punishment scenario. Young people (& others) mess up. They get into "situations" and make dumb decisions. It is in the nature of growing up. You can't (severely) punish young people for making young people mistakes. And any punishment that doesn't stress ...


10

As outlined in my syllabus, both the contributor and the receiver have committed an integrity violation, and both will be punished. For me to feel that this is fair for everyone, I make sure to be very clear of the rules early in the course. I have a section in my syllabus that directly addresses "helping" other students. I have a list of actions that ...


9

First of all, there is no straightforward, accepted answer to this question. Reasonable people define plagiarism differently, and there will be students who will play around at the very edges of what you consider to be plagiarism no matter where you hold that line. My answer is in the context of a classroom teacher in the USA. The single most important ...


8

I have been responsible for using performing and evaluating tools for detecting software plagiarism in my academic department. There are several published review articles in the scholarly journals. One such report Culwin, MacLeod & Lancaster, 2001, UK JISC, "Source Code Plagiarism in UK HE Computing Schools, Issues, Attitudes and Tools" gives an ...


6

I assume that somewhere you discuss plagiarism and the social good of respecting the IP of others. If not, plagiarism detection is just a "gotcha" that doesn't really benefit the students or your relationship with them. The following suggestion is offered tentatively, and might require tuning. It might also require research on the effect. If the tool is ...


6

I let the kids cut and paste code but with the following caveats: They must cite the source (be it a classmate, another student or a site like StackOverflow) There has to be enough of their project that is their own code to show mastery of whatever the assignment's all about At times, I encourage them to use others code (and libraries) to enhance their ...


5

To plagiarise, all one has to do is not be honest about where the work come from. It matters not how much you copy, however if you copy a very small amount without any references, then this is probably ok. This abstract seems not to be, mainly, about plagiarism. But mainly about learning (plagiarism is about assessment). Detecting pupils that are focused ...


5

Two answers are possible: a direct answer to the explicit question(s), and a response to the implications for education hinted at by the excerpt. The written questions When does excessive collaboration become plagiarism? It never can. [W]here should the line between excessive collaboration and plagiarism be drawn? Such a line cannot exist. Why? ...


5

There is another way to approach this sort of problem, but it requires that you have the authority or power to modify the basic structure of the course. I actually prefer to structure a course in such a way that this sort of problem can't arise. To do this requires that you encourage or even require students to work together, either in pairs or in larger ...


4

I think it is fine, as long as it isn't an essential part. It saves time, and the students can learn from professionals, and can learn new ways of doing something that they never would have thought of. Also, it helps you become a more efficient coder, and if you borrow someone else's functions that is more efficient it makes the rest of your program faster, ...


4

In my class, the only rules I set are that kids may not give code to each other, either directly or indirectly. I also set a "rule of thumb" that if student A needs help from student B on a portion of a lab, student B must have finished that portion, and may look at student A's (relevant) work, but that A may not look at B's work. Part of the logic here is ...


3

If your school does not have a code of conduct, then you need to write a set of understandings that you can give out to your classes. Ultimately, there are no fair responses without some kind of memorandum of understanding. In there, you will outline what you consider to be cheating, and where, exactly, the lines are. If you want to take a slightly ...


3

It depends on the situation and your school's policy on academic integrity. At my school, it clearly states that authors may not knowingly permit other students to submit their work. You may want to ask your school to update its policy to include a clause like this. You will have to determine if authors know if other students submitted their work. The ...


3

To kind of back up comments from others, I'll share something that happened to me. I wrote an assembler for the 6800 for a software tools class, about 1985 or so. I put lot of work into it, partly because I have a bad habit of trying to do too much, and partly because I had a 6800 protoboard I wanted to be able to write programs for. One of the TAs for the ...


3

Having been in a similar situation myself as a student (once upon a time) might I suggest a different strategy - one that doesn't immediately punish either party? Consider Jeutnarg's comment above about source control. Firstly, you absolutely do not want to encourage budding learners to be secretive with their code as that leads to far greater problems down ...


2

I've been on the end that my work was copied. Or rather, I sent my solution to a classmate (as I needed help with a bug), discussed it, and later found out that another classmate had exactly the same code as I sent to the first classmate, with the same comments, bugs and variable names (which, knowing me and my bad naming standards/hygiene at the time, would ...


2

I would recommend the same punishment for each party, for several reasons: If you get two near-identical projects, it can be nearly impossible to determine which was the original. If you can only punish the one who copied, then you won't be able to punish anyone without determining which is which, and people can cheat with impunity. Suppose that Alice and ...


1

As mentioned, there are likely institutional guidelines for students handing in duplicated work. In my university this typically led to both students drawing the short straw (and as a result it nearly never happened). Assuming the work is clearly not made independent, and you are not worried that the work may have been copied due to a weakness in the ...


1

You may be interested in the Levenshtein distance metric. This is used to compare sequences and is robust to quite a number of different transformations. Its implemented in the core PHP library (for some reason) and the Wikipedia article below contains a C implementation. https://en.wikipedia.org/wiki/Levenshtein_distance


1

As for the ready-made solutions, you can check Computer Code Originality Checker http://codep.lab.p1k.org/ (for Python language). It is based on an effective fuzzy searching algorithm that deals with the above-mentioned plagiarism techniques, detecting both absolutely similar and partly similar sequences in the source code. The service is free, but the ...


1

I don't think that student learn that much from just running someone else's code without going through it. Copy & pasting can be really useful for sharing code that has been deliberately 'broken': you can demonstrate / explain code that is working and then introduce deliberate mistakes for students to find and fix when they copy / paste. That way they ...


Only top voted, non community-wiki answers of a minimum length are eligible