CS not a science, not about computers
Although the name of the field, Computer Science, does not imply it, computer science is not really a science and is not really about computers. From Abelson and Sussman (1985 and 1996), The Structure and Interpretation of Computer Programs (the intro CS course text at MIT):
Underlying our approach to this subject is our conviction that “computer science” is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology—the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of “what is.” Computation provides a framework for dealing precisely with notions of “how to.”This is spot on. Abelson mentions in his lecture that surveying techniques originating in ancient Egypt led to geometry (earth measure), but not until geometry transcended the survey and encompassed formalisms did it become applicable to so much more. The same can be said of computer science: the work we do today in formalizing notions of "how" will one day transcend the computer and apply to so much more -- and it's just starting to happen with our realization that computation shares much in common with biology.
Oh, and computer programming is something that most computer scientists know how to do, but is not what they really do. It's like how musical composers know how to play an instrument, but it's not really what they do and there's much more to music than just knowing how to play. It's a skill. Knowing how to program (or play a piano) and being able it do it well helps a lot (and many times pays the bills), but it's only the surface.
In my next post: the redefinition of computer science in hopes of a revitalization.


