This old note by Spolsky explains why the shift to java-only in computer science classes is harmful and reminds me of two events in my old career as an academic. One was when a student came by my office to explain to me, in the most condescending manner, how the linked-list exercise I had given in class could have been done much more easily using the new operator instead of all that obsolete pointer stuff that I had learned back in the ice-ages (we had to chisel those pointers out of glaciers with flint spears and punch cards). The second event was during the only perq I ever got for being a “department chairman” (the worst job I ever had, and that includes a couple of horrible days planting tree saplings on a devastated hillside in Arkansas ). The perq was a visit to the CS department chairs meeting in Snowmass one summer. It was quite beautiful out there and I even went to a meeting or two for forms sake. At one meeting, there was a discussion about the drop in the number of women going into
computer science – the field started out not so bad and converged on the terrible engineering norm somewhere in the 1980s. Some poor sap stood up, and channeling Larry Summers in advance, suggested that reducing all that hard math content might be a good thing to do because, implicitly, girls aren’t so good in math. I was sitting near a professor from MIT and would have bet money that she was going vault out of her chair and hammer the speaker to the ground, but sadly enough she didn’t and perhaps the lack of a salutory example cost Dr. Summers his job later on. And the moral of these three different points, ahem, is that a variety of forces have lead to the watering down of the general computer science degree and none of it accomplishes any of the purposes the watering down was supposed to accomplish, but it has made life easier for CS professors who are just going through the motions.