Upon leaving high school I started to hear bits and pieces of what I had naively ignored and not noticed in my time in the education system. Cheating was rampant. I thought it was a minor concern that was fairly rare. I thought no one I knew would actually cheat: it was only the students who did badly who cheated.
I actually don't remember any specifics about who did the cheating, or in what, or how, I only remember being sort of shocked that it had gone on, since that it was good students who were cheating.
Our school system is set up as a big game of checking answers, writing down words and numbers, and rarely writing an essay. It is a system design to teach and evaluate what has been taught. I had always thought it was an effective system and that I had learned a lot from it, which I did. However, there was one condition which let me (and many people I know) learn from this system. I had to suspend my disbelief and followed the artificial restrictions which allow the system to work.
Our education system has been designed from the ground up to work on most occasions only with the full and complete cooperation of the student. The instant a student can break the system by cheating it stops working.
There is a general trend, at least in IB and higher level courses, towards teaching that is designed from the ground up to make cheating nearly impossible. This type of teaching usually means writing essays, or showing all your work on a math problem, or class participation. The final work should be only a proof of learning. A scantron test for instance can be both a proof of learning, or proof of cheating, its design is fundamentally flawed.
I think it would be a fun exercise in a class to give all the students a test on which they were supposed cheat. Make the test impossibly difficult and see what happens. Would they all work together to do better? Would they mess each other up? How would they figure out how to hide answers? Would they use computers or cell phones? Would they use actual methods they had used to cheat on real tests? Would they end up learning all of the same stuff anyways? Would they learn more?