Texts
How to Design Programs, Second Edition (On-line Draft) by Felleisen, Findler, Flatt, Krishnamurthi. MIT Press.
This is the only required textbook for this course. An electronic version is available for free online. Hardcopies of the textbook are also available to purchase.
Do not buy or use the first edition; the details differ dramatically with the second edition.
Realm of Racket, Bice, DeMaio, Florence, Lin, Lindeman, Nussbaum, Peterson, Plessner, Van Horn, Felleisen, Barski. No Starch Press.
Realm is a non-text book that bridges the gap between the programming languages used in this course and Racket programming. So if you want to learn Racket, this book is the one you should read next. It introduces concepts from Racket by developing interactive video-games just like this course, although the games tend to be more involved and use more advanced programming ideas. The book serves as a good companion and continuation of the material in this course.
It is true that Bice, DeMaio, Florence, Lin, Lindeman, Nussbaum, Peterson and Plessner were freshman students when they started working with me on this book.