I was reading the abstract for this research paper: Yan, L., McKeown, N., Piech, C.: Using programming assignment work patterns to understand excessive collaboration in large CS classes, in SIGCSE 2018, Baltimore, USA, 2018

As computer science classes grow, instructor workload also increases: teachers must simultaneously teach material, provide assignment feedback, and monitor student progress. At scale, it is hard to know which students need extra help, and some students can resort to excessive collaboration, using online resources or relying heavily on peer code, to complete their assignment. In this paper, we present TMOSS, a tool that analyzes the intermediate steps a student takes to complete a programming assignment. We find that students who exhibit excessive collaboration typically deviate from the standard work pattern, use fewer class tutoring resources than their peers, and perform worse on assessments. Our goal is to identify students at-risk of plagiarizing, so we can intervene and provide additional class resources to help them succeed.

So, my question is: where should the line between excessive collaboration and plagiarism be drawn?

  • $\begingroup$ @NunoGilFonseca, if you explain more about the cultural context, you may get more answers related to your situation. I seem to recall that you are in Portugal, but the top answers are all contextualized within the US or UK. $\endgroup$
    – Ben I.
    Jan 30 '18 at 14:44
  • $\begingroup$ "In this paper, we present TMOSS, a tool that analyzes the intermediate steps a student takes to complete a programming assignment. We find that students who exhibit excessive collaboration typically deviate from the standard work pattern, use fewer class tutoring resources than their peers, and perform worse on assessments." .....I'm antisocial, don't like to work with others on group assignments, and tend to almost always do poorly on the first exam (nerves) and then rebound. Are you seriously claiming that people like me are without doubt cheaters? $\endgroup$
    – user64742
    Jan 30 '18 at 18:05
  • $\begingroup$ Certainly not, and that is the reason you don't accuse anyone based on statistics. But you might have characteristics that cheaters do, as might I. But statistics can be used to improve instruction, and that seems to be the focus of the cited paper. $\endgroup$
    – Buffy
    Jan 30 '18 at 21:41
  • $\begingroup$ As long as both writers fully understand and can explain what's in the paper, does it really matter if they use the same words because they figured it out together? I'd think the goal of education is understanding, not writing unique pieces. $\endgroup$
    – G_V
    Jan 31 '18 at 12:44
  • $\begingroup$ I understand that it is not the intention of the paper, but I have difficulty with the use of "collaboration" and "plagiarize" as used here. Collaboration is openly cooperating, plagiarism is stealing and claiming that other's work is our own. Combining these two words in this way is oxymoronic. $\endgroup$
    – user4104
    Jan 31 '18 at 13:27

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 believe that myself, especially when teaching math, but less so in CS.

Certainly work in isolation can lead to A-Ha moments that indicate growth, but can also lead to deep frustration and abandonment. But collaborative work while it may lessen the former somewhat certainly tends to eliminate the latter. Many years ago, when I was a math student, most academic papers were by individuals. That is much less so now, and in CS, collaborative work is the norm.

Try to teach and organize your course so that plagiarism isn't an issue. Encourage peer work, peer teaching, peer evaluation, and all the rest. Find a way to evaluate individuals without requiring that their work be done in isolation. It better matches the work-a-day world that many of them will enter eventually. It reduces headaches, guilt, punishment. It encourages learning, sharing, and growth. Be a shepherd, not a judge.

How you do it is a question of course organization and project selection. Permitting collaboration also allows you to utilize larger, more challenging, projects than you might be comfortable with otherwise. You can impose rules in programming courses, of course, requiring role changes while pair-programming (driver <-> navigator) for example. You can sometimes choose teams or pairs yourself, and sometimes let them choose. For larger teams you can even use sandlot-baseball team choosing, which I've found to work. (You choose captains, the captains alternately choose additional members until everyone is on a team).

Don't just permit them to work together. Try to find a way to require them to do it. It is harder for off-site assignments, but not always impossible, especially if your institution provides some sort of common workspace for students.

The cited research seems to be about improving teaching, not about detecting plagiarism. No student should be accused of plagiarism based on statistical measures only. The paper seems to correctly make that point.

  • 3
    $\begingroup$ You make a decent point in your answer, but at least to me, the abstract quoted by the OP reads like it's using "excessive collaboration" as an euphemism for "having your friend do your schoolwork". I don't think you'd consider that kind of "collaboration" to be beneficial for learning. $\endgroup$ Jan 30 '18 at 19:09
  • $\begingroup$ Of course, depending on what levels you teach at - say, for an AS degree or other "trade school" level teaching - you may find that having students work only alone effectively "breaks" them for the job market. The college I work for had a reputation of putting out AS graduates that really knew how to program in multiple languages... but they had lots of problems working with other programmers, etc. and sharing code back and forth, using various branches from a versioning system, etc. $\endgroup$
    – ivanivan
    Jan 30 '18 at 19:33
  • $\begingroup$ This is an answer by Stack Exchange standards. It's called a frame challenge, or the question can be called an XY-problem. $\endgroup$
    – jpmc26
    Jan 30 '18 at 23:20
  • $\begingroup$ @IlmariKaronen - If both people can explain the concepts and show a good understanding of what they had to learn, where is the issue? It's only really a problem for the school if people copy work without having understanding, because people get the same titles and diplomas. $\endgroup$
    – G_V
    Jan 31 '18 at 12:47

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 thing that you need to do is to create a policy that draws the dividing lines as carefully as you can. Sometimes, a computer science department will create a plagiarism policy together. In many ways, this is ideal, though it can constrain your instruction as well. Within such a policy should be both the formal specifications, as well as an underlying principle that guides it.

Due to very high bars of evidence that I have had to meet, I have not had a tremendous amount of support when addressing plagiarism anywhere that I have worked, so it has fallen to me to work relatively independently. For years, I had strict policies, and found plagiarism around every corner. I would try to work with administration and I would provide penalties to the students in question, but I discovered that I was ultimately paying a very high psychological price for this. I started to become distrustful of my students, and it made me simply like them less. This was a disaster for me a teacher. I really wanted to be able to trust my students, and I couldn't shake the feeling that it was ultimately my own policies and practices that were setting the table for these regular heartbreaks.

So, it was time to break things down and rethink it from the ground up. I knew that I wanted to encourage pair programming, so this already muddied the waters considerably. I have a habit of giving quite difficult labs, because I want my students to wrestle with meaningful, weighty problems. If I left my students without access to Google and StackOverflow, no one would be able to complete them. I also wanted to begin to grade my students with code interviews for a huge number of reasons, which would also give me a chance to assess whether the student understood what they had submitted. And finally, I have created a system of retakes with tests and quizzes that ensures a bare minimum of mastery of the material. (This system has not been discussed anywhere on CSE yet, or I would link to it.)

This left me with a starting point of pedagogy. I want my students to tackle these problems, and to put time, thought, and care into finding good solutions. I want them to pull out a piece of paper, or walk over to the whiteboard, or pull a friend over, to try to figure out whether they were heading down a good path. I want them to work in Driver/Navigator pairs (if they so choose). I have provided challenges appropriate to this level of work and thought.

Therefore, I made the following decisions:

  1. Labs would not be worth a tremendous percentage of the grade. This diminishes the inclination to cheat in the first place. I explain to my students that the main purpose of the labs is to be able to practice the curricular material with substantial problems. It also frees me up to be more helpful with kids who get stuck, because the relative grade advantage is not substantial.
  2. Student Rule: Everything, everything, everything must be cited in comments. That includes SO visits (including links), conversations with friends working on the same lab, time spent with a tutor... I wanted a list.
  3. Student Rule: You may not write any code into your lab that you don't fully understand.
  4. Student Rule: You may ask help from a peer, but you may not look at each others code, and the person being asked for help cannot outline their own solution. Exception: if student A asks student B for help, and student B has completed (and submitted) the lab, student B may be permitted to look at student A's code, though B still may not describe their own solution.

Number 1 allows me to relax a little, and demotivates cheating. Since the tests and quizzes are largely where students grades are determined, this is where I must watch students carefully.

Number 2 gives me a pretty good sense right away of how much trouble the student had with the exercise.

Number 3 is easy to check in my environment, since I do code interviews with the students.

Number 4 is still a little sticky. I remind them of the line, I remind them of its purpose, and I tell them that this is not a "letter of the law" policy; it's a guideline so that they can use to understand my thinking. Stupid shenanigans ("I didn't describe my solution! I made a graph that illustrated it!") here is not okay.

  • $\begingroup$ I don't know if it is still true, but at a time in the past, Dartmouth College had an Honor Code that sounds, if I remember correctly, quite a bit like what you say above, especially your fourth point. $\endgroup$
    – Buffy
    Jan 30 '18 at 13:53
  • $\begingroup$ For rule 2, how does that work without being too onerous? When I try to solve a new problem (at work, not school) I can end up opening dozens (hundreds?) of tabs searching for hints or answers. The majority are not useful (disregarded in seconds) but some are (or more often bits combined from several sources will enable me to develop my own solution). How do you not end up with pages and pages of links, and how are they of any use to you? What goal does this actually accomplish? $\endgroup$
    – mattumotu
    Jan 30 '18 at 16:27
  • $\begingroup$ @mattumotu I have no answer for you, other than I never have received more than about 15 sources on anything. I suppose that my students naturally prioritize a little bit, and omit items below a certain threshold of helpfulness. They haven't asked me for clarification about this, either, I'm afraid. I wish I could give you a more precise answer, I can only say that it hasn't been a problem in practice for me. $\endgroup$
    – Ben I.
    Jan 30 '18 at 16:38
  • $\begingroup$ @BenI. ok thanks, could just be the difference between classroom and work. (for one I assume you teach them something(!) often I just get a new problem, sometimes no context!) $\endgroup$
    – mattumotu
    Jan 30 '18 at 16:42
  • $\begingroup$ You should be able to weed out the people who copy without understanding by asking them explain their code and the concepts behind it. Since you're only doing this for cases where there is doubt, it shouldn't take that much extra effort. $\endgroup$
    – G_V
    Jan 31 '18 at 12:49

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 on the goal of the secondary task, instead of the primary task of learning. The secondary task is just a way to achieve that learning. So instead of doing the tasks they skip strait to the goal. Often by finding a completed solution from a peer or on the inter-web.

  • $\begingroup$ Whose time are they really wasting by not teaching themselves skills they need in the workplace anyway? $\endgroup$
    – G_V
    Jan 31 '18 at 15:42

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.



As ctrl-alt-delor covered in his answer, plagiarism is claiming the words/ideas of someone else as your own. To verify that I searched, and read, many definitions from dictionaries, online references, academic and professional sources. The summation of all those sources is that using the material, or work, of someone else and presenting it as your own is the primary factor, or offense, of plagiarism. The nearest I could find for an official definition of plagiarism was in a fact sheet from the Office of Science and Technology Policy, in 1999:

Plagiarism is the appropriation of another person's ideas, processes, results, or words without giving appropriate credit, including those obtained through confidential review of others' research proposals and manuscripts.

Source: Executive Office of the President, Office of Science and Technology Policy, Fact Sheet, Oct. 14, 1999

After review, and an appropriate comment period, it was finally edited to read:

Plagiarism is the appropriation of another person's ideas, processes, results, or words without giving appropriate credit. Research misconduct does not include honest error or differences of opinion.

Source: Federal Register Vol. 65, No. 235, Dec. 6, 2000, pg 76262

I did find one good academic source:

Plagiarism is presenting someone else’s work or ideas as your own, with or without their consent, by incorporating it into your work without full acknowledgement.

Source: University of Oxford, Plagiarism

Their discussion continues with the comment:

The necessity to acknowledge others’ work or ideas applies not only to text, but also to other media, such as computer code, illustrations, graphs etc.

Emphasis mine


The question places collaboration and plagiarism as possible coexistent concepts. They are not, as recognized in a comment by mickeyf. If two (or more) students are collaborating (working together) on a project, neither can plagiarize the other's work. "There is no I in team". [The excerpt also mentions using online resources and relying heavily on peer code, both of which could be plagiarism if not acknowledged.] It is possible that the habit of doing very little work in collaboration with others could lead to plagiarism, making the student at-risk of plagiarizing, as the excerpt noted.

It is possible, in very rigid, or high-stakes, environments, to be morally obligated to cite sources of inspiration, such as from casual interactions with others, to acknowledge their input. The U.S. Department of Health & Human Services, The Office of Research Integrity, in their section on plagiarism, Acknowledging the Source of Our Ideas, covers some research published by Alan Gilchrist in a 1979 Scientific American article where Mr. Gilchrist purportedly felt obligated to credit a source outside of the normal research he conducted. Holding students to that standard in the classroom would require them to credit the instructor, the textbook, and likely half of their classmates, in every program they wrote. It would be interesting to see a class project with a comments section listing sources that was longer than the code itself.

The objective of the classroom experience ought to be learning, the instilling of knowledge, habits, and patterns of thought, into the minds of the students. When collaboration is part of that process, there is no need to be looking for the evils of plagiarism where it cannot exist. When, however, the excessive collaboration, or other impediments, interfere with the process, then they need to be addressed. That, however, is unlikely to be the result of any bright-line test or standard. Rather, it is likely to come from the instructor's observation of patterns of behavior, and work, exhibited by the students affected.

The educational implications

To begin with, the excerpt seems to be the rationale (or sales pitch) for the authors' new tool, TMOSS, rather than a warning to instructors, or an indictment of students.

The authors give excessive collaboration as one factor that could identify students at-risk of plagiarizing. They neither claim that it is plagiarism, nor that it is the only factor that leads to being at-risk. The apparent objective is to identify students in need of additional help in the class, not to weed out or identify plagiarists: "it is hard to know which students need extra help," and "so we can intervene and provide additional class resources to help them succeed."[ibid.]

The implications are that when students become more dependent on the assistance of others, and outside sources, for results, they develop malformed habits that reduce their learning, and perhaps affect their future work as well. Prefaced with the presumption that the classroom experience is intended to "educate" the students, finding those that might need extra help using any tool available can be helpful. If noticing that a student is engaging in excessive collaboration (though I have no clue what level is considered excessive) can help to alert the instructor to a student that needs additional help, or needs guidance in study/work habits, it may be worth considering that approach. It is possible, however, that students who engage in excessive collaboration are developing work habits which will lead to greater success in software development, especially in Open Source development, than their peers. Teaching the students how to learn, not how to work, seems more appropriate to the educational system, including Computer Science curricula. Teaching them how to work seems more appropriate in vocational training or rehabilitation.

  • $\begingroup$ Agree, I will also add. Copyright infringement is often confused with plagiarism. However they are very different: Copyright infringement is using someone else's work without there permission. Plagiarism is using someone else's work and claiming it to be your own (usually, but not only in academia). Thus plagiarism is a type of fraud, where as Copyright infringement is copyright infringement (some would say theft, but theft is to deprive someone of something, so clearly it is not that). $\endgroup$ Jan 31 '18 at 23:43
  • $\begingroup$ @ctrl-alt-delor Copyright infringement is theft. If nothing more than taking away the creator's right to decide what is done with their creation. Of course, usually, the infringement involves reducing the owner's potential income from the sale or licensing of their work. Again, theft. $\endgroup$ Jan 31 '18 at 23:46
  • 1
    $\begingroup$ As much as buying a competitors product is theft. Or stealing a gold by running faster than anyone else. I am not saying it is not illegal to breach copyright. I am not even saying that is in not un-ethical. I am just saying that it is not theft. Theft is a very poor metaphor. $\endgroup$ Jan 31 '18 at 23:51
  • $\begingroup$ +1 Shucks, now I have to stop annotating code fragments lifted from the public domain with the tag "blatantly plagiarized from <insert url here>" $\endgroup$
    – pojo-guy
    Feb 1 '18 at 2:09
  • $\begingroup$ @pojo-guy Not really, but now you know what to include in the assessments later. :D. Plagiarism exists, just not between collaborators. Such a notation doesn't signal a student at-risk either, that student has already crossed the line. $\endgroup$ Feb 1 '18 at 2:31

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.