On the cruelty of really teaching computer science
My computer science course (CSE-101) is so basic, and driving me rather nuts. Our 'programming' consists of using a graphical programming environment called ALICE. It reminds me of a paper by the famous computer scientist E.W. Dijkstra (whose work resulted in a number of routing protocols based on the shortest path first algorithm he developed).
Here is an excerpt (emphasis mine):
"Not everybody understands this sufficiently well. I was recently exposed to a demonstration of what was pretended to be educational software for an introductory programming course. With its "visualizations" on the screen it was such an obvious case of curriculum infantilization that its author should be cited for "contempt" of the student body", but this was only a minor offense compared with what the visualizations were used for: they were used to display all sorts of features of computations evolving under control of the student's program! The system highlighted precisely what the student has to learn to ignore, it reinforced precisely what the student has to unlearn. Since breaking out of bad habits, rather than acquiring new ones, is the toughest part of learning, we must expect from that system permanent mental damage for most students exposed to it." -- E.W. Dijkstra (http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html)
