[plt-scheme] htdp and modules

From: Jan Christiansen (jac at informatik.uni-kiel.de)
Date: Fri Nov 23 05:11:09 EST 2007


Am 22.11.2007 um 18:30 schrieb Matthias Felleisen:

> General remark: I shared this with someone from Darmstadt earlier  
> today: HtDP languages don't teach Scheme. "After studying HtDP, you  
> will know some Scheme-like language. But it is not Scheme and we  
> certainly ignore the general libraries until you have an idea of  
> how to use them.
> The purpose of the subsets is indeed to provide a gentle slope for  
> the acquisition of a full language. Using full-fledge languages for  
> introductory courses instead means the compiler must assume that  
> you know the full language when it explains an error.
> We chose Scheme-like languages because we believe that the language  
> has the correct attributes for an introductory language."
> And in the same message: "Any university-level course that teaches  
> a programming language per se is a waste of time and money. Sue  
> your university to get the tuition back, if it does.

I totally agree with this. I think it was a misunderstanding caused  
by my missing ability to translate my german thoughts into english  
words. The course I mentioned does not teach scheme. It teaches the  
principles and illustrates these using the HtDP language. The  
students also learn syntax in this course so they are able to use  
these principles in an exercise course and in my lab course. I want  
to stick as close as possible to this syntax to avoid confusion.

> The purpose of university-level courses should be to teach you the  
> principles (especially design principles) that empower you to learn  
> anything that the world will throw at you. Learning happens by  
> doing, so in CS it can only happen via programming. Overlearning  
> the details of any language is silly when time is so precious and  
> short at the university level. Karlsruhe, where I went to school  
> but didn't study CS, the introductory course used Algol 60, Simula  
> 67, Pascal, Scheme, C, Haskell, Eiffel, and Java over 20+ years as  
> far as I know. In other words, languages become (un)fashionable in  
> a shorter time than it takes to graduate in the US not to speak of  
> slow-motion places such as Germany.
> It is for this reason that we (PLT) made the construction of  
> languages inexpensive and easy. One of us (Eli) makes a language  
> per week for an upper-level (middler, junior) course on PLs. It is  
> much much easier to teach principles with such artificial but  
> realistic looking languages than with full-fledged languages. And  
> if you do it right, your students can adjust to any language they  
> encounter, including ASM.

I also agree with all this/

Regards, Jan

Posted on the users mailing list.