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.<p>At my school, we were given programming problems a week in advance, told to solve them and memorize the solutions, and then had to show up at a computer lab for an "exam" where we basically typed the programs in and made sure they compiled, etc. I believe this process was put in place after rampant cheating was happening in more traditional "turn in your source code" types of projects. However, this was a pretty horrid experience, and for some students who treated them like regular exams (ie didn't actually memorize working solutions beforehand) these exams were crushing to their grades.<p>I can imagine some sort of automated checker for this, examining repos for unusual activity (one giant commit right at due date) after a project was submitted. Of course, I've also heard that in some academic CS depts, any version control at all is a huge deal (we were taught how to use the integrated CVS tools in Eclipse in one afternoon by some TAs, and that was the extent of my exposure to vc in the classroom, and this was in 2006-7), so maybe I'm dreaming too much.