- Felleisen, Findler, Flatt, and Krishnamurthi. How to Design Programs, 2nd edition.
- 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
- Dybvig. The Scheme Programming Language, 4rd edition MIT Press, 2004
Other Readings
- If your native language is not English, or even if it is, the
following book will help you improve your writing:
Strunk and White The Elements of Style Longman (1918, 4th ed., 1999). A useful resource on English grammar and usage. Also contains many good tips on style. It is not perfect, but it has a lot of good content. It is available online but it's far more useful to have the 105-page paperback in your hand, or on your desk to inspire you.
- 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).
Last modified: Mon Aug 4 21:42:33 Eastern Daylight Time 2014