Here's the easiest solution: stop grading homework Why judge student performance on something that they are using _to learn_? It doesn't make any sense. Every student is basically competing with one another to get the highest GPA possible - if you're going to give them cookie cutter homework with solutions can be easily searched for on the internet _and_ can only bring their GPA down, then they're going to cheat. Pla…
Optional homework almost definitely won't get done. Making it count ensures that students would actually do it, which is useful to instructors (what do they need to focus on in class? Is the class understanding the lectures?).
Why we still can't stop plagiarism in undergraduate computer science
101–110 of 124 posts
Re: Why we still can't stop plagiarism in undergraduate computer science
#102There's another tool: the repo. My son was accused of plagiarism in his last year of high school. It could have been a "he said/he said" case -- in fact it started that way -- until I pointed out that if he believed he was in the right he had a record that could be checked.
The CS teacher had to explain to the principal why the repo proved who had copied whom (and left me wondering why the teacher hadn't looked there first????) which wasn't easy because the plagiarist's parents were big donors to the school. So in the end, despite what it says in the school handbook, the only penalty was a 0 on the assignment.
But a good lesson for my kid on both programming and the sociopathologies of organizations.
Re: Why we still can't stop plagiarism in undergraduate computer science
#103Earlier quoted context omitted.
> I have a big problem with the general theme of this article, which is that plagiarism detection software is infallible and every student who disagrees with its findings is wrong and dishonest. These claims were not made. > You claim > > We have virtually eliminated false positives at this point > but offer no explanation for how you verify this. Yes, he did. He described the process that arrived at the conclusion i…
It doesn't matter if they think their process is perfect. It is still just an accusation at that point, and students have the right to appeal it. IMO it isn't acceptable for an instructor to say that they don't have time to provide an explanation when asked by the university.
Re: Why we still can't stop plagiarism in undergraduate computer science
#104Here's the easiest solution: stop grading homework Why judge student performance on something that they are using _to learn_? It doesn't make any sense. Every student is basically competing with one another to get the highest GPA possible - if you're going to give them cookie cutter homework with solutions can be easily searched for on the internet _and_ can only bring their GPA down, then they're going to cheat. Pla…
Re: Why we still can't stop plagiarism in undergraduate computer science
#105Earlier quoted context omitted.
Then schools should hire squadron's of TA's. We pay them enough that they can afford to, but they simply choose not to.
the reason the pay is so low is that it’s part of a PhD, usually, so the TAs tolerate it. i don’t think you could hire someone to just be a TA full time at those wages. you can’t admit more PhD students, necessarily, because to graduate they need to do research under an advisor, and access to grants/projects won’t necessarily grow along with required teaching staff.
Re: Why we still can't stop plagiarism in undergraduate computer science
#106Here's an idea: why not make the assignments personal enough that you cannot cheat on them? "But wait, that would require huge amounts of time investment from the professors/TAs" Yes, it's almost as if paying $65k a year for someone to teach you something should result in that person teaching you that thing instead of just checking in to see if you've learned it on your own.
Fine for higher-level courses, but how exactly are intro courses supposed to make 'hello world' and the like personal enough that you can't cheat?
Imagine you are teaching someone basic web development. The assignment is "make a webpage that displays some facts about your favorite tv show." Easy.
I can buy that it makes the grading more complicated, but coming up with assignments is not difficult.
Re: Why we still can't stop plagiarism in undergraduate computer science
#107Requiring students to submit their VCS history along with the finished project would at least up the cost to the students for copy and pasting. They even hint at that sort of solution in the piece by mentioning cosmetic changes to the files at the last minute.
Re: Why we still can't stop plagiarism in undergraduate computer science
#108Re: Why we still can't stop plagiarism in undergraduate computer science
#109I. The time I got caught for "plagiarizing". In an intro systems class, me, a CS major, and my roommate, who wanted to minor in CS, were working together and I was "showing him the ropes". He was an intelligent student and we never worked together on the homeworks aside from general verbal discussions on what the solution could be. He used a Windows laptop and for one of the assignments, his C code wasn't compiling because he was missing some libraries and he told me he couldn't figure it out and we were approaching a deadline and asked me to compile it for him and send him back the binary. I did so, but when sending back the binary, in a rush, I accidentally mistook my HW folder for his (we'd downloaded this as a part of the assignment, and the folder structure was identical) and sent him my binary by mistake. Both of our solutions worked. Obviously, we got "caught" in the most naive way. Our binaries had the same MD5 hash and the CMS flagged us. We were both confused at first, and then we realized what happened and explained it to the professor. The proof was simple - just compile my roommate's binary and run it. However, he annulled our assignment to 0. We still both got As (because you could drop one homework) and while some may claim this was a gentle slap on the wrist, it felt unjust. We clearly made a dumb mistake and we shouldn't be punished at all, especially when we knew how rampant actual plagiarism was.
II. The time I caught students for "plagiarizing". As Kevin points out in his post, there aren't really any incentives to catch students for cheating. As a TA, I get no benefit, and moreover, there's a cost. No one wants to be known as THAT TA who busts kids for using "a little help". Keeping that in mind, I was usually very lenient when it comes to cheating. I've noticed signs, but there was never enough proof to warrant the effort of calling someone out. However, at one level it went too far. Two students who were partners for the "projects" had submitted nearly identical solutions for a complex Graphics homework assignment. They got the answer right, but I looked into their working and they both said "(9/5) / (4/3) == (4/7) / (5*9) = 1/3". I don't remember the exact values, but it was two steps of non-sense numbers and then a correct answer. I ended up reporting the case, mostly because I felt like my intelligence as a TA had been insulted. Are you seriously going to submit random numbers with a correct solution hoping I won't see? In any case, it didn't go anywhere.
III. Discovering a cheating ring. At our university, one of my good friends and project partners told me there was an "enormous Asian cheating racket" - not to call out any specific race, I'm Asian too. I wasn't surprised - to be blatant, it made sense. We're very grade oriented with tiger parents. Then I learnt the extent of it. There were apparently Chinese forums and "outsourcers" you could send your homework problems to and they would solve it and give it back. In addition, there were special shared systems like DC++ where you could discover answers to homeworks for different classes at my university as well as Prelims, Midterms and Finals contributed by students of previous years. I was in shock. Students would leave exam halls to go to the bathroom just to look at these answers mid-exam. But was I gonna tattle? No.
IV. The reality at universities. Not just in CS, but in every other subject, almost everybody cheats. Excuses that go around are: "I've worked on it with someone else" "Oh the TA in office hours told everybody the exact same solution" "What? Cheating? me?" "Maybe he/she took it from me, I didn't do it"
And look, people aren't stupid. We all know how cheating works. You get a homework assignment, and you re-write the sentences in your own language. You get some code from someone else and you define some useless functions with 1-2 lines of code. Or you arbitrarily re-organize lines of code. You rename all the variables. You re-organize your functions. You create some unnecessary classes.
There were students who distribute 10 homework assignments between 10 people (in groups of 2), and have one do the assignment (use office hours, friends, google, whatever) and the other literally re-write the assignment in LaTeX 9 different ways for the others to use. No one would ever really have to do the work.
The well known key to cheating is plausible deniability - if there's enough evidence you didn't do it, you didn't do it.
Re: Why we still can't stop plagiarism in undergraduate computer science
#110I was a TA for a graduate level class at one of the top universities in the US and I've had some interesting encounters with plagiarism. I. The time I got caught for "plagiarizing". In an intro systems class, me, a CS major, and my roommate, who wanted to minor in CS, were working together and I was "showing him the ropes". He was an intelligent student and we never worked together on the homeworks aside from general…
And I can speak for Indians, but CS education in India aside from the IIT, the IIIT, BITS and some NITs is dismal. Cheating is rampant there, and they're much more well versed with the art because it's much harder to cheat and get away with it in India - you can't bring phones to your exam or freely go to the bathroom mid exam, for example.