You do not need to purchase a textbook for the course. We will use a combination of online materials and posted lecture notes instead. In particular:
For the functional programming portion of the course (first 12 lectures), we will roughly follow the first third of How to Design Programs. Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi. MIT Press, 2001. (available free online). The WPI bookstore has some copies (under CS 1101) or visit your favorite online bookstore if you wish to purchase a hard copy.
Don't be confused by the fact this book is about Scheme and we are using Racket in this course. At the introductory level of this course and book, there are no important differences. (For details about the name change see here.)
For the second half of the course, we will post notes for most of the lectures on the syllabus page. Most of these pages include sections for frequently asked questions (FAQ) on the material. If you want a question answered in the FAQ, let us know (either by email or on the dicussion board).
If you want to go more deeply into programming with Racket on your own, extensive online resources are available. You should not need this material unless an assignment explicitly says so! We include this link because many students have enjoyed experimenting beyond the scope of the assignments.
You do not need a Racket language manual for this course. We will cover all of the constructs you need in class.