The Haskell Programming Course

Course Overview

Haskell is taught in the first six weeks of the Computing degree.  There are four hours of lectures and six timetabled laboratory hours each week over that period.  Students are given weekly exercises of growing complexity; these are marked and reviewed at weekly small-group tutorials by an academic tutor assisted by a senior undergraduate – a so-called Undergraduate Teaching Assistant, or UTA.  UTAs are completely wonderful and every institution should have them!  If you want to know more, ask me.

The core module does not cover Haskell’s more advanced features, such as GADTs, type-level programming, stateful computation etc., although students have an opportunity to study these in an optional Advanced Programming course that runs in parallel. A ‘Haskell in Practice’ class is also held each week to reinforce the practical problem-solving aspects of functional programming.

The course is examined by a relatively simple “interim” test that takes place at the end of the course, typically in early November, and a main test that is held in January, immediately after the Christmas recess.