Teaching programming with Haskell
I'm planning on developing some resources using Haskell to teach programming to high school students as part of an education course at the University of Tasmania next semester. I'll document what I do here and, when there is some content, move it into the wiki proper.
As "constructive," "learner oriented," and similar buzz words are all the rage at the moment, I'm currently planning on developing resources suitable for project-based classes allowing students to learn programming through an application that is of interest to them. My current plans centre on creating resources using some of the more interesting applications of Haskell described in The Fun of Programming (listed on Books). At the moment that means: Haskore, Pan, one of the DB libraries, and a more traditional CS project, but I'm sure the list will expand.
I'm also going to see if I can work out a way to make PL semantics accessible to high school students, probably as an challenging project for advanced students. Perhaps getting them to implement an interpreter for a simple language (the un-typed -calculus or a stack based language) and then challenging them to extend it in certain ways might help give them a better insight into programming and programming languages. Examining lazy/non-strict/eager by getting them to modify their interpreters might be one interesting way to go.
It remains to be seen how much of the material I can make accessible at a high school level.