What is a Computer Science Degree good for?
When I was going to school at MIT about 15 years ago, it seemed to me that most of the people getting computer science degrees and excelling in them were people deeply entrenched in the mathematical concepts of programming such as recursion, pointers, iterative styles, parallel and threading theory. Now whether it was MIT’s intent or not, a computer science degree from MIT got you well-primed for doing things like creating your own programming language, solving hard optimization problems such as grid computing, defining your own GUI system, AI and the like, and in fact a lot of people I knew who graduated with MIT computer science degrees did exactly that. Computer Science was not something you took to simply learn how to program. You took Civil Engineering for that. Ironically the class at MIT that taught you C-Programming was offered by the Civil Engineering department, not the Electrical Engineering and Computer Science department. In Joel Spolsky’s article The Perils of JavaSchools