Live data from Hacker News

Why we still can't stop plagiarism in undergraduate computer science

kevinchen.co

91–100 of 124 posts

Re: Why we still can't stop plagiarism in undergraduate computer science

#91
post #81
post #25

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. You claim > We have virtually eliminated false positives at this point but offer no explanation for how you verify this. You later rant about the fact that students have the audacity to challenge these (very serious) charges an…

> 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

#92
post #52

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…

> Here's the easiest solution: stop grading homework Because it's not that simple. These are INTRO classes. For many students, an intro CS class may be the first class they have encountered in their lives in which they finally have to work . So, part of the job of a teacher is to teach the class material but also to teach good studying habits. Without grading homework, the first real feedback that a student is in tro…

I think that there is a solution that is being overlooked, which worked pretty well in my intro class. The professor explained that he would be using plagarism software and wouldn't be accepting excuses. He also explained that he expected to see comments explaining nearly everything, and provided a style guide. While this is training a bad coding practice (who want's to read code that has that many unnecessary comments?), I don't see any way around it for an intro course, since it's really hard to avoid reusing assignments. There aren't that many ways to code 'hello world', but if you make it clear that code must be thoroughly commented then it will drastically reduce false positives. Doesn't stop people copying wholesale from stackexchange, but w/ that level of commenting required I don't think students are really learning less. And this isn't required for higher-level courses, since by that point the assignments are complex enough that accidental plagiarism is extremely unlikely.

Re: Why we still can't stop plagiarism in undergraduate computer science

#93

I co-teach an upper-level undergraduate class where the students create independent programming projects - the computer science students couldn't copy anyone else in the class's code even if they wanted to, as it wouldn't make any sense for their context. Perhaps the solution is to be more creative with how computer science education is taught? If the students are copying homework problems they don't understand, they…

part of the reason this may be salient now is that there are SO MANY undergrads taking CS courses.

classes that might have had 30 students in the past now have 300. you can’t hope to grade projects for all those students, even if you put them in groups.

Re: Why we still can't stop plagiarism in undergraduate computer science

#94

Earlier quoted context omitted.

Assess the homework, give them a grade on it but don't have it factor into their final grade at all. Just let the exams / big projects take care of that. If you're regularly failing your homework, it probably means you won't be ready for the exam that actually counts. Which should be enough feedback

having been both a TA and a student, i think this idea is entirely too optimistic. "optional" problem sets can work well in graduate and advance undergraduate courses, but for the bulk of students in the intro/intermediate courses, homework that doesn't get graded for accuracy may as well not exist. i certainly didn't do it, and when the CS department decided to grade homework on completion only, i saw student attend…

That's the conventional wisdom in America, certainly. And yet my undergraduate degree (maths at Cambridge) was 100% assessed by end-of-year exams and it worked fine.^

Did I stay up with the classes? Well, not always — some of them I caught up during breaks. (That's the advantage of end-of-year not end-of-semester exams, too.) But did I know the material by exam time? Yes.

But look, more generally, you say you have to "incentivize" students to keep up but I think we agree that it's in their long-term interest to keep up with or without graded homework, so we're talking about behaviourist incentives not rationalist incentives here. And with that admitted you have to consider that there's broad scope for other ways to incentivize than through GPA consequences. (I mean, hand out candy, or pizza, or Pokémon, or porn, or whatever this year's students are into, you can probably think of a much better ideas than these.)

^Unless you were that one kid who had mono during finals week. But that's a different issue.

Re: Why we still can't stop plagiarism in undergraduate computer science

#95
post #35

Almost every aspect of our discipline encourages open source code sharing and code reuse. This is a discipline wide mind set. In fact, "build it yourself from scratch" is an anti-pattern in my opinion. I'm not condoning cheating, but why would one not expect this to be be the default behavior? As others have suggested, there are much easier "solutions" related to logging keystrokes and commits should you really want…

Depends what you’re writing. I’d expect a student to write code for data structures and sort algorithms themselves. Not sure how well plagiarism detection would work though...

Isn't that the point of these courses anyway? Unless you have very, very good reasons, why would you ever write your own bubble sort professionally outside of niche cases? But having to implement different sorts by hand makes it much clearer how they differ, as well teaching basic algorithm knowledge.

Re: Why we still can't stop plagiarism in undergraduate computer science

#97
post #21

Here'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?

Re: Why we still can't stop plagiarism in undergraduate computer science

#98
post #87

Earlier quoted context omitted.

as a TA, i love when professors set up grading scripts for me, and as a student, i love knowing what grade i will get before turning in the assignment. unfortunately, you need the students to have the basic level of competency where they can actually write code to a testable interface or correctly use print statements to produce good enough output for a script to grade by parsing. in the course i currently TA, neithe…

The issue of incentivizing students to guess-and-check when providing the test scripts upfront is, IMO, fixed by making the students write the tests themselves. This paper explains it pretty well: https://www.cs.tufts.edu/~nr/cs257/archive/stephen-edwards/a... Essentially the students would write a test suite and the grading framework would grade based on 1) Code coverage when running the student's test cases against…

this sounds like a great solution. i particularly like that it encourages careful thought about test cases.

Re: Why we still can't stop plagiarism in undergraduate computer science

#99
Instead of coming up with punitive solutions, I wonder what can be done to re-structure computer science education in ways that move the incentive structure away from one that encourages plagiarism? Bonus points if it improves the quality of the education, too.

For example: What if we move toward a more seminar-style approach of having students discuss and critique each others' code on larger projects?

This might not get rid of all copy/pasting, but it would create a huge incentive for students to at least understand how their code works, in order to avoid embarrassment in front of their classmates. And, should two kids copy/paste the same code, and that becomes apparent in the course of a peer review session, well, that's an event that everyone will remember. No need for the instructor to make themself the bad guy in the process, either.

It also has the side benefit of giving students experience with code review, with reading and understanding others' code, and maybe helps them start to develop a sense for how to write clean, readable code several years before they start getting bludgeoned by senior devs at their first full-time job.

As for smaller problem set type homework, why not give them group work? It doesn't necessarily need to be graded, aside from credit/no credit, if you're worried about giving A's to duffers. I had a few classes that did that back when I was in school, and I really liked it. I felt like I learned faster, both from working together with classmates and because the format allowed them to give us more challenging problem sets.

Re: Why we still can't stop plagiarism in undergraduate computer science

#100
post #2

Heh. I wanted to store my old university coursework somewhere, and GitHub seemed as good a place as any. Because I'm cheap and don't want to pay for a private repo, there it sits in all its public glory. Few years back I got an irate email from a professor that students were copying a program I wrote for a SPARC assembly course which has remained unchanged for, like, two decades. So, to some degree the whole plagiari…

Oh, now that is great! Instead of just re-writing the problem for the class, the PI takes the time to write you an angry email and just make themself look foolish. Gotta love lazy professors.
Post reply on HN