Skip to main content

Unit information: Functional Programming in 2019/20

Please note: It is possible that the information shown for future academic years may change due to developments in the relevant academic field. Optional unit availability varies depending on both staffing and student choice.

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. Wu
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.