Some Readings
Here is a list of computer science and mathematics books that I found
interesting.
- How To Solve It, 2nd ed., G. Polya. (1957)
A classic book on how to solve mathematics (and other) problems. The
techniques can be generalized to all kinds of problems, including computer
science problems. Some problem solving techniques discussed include:
analogy, checking your result, generalization, symmetry, working
backwards. A must read for anyone serious about solving problems.
- The Cartoon Guide to Computers, Larry Gonick. (reprinted from
a book called The Cartoon Guide to Computer Science, 1983)
An irreverent, but useful guide to the fundamentals of computing. From
counting on fingers to vacuum tubes to the modern digital computer, this
book talks about the concepts that form the basis of computers. Topics
include: hardware, Turing machines, algorithms. It's a little dated
now, but the discussion on hardware is pretty good.
- Godel, Escher, Bach: An Eternal Golden Braid, Douglas
Hofstadter. (1999, not sure what edition it is, but it's the 20th
anniversary edition (first edition was 1979))
It's hard to give any kind of a description of an amazingly deep book such
as GEB. Hofstadter discusses a wide collection of topics related to
philosophy, metaphysics, computers, and the mind. The subtitle of the
book is "A Metaphorical Fugue on Minds and Machines in the Spirit of
Lewis Carroll." Hofstadter uses "normal" prose to
explain his ideas, but his innovation is the use of dialogs between the
ficticious characters of Lewis Carroll's Alice in Wonderland (and
other characters as well).
Anyone interested in the mind or the limits of computers, or just curious
about what the universe is all about should read this book.
- Engines of Logic: Mathematicians and the Origin of the Computer,
Martin Davis. (2001, originally called The Universal Computer: The Road
from Leibniz to Turing, published in 2000)
A discussion of the mathematical and theoretical ideas that led to the
invention of the modern computer. Mathematical ideas in the area of
logic and set theory led to interesting debates. It all culminated
with Godel when he proved his completeness and incompleteness
theorems. Alan Turing took those ideas and created a formal model of
computation, now called the Turing machine. John von Neumann took
Turing's ideas even further and created one of the first working
electronic computers.
Davis, a fixture in the theory of computing, complements the mathematical
ideas with details about the mathematicians' lives. He also knew
several of the people that he discusses, so his book is very personal.
- Surreal Numbers, Donald E. Knuth. (1974)
Two people are stranded on a deserted island and invent mathematics from
first principles, with a few hints from some relics left behind by people
who had been on the island before. This is a wonderfully innovative
approach to explaining things. As Knuth says:
I have prepared Surreal Numbers as a
mathematical dialogue of the 1970's, emphasizing the nature of creative
mathematical explorations. Of course, I wrote this mostly for fun, and
I hope it will transmit the same pleasure to its readers, but I must admit
that I also had a serious purpose in the back of my mind. Namely, I
wanted to provide some material which would help to overcome one of the most
serious shortcomings in our present educational system, the lack of training
for research work; there is comparatively little opportunity for students to
experience how new mathematics is invented, until they reach graduate
school.
I decided that creativity can't be taught using a
textbook, but that an "anti-text" such as this novel might be
useful. I therefore tried to write the exact opposite of Landau's
Grundlagen der Mathematik; my aim was to show how mathematics can be
"taken out of the classroom and into life," and to urge the reader
to try his or her own hand at exploring abstract mathematics.