The Workaround for this is likewise trivial: make "failure to show work" grounds for a failing assignment grade.
The Workaround for this is likewise trivial: make "failure to show work" grounds for a failing assignment grade.
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".
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
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.
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...
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.