Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"I would love to hear that there are CS/EE programs using version control to catch cheating. It seems to me that if you forced students to "show their work" by having them commit to their project repo in small increments, it would obviate (some of) the hoops some depts seem to go through to prevent cheating."

I know several professors that attempt this. The work-around is pretty trivial though: just cheat as usual, then claim you forgot to commit until you were already done. The best the professor can really do in those cases is dock the kids a letter-grade or so (oh noes, a B!), since forgetting to commit is at least somewhat plausible for students unused to version control, and certainly isn't strong evidence of cheating.

Of course the really bad cheaters are still caught, but through the tried and true method of comparing code and looking for students that don't understand their own code.



> The work-around is pretty trivial though: just cheat as usual, then claim you forgot to commit until you were already done.

The Workaround for this is likewise trivial: make "failure to show work" grounds for a failing assignment grade.


That requires professors to be much "tougher" than they often like to be. Completely failing an assignment for reasons not actually relating to the content of the assignment is pretty unpopular here, among everybody.

It's also not impossible to fake a revision history (in fact, it's pretty damned easy), so if you start flat out failing kids only the honest students will get "caught".


> That requires professors to be much "tougher" than they often like to be.

If a prof/TA can't be bothered to police their students then they forfeit any right to complain about cheating.

If students can't follow directions (give grace on the first offence, maybe) then letting them slide does a disservice to their future.

As for cheaters: I don't mind whether or not really determined cheaters can sneak through. They are only cheating themselves in the long run. A system that only catches the 'honest' kids is still a good system because only the 'honest' students will generally make any attempt to mend their ways.

just my $.02


profs/TAs certainly can catch cheaters though, and they're pretty good at it without resorting to extreme measures.

Instantly failing anybody who isn't comfortable with version control is the type of scorched earth tactic that you'd expect the TSA to dream up if they were in charge of catching cheaters.


I am not advocating any sort of Zero Tolerance policy (e.g. "instantly failing") for this. In fact, I think ZT is insane in most if not all cases.

For the purposes of this discussion (which was about having students use version control for assignments) using version control is as central to the requirements as implementing the algorithm and using the assigned language and failure to follow instructions can, at the instructor's discretion, result in grading penalties. As a bonus, this adds another hurdle for cheaters to clear and provides another opportunity for profs/TAs to notice anything suspicious.

Hope that clears some things up...


> That requires professors to be much "tougher" than they often like to be.

In my case, students were being failed (actually, given 0 credit) because the solutions to the exams wouldn't compile. That's pretty tough, I think. Especially for CS 101.


Eh, in CS 101 getting you program to compile is basically the entirety of the assignment. I think it's pretty unrealistic to expect TAs to spend time figuring out why you couldn't even get your program to build, let alone work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: