Archive for June, 2007

Who needs a Computer Science degree?

Really, who needs it? Programmers don’t. To be a good programmer you need to understand how to construct a good algorithm, and some basics of data structures: what they are, and how to use them. You don’t need to be able to implement the ‘classic’ algorithms, as they’re almost always embedded in whatever language you’re using these days. You don’t even often need to know what data structure you’re using, as script languages like perl etc. will handle that for you. Taking a few CS courses can teach you these things, but so can reading a book or even just working on an Open Source project.

Systems administrators certainly don’t need it. Computer operators don’t need it. Even complex fields like security don’t need Computer Science—they need math.

What does a Computer Science degree give you? Primarily you get experience with some language or two that your school has chosen. Often that language is outdated (some schools still teach in Cobol). A good school will most likely train you in Java. Java is good, but what about the new wave of Ruby? How about next week’s language? Really, the targets move so fast, keeping up with them is almost impossible.

So, if anyone has a real use for Computer Science (aside from teaching it), let me know. I’d like to hear of it.