How to Design Programs: An Introduction to Computing and Programming
ROS: I mean, what exactly do you do?
PLAYER: We keep to our usual stuff, more or less, only
inside out. We do on stage things that are supposed to
happen off. Which is a kind of integrity, if you look on every
exit as being an entrance somewhere else.
-- Tom Stoppard,
Rosencrantz and Guildenstern are
We have reached the end of this introduction to computing and program design. While there is more to
learn about both subjects, this is a good point to stop, to summarize, and to look ahead.
From elementary school to high school we learn to compute with one form of data: numbers. Our first
use of numbers is to count real things, say, three apples, five friends, twelve bagels. Later we use
numbers without any appeal to concrete objects, but we have learned that numbers represent information
in the real world.
Computing with software is
algebra for all kinds of data
, not just numbers. Nowadays, computer
programs process representations of music, molecules, law cases, electrical diagrams, architectures of
houses, and poems. Fortunately, we have learned to represent information with other forms of data than
just numbers. Otherwise, computing and programming would become extremely tedious tasks.
Above all, we shouldn't forget that computing means manipulating data through proper basic operations.
Some operations create new values. Others extract values from values. Yet others modify values.
Finally, there are also basic operations for determining to which class a piece of data belongs. Built-in
operations and functions are of course just another class of data. Definition is value creation; application
is a form of value extraction.
When we define a function, we combine basic data operations. There are two fundamental mechanisms
../How%20to%20Design%20Programs/curriculum-Z-H-54.html (1 of 4) [2/5/2008 5:02:08 PM]