Why is Computer Science Education Obselete?

I spent a great deal of time last time thinking about why Computer Science education fails to attract as many students as it once did. One of the most significant event as of late has been the launch of the Web Science Research Initiative. Basically, Tim Berners-Lee has concluded that a Computer Science education is not an ideal foundation to study the Web. Why is that? I think the answer is probably related as to why, if we discard Software Engineering, Computer Science is really the new Physics: attracting a few bright individuals, but failing to attract crowds.

Computer Science was founded by Mathematicians and Physicists as a Data Processing Science. And because Computers are Data Processing Devices, this new science would be the science of computers. What an attractive proposition!

Except that computers are not data processing devices: they evolved beyond this initial status. Modeling computers as Turing Machines is no longer useful in most cases. The Web is hardly a physical network of Turing Machines. Computers are very social and cultural devices. Building a new application like YouTube has very little to do with programming a data processing device. It would seem like Tim agrees with me:

Within computer science, Web-related research has largely focused on information-retrieval algorithms and on algorithms for the routing of information through the underlying Internet. Outside of computing, researchers grow ever more dependent on the Web; but they have no coherent agenda for exploring the emerging trends on the Web, nor are they fully engaged with the emerging Web research community to more specifically focus on providing for scientists’ needs. (Berners-Lee et al., Science, 2006)

Information Technology is more important than ever. Computers are more important than ever. But, alas, it does not follow that Computer Science is still relevant. I studied carefully many programs out there and it seems obvious to me that Computer Science education is not adapting to what computers really are used for in 2007. It is basically staying true to the vision of Computer Science as a data processing science.

See also my post More CS Ph.D.s than ever, what about research jobs?

8 thoughts on “Why is Computer Science Education Obselete?”

  1. Could the reduction of interest in computer science in western universities be tied to the increase in computer scientists in far eastern countries, willing to work for less, and now hooked up globally?

    You mean outsourcing? Sure it is a factor. But I cannot convince myself that students see YouTube and think “oh! this sort of things are built in India, I would need to move there to find work, this is no good”. Outsourcing has mostly do with Enterprise Computing and I can’t believe that many students dream of a Computer Science job in Enterprise Computing.

    Too bad for all of us because the future, in my opinion, is all about computerized collaboration!

    I am not sure we have anything to worry about. Except that maybe, we should take Tim Berners-Lee seriously.

  2. Could the reduction of interest in computer science in western universities be tied to the increase in computer scientists in far eastern countries, willing to work for less, and now hooked up globally?

    Too bad for all of us because the future, in my opinion, is all about computerized collaboration!

  3. I’m inclined to agree with you, although it all depends on how broadly or narrowly you define Computer Science. It’s true that a narrow definition makes Computer Science similar to Physics. In fact, they are almost the same thing when you look at quantum computing (John Wheeler’s “it for bit”). I suppose my work these days (Computational Linguistics) isn’t really Computer Science in any strict sense. The computer is just a medium that let’s me play with natural language, statistics, mathematics, and ideas. I don’t pay much attention to many of the things that seemed to matter when I first studied AI and Computer Science (e.g., computational complexity, logic, programming languages like Lisp and Prolog, proving correctness a la Dijkstra, P versus NP, problem space search as a paradigm for intelligence); instead, I use linear algebra, statistics, cognitive psychology, and linguistics.

  4. Thought-provoking post, Daniel. I’m of the “let 1000 flowers bloom” school. We need to have a science of computing – e.g. programming languages or representations of thought-instructions to a computing device; we need to have sciences of languages and meaning (computational semantics etc.), we need to have “information sciences” (how to organize knowledge) and sciences relating to how people communicate / interact / behave with computing media (“computational social science” perhaps).

    Hard core “computer science” (algorithms / complexity, etc.) should properly be considered a branch of mathematics, IMO.

    Why CS isn’t as interesting any more is perhaps akin to why mathematics isn’t popular – it’s hard, only some people can do it well and there are not many emotional positive feedback loops. Developing cool servlets that serve a computational social science purpose is somewhat more emotionally rewarding, I expect.

  5. Why CS isn’t as interesting any more is perhaps akin to why mathematics isn’t popular – it’s hard, only some people can do it well and there are not many emotional positive feedback loops.

    Alas, Mathematics is now more popular than Computer Science. Actually, some think that Mathematics picked some of the CS students. Here is some (strong) anecdotal evidence:

    http://www.daniel-lemire.com/blog/archives/2005/11/10/computer-science-now-is-physics-of-the-seventies/

    The result is true at UQAM, as well, where Mathematics (taken largely… which includes statistics, actuarial sciences, and so on) is far more popular than Computer Science, and growing!

  6. I suggest that people who spend much of their working day developing software fall into two broad categories: 1. those who are “classically trained” in computer science, and 2. those who have “learned a few things, here and there”.

    The first group (let’s call them “computer science” people) possess a grounding in computer science. They are familiar with things like twos-complement arithmetic, understand white C is a higher-level language than assembly, etc.

    Those in the second group (let’s call them “I.T.” people) may or may not have any university training at all, an have learned whatever development tools are popular in industry at the moment.

    This is not a matter of snobbery but a question of who understands the principles underlying the tools. An analogous difference exists between civil engineers and contractors who work on the same building site.

    Having a large supply of “I.T.” people has fueled industry’s need for ever-larger computing systems. At the same time, there are many instances when employing people with such a mix of backgrounds has impeded companies’ work.

    Frankly, I think it is painfully obvious that industry has taken the short-sighted route by not demanding more of its I.T. people.

    Given this context in the job market, it would not be surprising to learn that student interest in computer science is fading.

  7. Computer Science history is rife with examples of how the latest hot thing was destined to take over the whole field. What will TB-L do when the web is superseded? I mean, aren’t most of the “research problems” associated with “web science” about fixing its poor suitability for various tasks? To me, that’s not something to research; it’s something crying out for replacement.

    Meanwhile, those of us who call ourselves computer scientists and who do things far from the madding crowd will continue on our merry way.

    By the way, will be soon all need calculators to post messages to blogs? :^)

Leave a Reply

Your email address will not be published. Required fields are marked *