Friday, June 27, 2008

How to Think Like a Computer Scientist Java Version 5.0.1

The goal of this book, and this class, is to teach you to think like a computer
scientist. I like the way computer scientists think because they combine some of
the best features of Mathematics, Engineering, and Natural Science. Like math-
ematicians, computer scientists use formal languages to denote ideas (specifi-
cally computations). Like engineers, they design things, assembling components
into systems and evaluating tradeoffs among alternatives. Like scientists, they
observe the behavior of complex systems, form hypotheses, and test predictions.
The single most important skill for a computer scientist is problem-solving.
By that I mean the ability to formulate problems, think creatively about solu-
tions, and express a solution clearly and accurately. As it turns out, the process
of learning to program is an excellent opportunity to practice problem-solving
skills. That’s why this chapter is called “The way of the program.”
On one level, you will be learning to program, which is a useful skill by itself.
On another level you will use programming as a means to an end. As we go
along, that end will become clearer.