CS is shallow and lacking paradox
May 31, 2010 at 12:04 pm 3 comments
The criticism in this blog post is interesting. The blogger agrees with those in the field who are saying we don’t do enough to emphasize the rigor and complexity of computer science. It’s interesting that the author also criticizes CS for not teaching its students enough about how to be a better programmer. Those feel like two different things to me: To learn to be a great programmer, and to understand the deep and interesting questions of CS.
Computer science is shallow, and nearly every place it’s taught is at the mercy of “industry”. They rarely teach deep philosophy and instead would rather either teach you what some business down the street wants, or teach you their favorite pet language like LISP. Even worse, the things that are core to Computer Science like language design, parsing, or state machines, aren’t even taught unless you take an “advanced” course. Hell, you’re lucky if they teach you more than one language.
Another way to explain the shallowness of Computer Science is that it’s the only discipline that eschews paradox. Even mathematics has reams of unanswered questions and potential paradox in its core philosophy. In Computer Science, there’s none. It’s assumed that all of it is pretty much solved and your job as an undergraduate is to just learn to get a job in this totally solved area of expertise.
via Shedding Bikes: Programming Culture And Philosophy.
Entry filed under: Uncategorized. Tags: image of computer science, perception of university.
1.
Andrey Fedorov | May 31, 2010 at 1:00 pm
I’ve only seen one undergrad CS curriculum (Rutgers), and although it wasn’t as coherent as it could be (we covered the basics of state machines in at least 4 classes), it was nothing like Zed paints it as. Yes, the two introductory courses were learn-Java-basics, but they were easily skippable via AP exams. After that, discrete math (198:205) and computer architecture (198:211) dove right into everything from gate logic, CPU design, von Neumann architecture, method resolution, call stacks, computability, computational complexity, state machines, etc.
Of course, the point wasn’t to cover them in depth, but to give a taste of how much there is left to learn. I think if Zed had taken those two classes alone, he would be quite humbled by the amount he has left to learn.
2.
Erik Engbrecht | May 31, 2010 at 1:58 pm
I have a feeling Zed is thinking of CS programs of a little lower stature than Rutgers. There are “a ton” (quantification needed) of colleges and universities in the country with computer science programs.
I can’t tell you exactly where the line is…I honestly have no idea. I actually think it’s pretty far down but I also think there are a lot of people in those programs.
3.
Alan Kay | May 31, 2010 at 1:09 pm
This is an interesting damnation of academia, in that the complainer has been so sheltered from the real thing that he confuses academia with the actual field.
There are semi-rational explanations why academic computing has gone so far wrong in so many ways, but they still don’t quite add up to the almost cosmic level of dogma and blindness that obtains, and which surpasses most medieval universities by far.
Best wishes,
Alan