[OT] Teaching Haskell in High School
Hamilton Richards
hrichrds@swbell.net
Mon, 03 Feb 2003 22:13:32 -0600
I had the good fortune to teach Haskell to some thousand freshmen a
few years ago, and noticed that some who did especially well had no
previous programming experience. This supports Wolfgang Jeltsch's
claim that Haskell is not inherently difficult to learn.
I've taught similar numbers of students C++, and I find Haskell
considerably easier to teach (and much easier on the conscience!).
Freshmen innocent of programming experience are increasingly rare,
however, so we have to deal mainly with students who've been trained
to think not only imperatively but operationally. Their weak
program-design skills, and their meager understanding of the
excessively complicated languages they're using (C++, Java, ...),
result in marathon debugging sessions, which they're been trained to
accept as a normal part of software development.
How such students respond to Haskell depends heavily on their
attitude. Some feel lost without a debugger, and resist any nudge
away from their operational thinking. The more open-minded students,
on the other hand, recognize in Haskell a means of expressing
computational ideas with far more economy than they are used to, and
report that learning Haskell has improved their thinking about
programming even if they never use Haskell again.
Whether Haskell would be a good language for a high-school
programming class (this thread's original question) depends on the
class's goals. If it's intended as vocational training, i.e., direct
preparation for employment, then some language more fashionable in
industry would probably be appropriate. On the other hand, if it's
intended as training in precise thinking, then Haskell can't be beat.
Best,
--Ham
At 3:03 AM +0100 2/4/03, Wolfgang Jeltsch wrote:
>On Tuesday, 2003-02-04, 01:01, CET, Hal Daume wrote:
>> [...]
>
>> However, I'm also well aware that Haskell is very difficult to learn (and,
>> I'd imagine, to teach).
>
>Hi,
>
>I wouldn't claim that Haskell is very difficult to learn. I think, people
>often have problems with learning Haskell because they know imperative
>programming and try to apply their imperative thinking to programming in
>Haskell.
>
>Some months ago, a first year student told me that she liked Haskell very much
>and that she didn't find it very difficult. I asked her if she had had
>experiences with other programming languages before learning Haskell. She
>answered: "No."
>
>> [...]
>
>Wolfgang
--
------------------------------------------------------------------
Hamilton Richards Department of Computer Sciences
Senior Lecturer The University of Texas at Austin
512-471-9525 1 University Station C0500
Taylor Hall 5.138 Austin, Texas 78712-1188
ham@cs.utexas.edu hrichrds@swbell.net
------------------------------------------------------------------