“91974˙CH01˙ﬁnal” — 2012/12/14 — 13:55 — page2—#2
2 CHAPTER 1 Introduction
study of the natural world. It seeks to understand how things work by forming hypotheses,
conducting experiments, and analyzing results. Given that deﬁnition, you might think
that computer science is the exploration and discovery of how a computer works. As a
novice, that might be interesting to you, but as a discipline it makes little sense given that
computers are manufactured by humans. Computer science is not like biology or physics,
disciplines where we are trying to understand the working of the human body, or how the
universe works. In the words of Edsgar Dijkstra: “Computer science is no more about
computers than astronomy is about telescopes.”
So, what is computer science? Computer science is the study of algorithms.
To put it another way, computer science is primarily about problem solving and computa-
tional process. For beginning computer scientists, ﬁnding the solution to a problem is often
the easiest part. Turning the solution into a set of step-by-step instructions that can be
performed by a computer (creating a computational process) is often diﬃcult. Computer
scientists often call this set of instructions a program. You may think of it as something
like a recipe for a beginning cook. First, bring the water to a boil, then add the macaroni,
and so on.
Since you are familiar with using advanced programs that are designed to make the com-
puter look intelligent, it is important to dispel that idea right away. Here are six important
things to remember about computers as you are learning to program:
1. Computers are dumb.
2. Computers only do what you tell them to do.
3. Computers do what you tell them to do really fast, so they appear smart (but they
4. Computers don’t remember anything unless you tell them how to remember.
5. Computers take your instructions literally. If you tell them to do something dumb,
they do it.
6. A computer only does what it is told and in exactly the order you tell it.
1.3 Why Study Computer Science?
Now that you have a better idea of what computer science is, you may be wondering why
you should learn any more about it. Our belief is that computer science is for everyone.
Some of the biggest computer success stories come from people who were not even computer