[plt-scheme] Poacher turned gamekeeper

From: Stephen Bloch (sbloch at adelphi.edu)
Date: Mon Nov 9 10:43:16 EST 2009

On Nov 9, 2009, at 9:50 AM, Matthias Felleisen <matthias at ccs.neu.edu>  

> 1. Use HtDP/2e to get started. Then switch.

You can also take a look at my _Picturing Programs_, which covers a  
lot of the same things as HtDP/2e (including, of course, the  
functional graphics and animation stuff -- don't use the graphics  
exercises in HtDP).  The biggest difference is that (because a lot of  
my students are mathophobic) PP starts with images, and doesn't  
mention arithmetic until after your students have written a lot of  
functions and even a few animations.

> 2. Diagnose first like this. Unless this is a first semester course,  
> ask students to design some function/method in their favorite  
> language (C, C++, Python, ...). Use a simple recursion data type,  
> e.g.,
> geom-shape = circle | square | on-top-of(geom-shape,geom-shape)
> plus an in? function, which consumes a cartesian point and a shape  
> and determines whether the point is within the shape.
> 3. Assuming that the majority can't solve it, proceed with 'in  
> decent colleges, this kind of stuff is taught in the first course.'

Or you could NOT open with antagonism and NOT run down the students'  
previous teachers and background.  Instead, I would say "for those of  
you who have done some programming before, we'll be doing it a little  
differently; this approach may seem weird to you at first, but in my  
experience, it helps you produce correct, working programs faster.   
Approach it with an open mind, and you can combine the best of both  
approaches."  You'll have to decide, based on your group of students,  
whether it'll work better to start by showing them how much they don't  

Steve Bloch

Posted on the users mailing list.