Programme And Module Handbook
Course Details in 2023/24 Session

If you find any data displayed on this website that should be amended, please contact the Curriculum Management Team.

Module Title LI Functional Programming
SchoolComputer Science
Department Computer Science
Module Code 06 34253
Module Lead Eric Finster
Level Intermediate Level
Credits 20
Semester Semester 1
Pre-requisites LC Logic & Computation - (06 30180)
Restrictions None
Contact Hours Lecture-33 hours
Supervised time in studio/workshop-22 hours
Guided independent study-145 hours
Total: 200 hours
Description This module builds on the Logic and Computation module, introducing students to the concept of types, core to the design of modern functional programming languages. The use of types ranges from giving a high level of control over the way a program interacts with its environment (monads) to providing an alternative foundation of mathematics which is particularly suited to reasoning about programs (dependent types). This module introduces students to type theory, type systems, and their applications to the design of modern functional programming languages. In addition, students will learn about practical applications of types to control effects via monads and manage
Learning Outcomes By the end of the module students should be able to:
  • Write programs involving infinite data structures.
  • Write functional programs using advanced features such as type classes and monads.
  • Write formal proofs of correctness of programs using dependent type theory.
  • Understand the Curry-Howard correspondence between logic and type theory.
Assessment 34253-02 : Continuous Assessment : Coursework (100%)
Assessment Methods & Exceptions Main Assessments: Continuous assessment (100%)
Supplementary Assessments: Examination (100%) over the Summer period
Other Edgbaston version of Dubai module 34254
Reading List