[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: peasant revolt against DrScheme!



Brent,

> It's quite straightforward to think through a problem in terms of
> "what happens when there is nothing in the list?  Now what happens
> when you have one thing in the list?  Now extrapolate".

It's even better than that.

Even 10-year-olds have no trouble (with perhaps some hand-holding)
describing recursively-defined data.  When the control follows from
the data in a mechanical fashion, they have no real difficulty
describing the control also.  We've seen this with actual kids.

Most 10-year-olds (except maybe you Caltech types) have never heard of
factorial.  Worse, most people will never use factorial in their
entire lives, period (excepting Gamma-function-happy Caltech types).
It's an instance of using the useless to illustrate the profound
through the trivial.

Both factorial and fibonacci suffer another problem.  Factorial
rapidly produces numbers beyond the expressive capability of the
implementations of most other languages (and a few Schemes).
Fibonacci rapidly becomes too expensive to compute.  Students are
notorious for imputing properties resulting from X to Y (for Y =/= X).
The fibonacci case is especially insidious because, if you write the
standard iterative version, you *don't* suffer from the blow-up.  You
can only imagine what *that* does to students' understanding.

Shriram