[plt-scheme] Re: More pedagogic stuff
On Tue, Aug 12, 2008 at 3:25 PM, Bill <william.wood3 at comcast.net> wrote:
> On Tue, 2008-08-12 at 15:09 -0400, Matthias Felleisen wrote:
> > P.S. David, I appreciate your Navy experience. I was a paratrooper
> > myself. What distinguishes this situation so much from the one in
> > school and college is that your life depends on learning and
> > performing well. (We lost 10-20% of the "students" in paratrooping
> > school due to accidents, some really really bad. Nobody died.)
>
> I think the nature of the subject matter is relevant here. Matthias'
> point is valid when considering jumping out of "perfectly good"
> airplanes, but the sight of a manual presenting Ohm's Law with the
> preface "The material in this document conforms to Department of the
> Army doctrine" gives one pause -- suppose it didn't; would they repeal
> the laws of nature? My training as an electronics technician was fast
> and thorough in some sense, but it gave me first-hand experience of the
> difference between "education" and "training".
>
> Of course, all the military wants is someone that can efficiently and
reliably maintain and repair their ever growing pile of complicated toys.
The important part of the basic electronics was not learning things like
Ohm's law, or how waveguides worked[1], the important part was learning the
process of
1) Recognizing and understanding the problem,
2) Collecting more detailed data to isolate the problem to the appropriate
part.
3) Finally, whacking the appropriate part with a 12" crescent wrench.
These steps pretty much reflect a HTDPish appraoch to writing programs which
I will paraphrase as
1) Understanding and describing the problem, writing test cases, making an
initial template of functions and classes.
2) Breaking the problem into more detailed classes and functions.
3) Writing the code to fill in the functions and classes.
The problem that I see with K-12 computer education is that they concentrate
on step 3 in silly overcomplicated languages like java, maybe occasionally
touching on step 2, and totally ignoring step 1 (and then they wonder why
their students are confused).
Step 1 would be simple if students had an adequate mathematics education
(see http://www.de.ufpe.br/~toom/articles/engeduc/index.htm [2]), but
unfortunately they don't.
I believe that if they want to change K-12 computer science education, they
are more likely to succeed if they circumvent the educational establishment
than if they try to confront it.
The point that I was trying to make is that the military manages to teach
precisely the problem solving skills that HTDP endeavors to with minimal
human intervention. Whatever instructors we had were esentially equivalent
to us, just four years or so older and hapless enough to reenlist.
I do not think that programming per se is or needs to be a particularly
difficult endeavor. With a scant few exceptions, we are not engineers or
scientists, we are file clerks, heirs to the world of Bob Cratchit and
Bartelby. There is nothing wrong with that. The job needs doing, and it
deserves to be done well. Judging from the scope and nature of the software
disasters we are lacking even in competent file clerks.
[1] On the subject of waveguides we were all but lied to, but the knowlege
we recieved was sufficient for us to muddle through.
[2] These are by Andrei Toom of Toom-Cook fame. Yes, it sometimes appears
that he has an axe to grind, but his points on the complete lack of problem
solving in american K-12 education appear valid from where I sit.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20080813/ca17548d/attachment.html>