Skip to main content

Unit information: Functional Programming in 2019/20

Please note: Due to alternative arrangements for teaching and assessment in place from 18 March 2020 to mitigate against the restrictions in place due to COVID-19, information shown for 2019/20 may not always be accurate.

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Functional Programming
Unit code COMS10006
Credit points 10
Level of study C/4
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Wang
Open unit status Not open




School/department Department of Computer Science
Faculty Faculty of Engineering


This unit provides an introduction to functional programming, assuming no prior exposure to the paradigm. The aim is to introduce types and functions. Important principles include evaluation order, function composition, lambda-abstraction, higher-order functions, and function composition.

Intended learning outcomes

Students should be able to understand and produce programs using a functional programming language.

They should also be able to identify the key features of such languages.

Teaching details

Lectures, supported by labs and seminar sessions.

Up to 4 hours per week: 2 hours of lectures, 2 hours labs, interchanged with seminar sessions as appropriate.

Assessment Details

Exam: 100%

Reading and References

Richard Bird. Thinking functionally with Haskell. ISBN: 9781107452640.

Miran Lipovaca. Learn you a Haskell for great good. ISBN 9781593272838.