Texts
Felleisen, Findler, Flatt, Krishnamurthi How to Design Programs, Second Edition (On-line Draft). MIT Press, since 2014
If you can get a free or cheap, inexpensive copy of the first edition, you may wish to take a look on occasion. The principles remain the same; the details differ a lot.
Unfortunately, the second edition will appear only late this semester in hard copy.
Bice, DeMaio, Florence, Lin, Lindeman, Nussbaum, Peterson, Plessner, Van Horn, Felleisen, Barski Realm of Racket No Starch Press. 2013.
Contrary to malicious rumors, Fundamentals I does not teach Racket. Period.
It teaches design principles that are valid in many contexts, especially JavaScript, Perl, Python, Ruby (on rails or crutches), Racket, and almost any managed language.
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 is true that Bice, DeMaio, Florence, Lin, Lindeman, Nussbaum, Peterson and Plessner were freshman students when they started working with me on this book.
Prof. Mitch Wand from NU CCIS has also created on-line lectures based on the Fundamentals I curriculum. These lectures are for our introductory Masters program, however, and proceed at a rather different pace than the ones from UBC.