[plt-scheme] Teaching Scheme

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Mon May 3 09:41:40 EDT 2010

Samuel,

(First, a disclaimer that I have only dabbled occasionally in the field 
of CS education, but I have a lot of varied experience in industry and 
research.)

It's commendable that you sought out input on the site from language 
experts.  I suspect that, like many substantial projects, this journey 
leads in a very different direction than was originally intended.  
Here's why...

I think that the current formulation of that site misrepresents what's 
important and true about these languages, and encourages people who 
actually think they need that kind of guidance on picking languages to 
make decisions on the wrong criteria and even snap judgments.  (Put up a 
page on COBOL, and you've got a winning language for much of the 
audience in the snap judgment category.)

Also, and much more importantly, at the HS level, the languages 
themselves are incidental to the substance of what is being taught and 
the methods.  Designing a first-rate curriculum from scratch is a huge 
undertaking of many person-years, even if you can eventually pull it 
off.  Fortunately, others have already done it.  Start with the package 
that others developed, not the programming language.  On shoulders of 
giants, and all.

If I were to put up a Web site to help HS teachers choose a programming 
language to teach, it would take this form: "Which language?  Whoa, now 
hold on there, pardner.  In most situations, you want to teach HTDP.  In 
a few situations, you want to teach SICP.  And here are a few more 
packages of approaches/textbooks/materials to consider in some 
situations, including some packages based on HTDP or its tools.  In all 
situations, you use whatever languages the package is set up to use."

If you want to help HS teachers with CS education, instead of doing a 
language comparisons site, I'd suggest learning more about HTDP or 
another package, and finding ways to build upon it.

Cheers,
Neil



Posted on the users mailing list.