[Haskell-cafe] Teaching Haskell -- any advice?

Thomas Sutton thsutton at gmail.com
Wed Jun 14 06:49:50 EDT 2006


On 14/06/2006, at 8:09 PM, David House wrote:
> Hi all,
>
> Next year I will have the opportunity to teach Haskell at my school! I
> am very excited about this and hope to offer something beyond the VB6
> and Pascal that is currently available with the school's Computing
> course.
A high school, or a university? I'm planning to create some Haskell  
resources for high school teaching as a project next semester, but I  
haven't got much more than some vague plans at the moment.

> The time slots will be very tight -- one 25 minute session a week.
> However I will have a year's worth of weeks to teach it in, so I hope
> to cover most of the major topics with Haskell, including monads
> (which I appreciate some of the more pedestrian courses tend to skip
> :)).
>
> My question is whether anyone has any advice as to:
>
> 1) How to structure the course as a whole?
> 2) How to structure the lessons (theory/practical balance)?
> 3) How ambitious should I be?
> 4) Which pratical projects work well?
At the moment I'm thinking that a brief introduction to functional  
programming (functions and recursion, maps and folds, and ADTs) will  
be a good start, followed by some project work. The idea is to give  
them just enough of a foundation to get to grips with some simple  
code, then jump into something that they can engage with. I think  
that Haskore and Pan will make ideal vehicles for secondary  
education, but I am still looking for a wider range (not every kid  
like music or graphics). If I can find a way to make it work (at a  
level suitable for high school), I'm planning on using a simple  
matrix maths library for 3D graphics to explain monads.

I've written a few paragraphs about my plans at <http://haskell.org/ 
hawiki/User:Thsutton/Teaching>. Comments, contributions and edits are  
welcome (and will be referenced when I write it up).

Cheers,
Thomas Sutton


More information about the Haskell-Cafe mailing list