Textbooks
Required Text
There is one required text for this course. Right now, it exists only
online, so there's no text for you to buy.
Recommended Readings and Resources
- Friedman and Felleisen. The Little Schemer: Fourth
Edition MIT Press, 1996. An alternative
introduction to recursive programming.
- Friedman and Felleisen.
The Seasoned Schemer MIT Press, 1996. More
on functional and imperative
programming
- Felleisen and Friedman. A Little Java, A Few Patterns MIT
Press, 1998. Why all this matters and how it scales to
Java
- Functional
Geekery. A blog and podcast devoted to the use of
functional programming across multiple languages, with
an emphasis on industrial applications.
- Abelson and Sussman. The Structure and
Interpretation of Computer Programs MIT Press, 2nd edition,
1996. The classic textbook on Scheme and the functional approach to
programming.
Scheme Readings
If you wish to learn to use Racket as a tool, which is not the goal of this course, then take a
look at the following, you should go to racket-lang.org, where you can find lots of resources on
Racket and its libraries.
For information about other versions of Scheme and applications,
check out the Community Scheme
Wiki.
Other Readings
-
BUGS in Writing, by Lyn Dupre (Amazon). A book on writing that many computer scientists find
congenial. Conveniently divided into many short chapters, each
devoted to a particular kind of writing error. It's a little fussy,
and the latest printing (which I bought on Amazon in August, 2015)
looks like it was produced on a laser printer that was almost out of
ink.
- The Sense of Style: The Thinking Person's Guide to Writing in the
21st Century, by Stephen Pinker (Amazon). An expert in linguistics analyzes what makes a good
piece of writing work. Excellent discussion of how to construct a
coherent, compelling narrative. Lots of detailed discussion of modern
English grammar and usage, which you may find either fascinating or annoying.
Read the opening chapters carefully and you will be amply rewarded.
- Getting Things Done: The Art of Stress-Free Productivity, by David
Allen. (Amazon). Most graduate students need some help with
managing their time, and this only gets harder as you go along. This
is a system of keeping track of your tasks. It is extremely
nerd-friendly (and I mean that in a good way).
- The Seven Habits Of Highly Effective People, by Stephen
R. Covey. (Amazon). This
is one of the classic books on time management. It gives guidance on
juggling competing demands on your time, setting (and keeping!)
priorities, and the psychological dimension of time management. I've
had a number of students who found this book invaluable.
Last modified: Wed Jul 20 22:28:22 Eastern Daylight Time 2016