Program By Design

formerly known as TeachScheme!, ReachJava

July 5-8, 2011

Dr. Stephen Bloch, Adelphi University

Introduction calendar HtDP textbook examples daily survey recipes
Introduction Calendar Textbook
(including pictures
and worked exercises)
How to Design Programs Textbook
(see also the incomplete second edition)
Examples Daily Survey Design recipes

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 read more and sign up for a workshop.
If you've already registered to attend, please see Local Information for directions, schedules, travel tips, reimbursement rules, etc.

The current series of Program By Design workshops (2007, 2008, 2009, 2010, 2011 ) grew out of over ten years of TeachScheme! workshops, of which I ran three in July 2003, July 2002, and July 2001, as well as condensed versions of the workshop in June, 2000 (8 hours) and January, 2001 (2 hours).

There are two major difference between TeachScheme! and the current workshops: first, the current workshops are targeted primarily at college-level faculty rather than high school and middle school teachers; and second, we cover both a Scheme-based introduction and the beginnings of a Java-based followup course in a week. As a result, these workshops will be quite intense and fast-paced.

Supporting documents and software

The software we're using, DrRacket, is available for free download for Mac, Windows, and Unix.

The textbook I've used a number of times for my first-semester course is How to Design Programs, by Matthias Felleisen et al at Rice University. The book is available in print from MIT Press, but it will remain available on-line for free. There's also a second edition in the works -- not finished, but with more than enough material for this week.

I wrote an updated textbook based on HtDP, but aimed at high school and less-elite-college students, particularly the mathophobic ones, and will use it for most of our workshop; let me know if you're interested in classroom-testing it. It was published last August, and as of a few weeks ago is also available on-line for free.

I've summarized the Design Recipe(s) covered in this workshop, and some additional ones covered in my first-semester course. Use them!

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, has had more experience than anyone else at teaching a full-year introductory sequence using this approach; see her teaching page.

You might also be interested in Jack Crouch's CS1 Web site. Jack Crouch teaches a 9th-grade course on beginning programming, using Scheme, DrScheme, and How to Design Programs.


This material is based upon work supported by the National Science Foundation under Grant No. 618543 and previous Grant No. 0010064. 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.


Last modified:
Stephen Bloch / sbloch@adelphi.edu