University education…a rant part II

Alec commented on my post yesterday. Here’s part of his comment:

Universities don’t teach Ruby on Rails because universities are not vocational schools. Universities teach theory, ideas, and thought processes, not individual implementations. This is also why universities do not, as a rule, teach each of: Drupal, Django, WebX, CakePHP, Zend, web.py, Google Web Toolkit, Struts, Spring, Wicket, and all the 10,000 other web frameworks available today. The idea would be that a CS department teaches students how to PROGRAM and the THEORY of computer programming, rather than any one explicit technology. If a school taught only COBOL, for example, it would have seemed very progressive 20 years ago, but the students it produced would be very unprepared for new programing languages and paradigms today.
I agree, Alec, with your point about theory vs. implementations. However, in programming, you must teach theory as it plays out in an implementation. There’s no way around it — you can’t teach the theory of IF THEN if you don’t have a language to express it in. Every CS department much choose a language/platform to teach in. Most choose .NET (C#) or Java.
In the process, universities teach top-down, corporate-style programming and project management. Rails design philosophy — rapid, iterative, feedback-built, try instead of plan — is anti-University. It’s just like few universities use Unix, most use Microsoft, a very top-down, big-corporate, anti-startup OS.
How do you get a huge university which is in and of itself a large entrenched corporation to teach a bottom-up way of doing things? No idea. But it’d be helpful if they did, as that’s where the programming world is moving.
blog comments powered by Disqus