Functional programming is a style of programming in which the basic method of computation is the application of functions to arguments. The aim of this introductory course is to review some of the basics of functional programming, using the modern functional language Haskell. The course comprises ten mini-lectures, two extended programming examples, and a take-home exam:
Lectures 0-4 (introduction, the hugs system, types and classes I, types and classes II, defining functions);
Lectures 5-9 (list comprehensions, recursive functions, higher-order functions, functional parsers, defining types);
The course is based upon my forthcoming book, Programming in Haskell, and was prepared for the MGS-APPSEM Spring School held in Nottingham during March 2004.