- Felleisen, Findler, Flatt, and Krishnamurthi. How to Design Programs, 2nd edition, Chapters 1-8.
- Felleisen, Findler, Flatt, and Krishnamurthi. How to Design Programs, 1st edition MIT Press, 2001, Parts 5-6.
We will be making available a printed version of those portions of the 2nd edition that we will be using. Details on the availability of this document will be announced.
Recommended Readings
- 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
Scheme Readings
If you wish to learn to use Scheme as a tool, which is not the goal of this course, then take a look at the following:
- The manuals in the Help Desk for the libraries in DrScheme
- The Scheme cookbook, a collection of Scheme programming recipes
- Felleisen, Findler, Flatt, and Krishnamurthi. How to Use Scheme. 2002.
- Dybvig. The Scheme Programming Language, 3rd edition MIT Press, 2004
Other Readings
- The Seven Habits Of Highly Effective People by Stephen R. Covey. (Amazon) Most graduate students need some help with managing their time, and this only gets harder as you go along. 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.
- Getting Things Done: The Art of Stress-Free Productivity, by David Allen. (Amazon) This is a system of keeping track of your tasks. It is extremely nerd-friendly (and I mean that in a good way).
- For many of you, this course will be an exercise in personal growth as
you learn to approach tasks in a new way, take criticism, and work in
a very intensive environment. If you have some favorite books on
this topic, now is a good time to get them out. Here is one that I
like:
Zen Guitar, by Philip Toshio Sudo. (Amazon) When he says "welcome to my dojo", read "welcome to *my* dojo". When he says "Pick up your guitar" read "Pick up your HtDP book, a sheet of paper to design on, and then (and only then) your keyboard and mouse." When he says "practice with intention", read "design the most beautiful program you can." (And so far as I know, that is the author's real name: it is not a linux joke).
Last modified: Mon Jul 29 16:05:54 -0400 2013