2011-12-01

What is Computer Science?

"Computer Science is the Science of Computing Machinery."
When I hear this I want to put a stick in the eye of the person who just said it. That's not a definition, it's a slogan. Yet, this is the definition used in most textbooks that even try to tackle the subject.

Let's sit down and try and break this apart. When do we cross the line from just being a machine and becoming a computing machine? Where is the distinction? Perhaps that will tell us something.

If I take a light bulb and plug it in and it turns on, that's not a computing machine.

If I take a light bulb and plug it in and it flickers... not still not computing since the flicker is random and has nothing to do with anything outside the light bulb.

If I take a light bulb and plug it in and it doesn't light. That's not computing, that's broken.

If I take a light bulb and it has a sensor so that when I plug it in, it doesn't light ... until I darken the room. In the dark it turns on, and in the light it turns off.

This machine has now crossed into the realm of computing. Albeit the simplest possible processing is happening: an outside stimulus is causing a response. We could call this a stimulus-response agent. Even so, this is now a computing machine and what is going inside this simple device is the very smallest beginning of something of interest.

Now, name a system that we can clearly define as a computer that does not exhibit some form of this behavior. Even a batch processing system that starts at a given time takes input or stimulus from outside itself, processes this inside itself, and then produces output.

What is Computer Science? We study something called "Computing" perhaps that should have been the name of the field? Computing is really what I've been working with my entire career and that's really what the degree is all about.