I fully agree, and I had professors at my school that also believed in this. Educational institutions need to modernize their teaching methods to ensure that students are actually committed to their education and have disincentive to cheat.
The fact is that we live in a world where people almost always work in a connected fashion and you have to expect that the students are going to work together and the course should be designed around this. Team based learning is a fantastic tool for teaching, and by designing assessments properly you can make it practically impossible for cheating to occur, both due to open ended nature of the problems and because your fellow students that you are working with keep you from being dishonest.
I had one course where you worked in a group of about 6, and the assignments were all design problems where you needed to optimize your solutions, which always meant working closely with your teammates to make everything work together. You learn so much more when you have to explain and understand what everyone's MATLAB code does. It was in your best interest to make sure you knew everything inside and out because there was going to be something like that problem on the exam and they were so long that you had to know exactly what you were doing or else you weren't going to finish (but were always short enough to finish). I can without a doubt say this was one of the best courses I took during school, and the course I remember the most about 2.5 years later.
The fact is that we live in a world where people almost always work in a connected fashion and you have to expect that the students are going to work together and the course should be designed around this. Team based learning is a fantastic tool for teaching, and by designing assessments properly you can make it practically impossible for cheating to occur, both due to open ended nature of the problems and because your fellow students that you are working with keep you from being dishonest.
I had one course where you worked in a group of about 6, and the assignments were all design problems where you needed to optimize your solutions, which always meant working closely with your teammates to make everything work together. You learn so much more when you have to explain and understand what everyone's MATLAB code does. It was in your best interest to make sure you knew everything inside and out because there was going to be something like that problem on the exam and they were so long that you had to know exactly what you were doing or else you weren't going to finish (but were always short enough to finish). I can without a doubt say this was one of the best courses I took during school, and the course I remember the most about 2.5 years later.