[plt-scheme] Question on Teaching Scheme with DrScheme

From: Eli Barzilay (eli at barzilay.org)
Date: Wed Nov 6 03:51:17 EST 2002

On Nov  6, Jerzy Karczmarczuk wrote:
> ... etc. showing getLine in Haskell which is somehow out of thread...

I just assumed that the main point of the thread you started was
supposed to be the problem of mixing functional and imperative styles
in Scheme, and was expecting your familiar conclusion (familiar in the
context of this list).  I'm sorry if this was not the case.

> Look, I didn't address my suggestion to *you*. You don't like Python?
> Good. But this is your problem.

Ugh, you addressed it to a list with some known context.  That context
might include talking about other languages then the one which it (the
context) implies as Hole, but what I said about Python does not
contradict that -- I have learned to use it to get new ideas, and I
did get some, but I also was horrified by some other "less known"
warts that they hide.

> So perhaps I clarify my point.
> Teaching programming to kids (between 8 and 20 years) is delicate,
> [...]

Of course, and I think that the higher half of this range is
completely different than the lower half.  I always had personal
interest in seeing how it works for the lower half (and it was always
in my future plans if it didn't turn out that we're not going back to
live in the place where I could try teaching it to 10-12 year old

> [...] but this is a (more-or-less, only Nobody is perfect) coherent
> pedagogic view, while some, taken ad-hoc Logo emulators, with
> turtles, etc. - less.

(I think that htdp vs logo target different age ranges.)

> A long time ago, very long, I had a talk to 5th graders (about 12y
> old) showing them Logo. After some time they asked me: "where is
> this turtle?"  "Can you change its form from this silly triangle?",
> and a plethora of other questions, upon which I concluded that I
> sold them the model of THINGS in a computer, not of ACTIONS.

And this is exactly the stuff that I'm (personally) interested in.

[Just out of curiosity -- did you ever hear about something called
concrete abstractions?  The cubed thing that I'm including with
Swindle is based on that work (which comes from Grame in Lion).  The
basic idea is that it is easier for people who are not programmers to
take abstraction on concrete objects rather than on syntactic
identifiers that are an artificial addition to your world.]

> [...] I will advertize object-oriented approach to pedagogy. No, no
> C++. Python or Smalltalk. Why? Because of Simplicity, and
> transparence of the object layer.

But being the swiss army knife that it is, we do have OO, and in some
pretty powerful forms.  I think that interactivity, reflexivity, and
persistance could be added to the list easily.

> (Access to dictionaries)

That's closely related to one of the major things I have against the

> > But maybe that Alice thing is the magic idea that will convince me
> > otherwise and make me commit to C++ for ever?
> Such acrimony is utterly useless here, my dear Colleague.

No acrimony intended, just curiosity about something that sounded like
it should be interesting (and it was) and I had no clue what I'd find
once I see it (which was not damaging my view of the current knife).

> Anyway this list is not the forum on which I will respond to your
> next posting, why some things *seem* more natural in Python than in
> Scheme.  I state only that independently of the language, some
> "patterns" should be available, and for the moment good patterns in
> Scheme are elsewhere, not in the turtle package. [...]

I'm probably confused since I didn't realize that your problem was
specific to the turtle package.

Anyway, I hope to at least get across the message that I *am*
interested in this subject, so I would appreciate any further insights
you have -- my email is known and I will be happy to get more stuff
about this.

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!

Posted on the users mailing list.