« Facebook: What's appropriate? | Main | "Training" Should Be a Four-Letter Word »

Books Worth Reading

By Robb Cutler

Some books I've read recently have a lot of applicability to education in general and computer science education in specific. So I thought I'd share...

The Mathematician's Lament by Paul Lockhart talks about how to fix the study of math that we've made so boring and uninteresting, it's no wonder kids don't like it. Read this and think about how we teach computer science.

A Pattern Language: Towns, Buildings, Construction by Christopher Alexander, Sara Ishikawa, and Murray Silverstein. Sally Fincher talked about this book in her SIGCSE keynote this year, though I first learned of it about in the fall from my Human Factors professor. Even though it's about building, the idea of abstracting salient design patterns is brilliant.

The Timeless Way of Building by Christopher Alexander. This is a beautifully-written book which I read before reading A Pattern Language (and which probably should be read before reading APL). While APL is the what and how, TWB is the why and provides the motivation for thinking about design in this manner.

Discrete Mathematics for Computer Scientists by Cliford Stein, Robert "Scot" Drysdale, and Kenneth Bogart. Although I'm not quite through it yet, I'm excited about finally finding a discrete math book that:
1) is written in clear and accessible yet precise language (that could be used in an upper-level high school course), and
2) provides application to computer science problems and algorithms.
Drysdale is the former Chair of the APCS Development Committee, and if you've read his posts on the APCS listserv, you'll understand how clearly written this book is. (Disclaimer: Scot was my undergraduate advisor.)

The Design of Everyday Things by Donald Norman. You should read this book (and read it again if you haven't read it in a while) if you ever write a computer program with a user interface, even though Norman never discusses computer interfaces. (If you've read it recently and want something more practical for interface design, Jennifer Tidwell's Designing Interfaces: Patterns [there's that word again] for Effective Interaction Design is quite good.)

The Unimaginable Mathematics of Borges' Library of Babel by William Goldbloom Bloch. If you haven't read The Library of Babel by Jorge Luis Borges, you should (it's a short story that's freely available on the web). Bloch describes the mathematics behind the story in a very accessible and interesting way.

Feel free to add your favorite books (or even just what you've been reading recently) in the comments!

As John Steinbeck once said, "I guess there are never enough books."

Robb Cutler
CSTA Board of Directors


Not CS specific, but applicable to education: Brain Rules by John Medina. Written by a molecular biologist, this book is about twelve things we know about how the brain works and their consequences on how we learn and perceive the world. Read it, then pass it along to your colleagues!

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)