What

This is the central web page for Programming III, a course about Functional Programming. Copies of the lecture slides will appear here, alongside a collection of potentially useful links and other bits of information.

You might like to look at the Unit description for this course.

Who

Your lecturer is Guy McCusker.

When

There are three hours of lectures per week for this course.

  • Wednesday, 11.15, 8W2.1
  • Friday, 16.15 and 17.15, 3E2.1

Coursework

The assessed coursework assignment was set on October 19th 2007 and is due by December 13th 2007. It is worth 25% of the total mark for this unit.

Books

There are a great many books about Lisp, functional programming, the lambda-calculus and so on. You might consider looking at:

  • Structure and Interpretation of Computer Programs by Abelson and Sussman. An outstanding introduction to many aspects of computer science and programming, based on Scheme. The full text is on the web.
  • The Little Schemer and The Seasoned Schemer by Friedman and Felleisen. Quirky books which explain a lot about programming in Lisp/Scheme in an entertaining way. I have borrowed examples from these books for the lectures.
  • The Lambda-Calculus: its Syntax and Semantics by Barendregt. The classic text in the lambda-calculus, telling you everything you might need to know in full mathematical detail.
  • How to design programs by Felleisen, Findler, Flatt and Krishnamurthi. Another general programming book based on Scheme, with full text online.

Other resources