|more useful options|
is in my opinion, this: The Perils of JavaSchools. Courtesy of Mr. Joel Spolsky..
His thesis boils down to this statement from the post: "I've seen all kinds of figures for drop-out rates in CS and they're usually between 40% and 70%. The universities tend to see this as a waste; I think it's just a necessary culling of the people who aren't going to be happy or successful in programming careers." The reason for those dropout rates?
"You used to start out in college with a course in data structures, with linked lists and hash tables and whatnot, with extensive use of pointers. Those courses were often used as weedout courses: they were so hard that anyone that couldn't handle the mental challenge of a CS degree would give up, which was a good thing, because if you thought pointers are hard, wait until you try to prove things about fixed point theory."
A sensible course of study in any subject starts with basic concepts and moves by steps to the most difficult topics. The monastic metaphor of perlmonks.org reflects the idea of helping individuals move forward. One makes progress initially by mastering the basics and a process of trial and error. Naturally, more difficult topics are likely to take longer to master. I'd be willing to bet that there are any number of monks who are happy and successful in programming careers who didn't bother with a jaunt through an institution that espouses Spolsky's elitist views on higher education.
In my view, the inability of a student to master a subject can be as much a failing of the teacher as of the student.
Edit by GrandFather - removed gratuitous br tags.
With respect to brian_d_foy's comments, I carefully re-read my phrasing and I want to clarify that I don't think of Spolsky as an elitist generally. I was simply referring to his views on CS education. Plus, after re-reading the blog post, I think it is at least partly tongue-in-cheek.
Spolsky mentions "all-Java" schools. I certainly hope there is no such thing. Students should certainly be exposed to more than one programming language in a degree program.
I have changed the title of this from "Worst blog post ever on teaching programming." I admit, that was a little over the top. Hopefully, the new title is more reasonable.