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 high- and middle-school
teachers have said about the approach.
Here's the one-paragraph flyer blurb about
the workshop.
If you're interested in attending, please fill out the
on-line
registration form.
If you've already registered to attend, please see
Local Information for directions, schedules, travel
tips, reimbursement rules, etc.
On the first day, I'd like participants to fill out a brief on-line survey so I know how many people teach
high school, middle school, etc, how many people teach what subjects,
and what you're expecting from this workshop.
At the end of each day, I'd appreciate it if participants would fill out
another brief on-line survey (built into DrScheme) to give me some
feedback on what topics made sense to you, what was unclear, etc.
By the way, these forms are interpreted by a CGI script written in Scheme, and I
analyze the data using another Scheme program.
The workshop will run each day from 9:00 AM (8:30 for breakfast) to 5:30 PM, with breaks for lunch, coffee, fresh air, etc. On Monday, please try to be there a little early, to allow time for getting lost, introductions, and paperwork.
Day | Morning | Afternoon | Evening |
---|---|---|---|
Monday, 7/16/01 | Evaluating expressions; defining variables and functions; design recipe | Booleans and conditionals; another design recipe; symbols | |
Tuesday, 7/17/01 | Design recipe, version 3; structures; graphics, games, and coordinates | Mixed data types | |
Wednesday, 7/18/01 | Lists and their templates | Lists of complex data | Pedagogic and curricular issues |
Thursday, 7/19/01 | Trees | Expressions as trees | Applications, databases, Web, CGI, etc. |
Friday, 7/20/01 | Evaluating Scheme in Scheme | Functional abstraction; miscellaneous topics | |
Saturday, 7/21/01 | Optional lab session: finish projects |
The software we're using, DrScheme, is available for free download for Mac, Windows, and Unix. (It includes some teaching libraries, called "teachpacks", which are incompatible with the current version of the textbook below; after downloading and installing DrScheme, please see the directions to get updated teachpacks.)
The textbook I use for my first-semester course, and from which this workshop is excerpted, is How to Design Programs, by Matthias Felleisen et al at Rice University. The book just came out in print from MIT Press, but it will remain available on-line for free.
Although Scheme's syntax is extraordinarily simple for a computer language, it is still a new language, and you'll need to learn the vocabulary. Here's my page on the minimal Scheme language, covering spelling, grammar, vocabulary, and idioms.
I've summarized the Design Recipe(s) covered in this workshop, and some additional ones covered in my first-semester course. Use them!
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.
I've set up a folder for programming examples, many of them developed by high school teachers.