When I was doing my CS Degree The university's policy for cheating was Zero Tolerance, it was generally a zero in the particular assignment, failing grade in the course, or expulsion, depending on how grievous the offence.<p>The CS department did it a little differently. It is fairly easy to tell if you copy a programming assignment(loop structure is identical, code is identical, variable names, etc.), so what they would do is divide the total grade of the assignment and split it between all the people who copied, so if 4 people copied, there was no way to determine who copied who, so the maximum mark you could get was 25%.
This happens once and no one wants to cheat simply because by letting someone else copy of you, you are taking a chance at screwing yourself.<p>Collaboration was still encouraged, but wholesale copying obviously punished.