Our curriculum has two parts, the first using Scheme and the follow-up using Java. The materials are (or will be) available free on-line, so you can check them out (and later use them) at no cost.

Books

Our primary textbook is How to Design Programs (HtDP). We are working on a follow-up text, How to Design Class Hierarchies (HtDCH), that covers the transition from Scheme to Java. This book is currently in draft and available to people who are already part of our project.

For those interested in using HtDP, we have several additional exercises that accompany HtDP (but aren't in the current edition). We also have a new book, How to Design Worlds (HtDW), that assumes some background in HtDP to introduce programming with images and animation.

For more advanced students of programming languages, we have Programming Languages: Application and Interpretation, which is suitable for undergraduates and beginning graduate students, and Programming Languages and Lambda Calculi for advanced undergraduates and graduate students.

Software

All these books use the same programming environment, DrScheme. DrScheme obviously supports Scheme; less obviously, it includes a mode called ProfessorJ that implements Java in the same friendly, lightweight, intuitive interface. One simple download gets you everything.

Also...

Talks and Papers Papers and talk slides explaining the Project
Scheme Testimonials What others have said about our Project and on using Scheme
Java Testimonials What others have said about the Java part of our Project
FAQs Questions and answers, and a contact email address