Non-Technological Ways to Combat Cheating?
blackcoot asks: "I'm currently T.A.ing for a required senior level class in algorithms. Having just graded the latest set of homework, I'm amused / sickened (can't make up my mind on that one) at the level of cheating. Slashdot has covered automated cheating detection in the past here and here, but I'm hoping to find some (necessarily nontech) ways of encouraging students to be a bit more honest (or at least a little less spectacularly stupid in how they cheat). I've been reporting the cheating as I've found it to the relevant profs, but it doesn't seem to be having much of an effect. Any suggestions?"
Give them zeros each and every time you find one of them cheating. They can appeal if they think it's unfair.
In the CS course at my uni, most units have one or two major assignments and the exam. The assignments are usually "design an app to do blah, document, discuss design decisions etc". The exam then has a number of questions based upon the assignments.
If you get less than half of the marks for those questions, you get zero for them. Seeing as they usually make up half of the exam (25% of the exam on each assignment), if you don't get 100% for everything else, you fail. This seems to have worked somewhat in stopping people from copying assignments from each other without understanding what's going on (this doesn't necessarily stop the smart lazy students from copying).
Of course, we also have a pretty draconian cheating policy. Any student caught cheating gets a zero and has to resubmit (for a completion mark, the zero stands). Repeat offenders automatically fail the unit.
I suppose the difference between us and other universities is that these policies are enforced (my last semester of undergrad, 8 first year students were failed and the entire student body was informed).