[plt-scheme] htdp and modules
On Nov 22, 2007, at 12:14 PM, Jan Christiansen wrote:
> Hi,
>
> Am 22.11.2007 um 15:18 schrieb Prabhakar Ragde
>
>> They do support `require', so it is possible that you can import
>> exactly the functionality you want. However, in a similar
>> situation, I have chosen to move to Pretty Big.
>
> this looks fine, too. Is there a possibility to get rid of the #f?
> In a corresponding lecture the students are taught scheme and they
> don't learn anything about this extra argument. I would like to
> stick to this lecture as close as possible.
See previous email for technical details.
English language: Kurs translates as course, Praktikum as lab or lab
course.
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.
[Any course that doesn't involve some programming is equally bad.]"
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.
-- Matthias