Dr. T. Field
Objectives
This course aims to teach the fundamentals of programming and problem solving
through the use of the very high-level functional programming language Haskell.
The emphasis is on the use of abstraction to simplify the programming task.
Functional languages are ideally suited for this as they have a very succinct
syntax and posses mathematical properties that convey powerful control and data
abstraction capabilities.
Contents
The course will teach the Haskell programming languages in full introducing topics such as recursion equations, pattern matching, polymorphic type checking, data abstractions, classes and overloading, higher order functions and lazy evaluation. The course will be supported by practical work using the Hugs Haskell interpreter By the end of the course the student should have a complete knowledge of the Haskell programming language and the ability to write functional programmes. At a deeper level they should have an appreciation of the power of abstraction and compositional rules for program construction.