[plt-scheme] Re: HTDP - evidently not for everyone.

From: wooks (wookiz at hotmail.com)
Date: Wed Feb 10 13:05:25 EST 2010

On Feb 10, 1:46 pm, Shriram Krishnamurthi <s... at cs.brown.edu> wrote:
> wooks, I am still curious about your larger point.
> WE think programming, done a certain way, can and should be an
> essential skill for everyone.  Whether or not the world agrees, it
> certainly does think everyone should know to read and write.
> But those are also abstract, symbolic skills that are probably "beyond
> the reach" of some.  How should schools respond to that?
> And for that matter, study has shown that some who "can't do X" have a
> much subtler problem: for instance, dyslexia.  Should we have
> administered a "does this spelling look right?" test before school and
> kept them out of reading classes?  (And what if there's a similar
> phenomenon here?)

I don't think it is fair to extrapolate the argument to any X.
The argument is that programming ability is a naturally occurring
attribute that humans either possess or don't, hence the appropriate
comparison would be with some other naturally occurring human
attribute rather than one, like spelling or reading that are skills
generally acquired through teaching.

I'm sure there are better examples but the one that springs to mind is
perhaps riding a bike. If that doesn't fly then I appeal to personal
experience with my attempt to learing to water ski (completely
> I will note, in passing, what is so obvious that some might have
> missed it: the style of programming that the study discusses is not
> that of HtDP.

Yes. Prior to my current experience I would have raised the same

I have now got through about 100 hours of teaching that style. Yes I
know,  I am a comparative neophyte of teaching what would I know. Heck
it wasn't long since I was sharing my own difficulties with the design
recipe here. So  hence my diffidence in what I am about to say but I
will say it nonetheless.

My 100 hours has been with the "great unwashed". People who have not
been filtered through any academic (be it university or high school)
admissions system. The first time I asked them to write a program one
of them produced wrote the whole thing as  one long string with no
intervening spaces. One of my better performers thought that there was
a significance to the  number of dots (....) I put when writing
placeholders in templates.

I show them a posn data structure. They get it. I show them how to
extract data from it and what the contracts are for the constituent
functions that you get for free. They get it. I give them an example
of a date data structure and illustrate how to manipulate it. They get
it. Then I ask them to define a time data structure and write
something like time=? and some of them can't write the template (none
of them managed to write the program). There is a complete inability
to see the similarity between the way the different data structures
they have been shown have been manipulated. After about 80 hours of
teaching a student came up to me and said he had some concepts that he
really wanted me to explain - what were they - contract, purpose test-

I don't want to go further into chapter and verse, but if you want to
measure your beliefs about human aptitude for a universal education in
programming, then my clientele probably provide a less biased sample
than what you are accustomed to.

Posted on the users mailing list.