I am supposed to be holding a tutorial session in an Undergraduate Haskell Course, which is also supposed to be a first course in programming for a few of the students. Ideally, the tutorial should be interesting, interactive and inviting problem solving skills.
My audience is a group of Undergraduate students, a large number of which are mathematically oriented and a few graduate students, majoring in Computer Science. For the undergraduate students, it can be assumed that quite a few of them are new to programming or CS in general. And functional programming is new to almost everyone. This tutorial is part of a course they are all attending - the aim of which is to introduce programming.
I am wondering what sort of things I could cover in such a tutorial. Some ideas I had are these:
- A sudoku solver
- A Brain**** Interpretter
- An Arithmetic Expression Parser and Interpretter
- Discussing a data structure which the students have not seen before - like binomial heaps, or red black trees
What other things could I try? Functional Programming specific applications are especially welcome.