[plt-scheme] HtDP in Python!
On Feb 16, 2009, at 3:19 PM, Arthur Nunes-Harwit wrote:
>
> I believe that HtDP can be used with any language that supports
> functional programming. (Of course, there may not be support for
> the groovy web and graphics examples.)
As Shriram said, we have a successful transition to Java -- using the
design recipe. Of course, because you have different means of
abstractions in OOPLs than FPLs, HtDC needs additional chapters on
creating and using abstractions. Furthermore, if you drive this
thought to the end, you quickly realize how OOP design ends up
looking functional. See abstraction of traversals in OOP, last
chapter in HtDC.
> I can't yet say. I am planning a course using Python. That
> wasn't my first choice. The curriculum committee was suggesting
> Scheme or Haskell. Most of the sub-committee members voted against
> both of those.
It is nonsense to evaluate a first course in terms of the language
that is used. HtDP is as much about Scheme as Python is about
basketweaving. The question is whether you teach notational mechanics
in the first course or whether you teach design.
From a purely egotistical pov, I welcome your decision of course. It
means that you're putting your students at a great disadvantage in
the first semester/year, and they may never catch up. Being at
neighboring schools and competing for the same scarce slots in the
Boston area, my students will have a unique advantage in four years
from now.
Please forward my thank-you to your colleagues. -- Matthias
P.S. I gave a talk comparing the situation at NEU when I arrived here
(and you know it) with the one that we have now wrt to our
curriculum. Back then it was all-Java-all-first-year-and-no-
programming jobs after five. Now it's the opposite.
"Wir sind froh, dass die Absolventen schon Java können. Programmieren
müssen wir denen halt noch beibringen."
overheard in a German firm, via Mike Sperber