[OT] Teaching Haskell in High School

Hal Daume III hdaume@ISI.EDU
Mon, 3 Feb 2003 16:01:55 -0800 (PST)


Hi all,

Before getting in to this, let me preface my question(s) with a note that
I have checked through the Haskell in Education web page and have found
various links off there of interest (and I've googled, etc.  In
short: I've done my homework).

That said, I've been in rather close correspondence with my math/computer
science teacher from high school.  When I first took CS there, they taught
Pascal (a year early they had been teaching Scheme).  They switched over
to VB (alas) recently and have been teaching that for a few years now.

The teacher really wants to get away from VB, but is having a somewhat
difficult time deciding what to go to.  The two most promising options are
Haskell and Java.

Aside from hype, etc., the primary advantage to Java is that the Advanced
Placement (AP) tests are in Java.  For those of you unfamiliar with these,
high school students can take AP tests and then (typically) skip out of
first semester college courses.  They're essentially proficiency exams.

The way the computer science curriculum is set up at my old school is
essentially as either (a) an elective or (b) a replacement for senior year
math.  The students in the course are usually about 2/3 juniors (16 year
olds) taking it as an elective and 1/3 seniors who want to get our of
senior year math :).  Either way, they've both taken differential
calculus, algebra, etc.  Note, however, that high school math in the
states is very rudimentary when it comes to things like "induction" and
"proofs" and things of this sort.

Due to the fact that CS is essentially an alternative math course, I think
it would be interesting to teach Haskell.  It would enable the instruction
of things the students wouldn't have come across in their ordinary math
studies, etc.

However, I'm also well aware that Haskell is very difficult to learn (and,
I'd imagine, to teach).  Given that this would in large part be a first
language for them and that they won't have a college-level math
background, do you think it would be too much to attempt to teach Haskell
at this level, and stick with Java?

I'm really interested in any comments/experience/etc. that people have
that might assist the teacher (and, to some extent, me) make this
decision.

Thanks in advance!

 - Hal