Regarding a thread on accusation of cheating in a programming class:
Well spoken. But this does not render my argument inconsistent. There is certainly a need to evaluate students on an individual basis, I didn’t say there wasn’t. I simply said that collaboration is a necessary skill, and you cannot expect to control what goes on outside of the classroom.
Today cheating has gone high-tech. The advantages of ecommerce and global information exchange also result in the broad commercial availability of pre-fab homework assignments. When I say cheating, I mean that someone has simply taken someone else’s work wholesale without adding value or even necessarily understanding it. However, a teacher’s time is not well-spent developing more and more sophisticated counter-espionage methods to uncover such cheating; education just turns into a big game of GOTCHA!
There is, however, a spectrum from isolated individual work to copying the work of others. It is simply not black and white. Surely you must expect your students to communicate once they leave your classroom. So why not build assignments around that fact, and allow students to openly collaborate, but be able to demonstrate individually that they have learned something from it? An in-class exam, or an in-person defense of a programming assignment would certainly achieve that. I think a paradigm shift is needed to evaluate individual performance.
My point is not so much to teach collaboration but to accept it and manage it.