OXFORD UNIVERSITY COMPUTING LABORATORY

Functional Programming


Moderations in Computer Science, Paper CS1
Moderations in Mathematics & Computer Science, Paper CS1
Mathematical Sciences, Paper OCS1
MEng in Engineering & Computing Science, ECS2
MSc in Computer Science, Schedule A

16 lectures MT
Professor Richard Bird

Overview

This is a first course in programming. It makes use of a programming language called Haskell, in which programs can be viewed as mathematical functions. This makes the language very powerful, so that we can easily construct programs that would be difficult or very large in other languages.

An important theme of the course is how to apply mathematical reasoning to programs, so as to prove that a program performs its task correctly, or to derive it by algebraic manipulation from a simpler but less efficient program for the same problem.

The course provides hands-on experience of programming through two lab exercises: the first one aims to make you acquainted with the mechanics of writing Haskell programs, and the second one tackles a more challenging programming task.

Learning Outcomes

At the end of the course the student will be able to:
  1. Write programs in a functional style;
  2. Reason formally about functional programs;
  3. Use polymorphism and higher-order functions;
  4. Reason about the time and space complexity of programs.


[Oxford Spires]



Oxford University Computing Laboratory Courses Research People About us News