Live data from Hacker News

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

kevinchen.co

81–90 of 124 posts

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

#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 including "keeping only the cases that contain indisputable evidence — for example, hundreds of lines copied right down to the last whitespace error". It's clear from the context that this was verified by following up with the alleged plagiarizers. Indeed, he notes one false positive.

I'm not sure what your concern is. The article presents the process they've used for catching plagiarism and rather than point out any actual flaws, you attack the strawman of blindly using anti-plagiarism software and treating it as literally infallible.

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

#82
post #3

What I find fascinating about this problem is students paying all that money in order to deliberately avoid learning anything.

In an intro CS class, many of the students don't want to be there. They're taking the class because it's a requirement for the degree they actually want, which may have little or nothing to do with CS. Intro classes aren't just for people who want to specialize in that area.

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

#83
post #3

What I find fascinating about this problem is students paying all that money in order to deliberately avoid learning anything.

They are paying for the piece of paper not for the content.

I too paid for a piece of paper. But given how expensive that piece of paper was I damn well made sure I learned something too.

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

#84
post #3

What I find fascinating about this problem is students paying all that money in order to deliberately avoid learning anything.

Then perhaps the world needs to stop caring so much about the assement part of a university. That would be wonderful if more people were able to focus on the learning, and less on the grades for unrelated subjects that don't matter for your job.

I do agree with you there. If you didn't actually learn anything in school, that should become apparent when you're unable to perform your job function. If you can perform your job function regardless, then I suppose it doesn't matter all that much either way.

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

#85
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.

Here's an idea: you try to do that teaching three or four sections and report back how that goes. I am not sure if you have ever taught post secondary classes before, but what you're describing is untenable for someone who wants to not work 12 hour days. It's a nice idea, and I know that I would have loved to do that when I was teaching, but the fact of the matter is it isn't feasible unless you have a squadron of TA…

Totally! I definitely didn't mean to imply this is the Prof/TA's fault. It is the fault of many institutions and systems above them. I meant that TA's shouldn't be responsible for grading 4 sections of 60 students each. The only natural outcome of that is poor education, one facet of which is easily cheatable assignments.

It just seems ridiculous that the thing we are focusing on is that kids are cheating and not that we've made this massive, unscalable, expensive, ineffective education system. We are acting like its the kids who aren't holding up their end of the bargain when they try and cheat it.

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

#86
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...

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

#87
post #46

Earlier quoted context omitted.

Add a grading section to each assignment with something like this: --------- Program is expected to maintain this interface over stdin/stdout (or sockets, etc). Students will pass when their program passes the grading/test suite. Test suite can be check ahead of time by uploading binary/zip/tarball to this location using their student id: . Detailed instructions . IIRC, this is what my university did 15 years ago. No…

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 an instructor's reference solution

2) Correctness of output: running student's test cases on student's code and comparing with output from running those test cases on the reference solution

3) Number of test cases passed in student's test suite

Also from the paper:

"All three measures are taken on a 0%–100% scale, and the three components are simply multiplied together. As a result, the score in each dimension becomes a “cap” for the overall score—it is not possible for a student to do poorly in one dimension but do well overall. Also, the effect of the multiplication is that a student cannot accept so-so scores across the board. Instead, near-perfect performance in at least two dimensions should become the expected norm for students."

Students still get the benefit of knowing their grade when they submit, and as an added bonus students get more hands-on experience with test-driven development. Having the students write the tests themselves also increases the cost of mutating code until it just works.

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

#88

Earlier quoted context omitted.

Here's an idea: you try to do that teaching three or four sections and report back how that goes. I am not sure if you have ever taught post secondary classes before, but what you're describing is untenable for someone who wants to not work 12 hour days. It's a nice idea, and I know that I would have loved to do that when I was teaching, but the fact of the matter is it isn't feasible unless you have a squadron of TA…

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

#89
post #80
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…

People are turning in your SPARC assembly code for their assignments? Are they actually still teaching SPARC assembly?

I don't know if it's still the case of this year, but for our computer architecture course we learned SPARC as well as x86. Was pretty neat to explore the different ways of doing things.

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

#90
post #77
post #63

Earlier quoted context omitted.

> Optional homework almost definitely won't get done. Then they fail? I don't mean to sound glib, but I don't see the issue here. Students that want to pass will pass, students that don't, won't. I say this as a student that didn't pass.

Really depends on the goal. Is the goal to teach everyone in the class? If so, "just let them fail" is a poor strategy. (It's also one that will get the teacher bad performance reviews.)

They might be learning more from 'optional' homework though. For instance, my dynamics professor didn't issue any graded homework, although the homework in the class was my largest time sink last semester. The homework was scored so you knew what you did wrong, but the entire course was graded on tests (which were difficult enough that afaik nobody managed >70% before the curve). After the first test, it was pretty clear that the homework wasn't 'optional'. While this did help w/ teaching self-study, overall I think it was a poor way to run the course, since then the tests became overwhelmingly stressful for nearly everyone. I think that grading is necessary, and at the college level quizzes are typically pointless, but without homework there is little left to judge comprehension on.
Post reply on HN