Program By Design

formerly known as TeachScheme!, ReachJava

July 8-12, 2013

Dr. Stephen Bloch, Adelphi University
Dr. Lee Stemkoski, Adelphi University

Introduction Google daily survey
Introduction Textbook
(including gallery of beginning student work, pictures
and worked exercises)
CS4HS Daily Survey

If this is your first visit to this page, please read the Introduction for an overview of what the workshop is about, why it might be relevant to your teaching, and what other teachers have said about the approach.
If you're interested in attending, please contact us.
If you've already registered to attend, please see Local Information for directions, schedules, travel tips, reimbursement rules, etc.

This workshop is funded by Google's CS4HS program.

Supporting documents and software

The software we're using, DrRacket, is available for free download for Mac, Windows, and Unix. Many of the programs we write will also work in WeScheme, a Web-based programming environment for which you don't need to download and install anything at all.

We'll be more-or-less following my textbook Picturing Programs, which is available for free online (and about $30 in print). You may also want to look at How to Design Programs second edition and the older but more complete first edition, from which I learned much of this stuff; they may be more appropriate for college-level courses. And you might be interested in the Bootstrap curriculum, which is similar to ours but used predominantly with middle-school students.

Towards the end of the week, we'll take a break from Racket and discuss our experiences adapting this approach to Java.

Course Web Sites

For one example of how this material is used in a course, see my Programming for Poets course.

Viera Proulx, at Northeastern University, teaches a full-year introductory sequence (a first course using Racket, and a second course using Java) for CS majors; see her teaching page.

Worcester Polytechnic offers a first course for majors and non-majors and an accelerated first course using this approach.

Drs. Stemkoski and Bloch taught basically the same approach in Spring 2013 in Java. It's harder in Java, and all the programs are two or three times longer, but it can be done; see this course.

For more examples, see this list of colleges and universities using Scheme in their curricula.

Can I get course credit for attending the workshop?

I had originally planned to provide a graduate course credit for free, but my budget is tight and I've withdrawn that offer in order to cover people's travel and lodging expenses. I can give you a lovely Certificate of Participation, specifying the subject and duration of the workshop, which for many people is sufficient to get in-service credit from their employers.


This material is based upon work supported by the National Science Foundation under Grant Nos. 618543 and 0010064, both now expired. The present workshop is funded by Google's CS4HS program. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation or Google.


Last modified:
Stephen Bloch / sbloch@adelphi.edu