School of Electronic Engineering and Computer Science

ECS713P/ECS713U Functional Programming

Module code: ECS713P/ECS713U

Credits: 15
Semester: SEM1

Recent approaches to systems programming frequently involve functional programming either overtly in the sense that they use modern functional programming languages for rapid prototyping, or more covertly in that they use techniques developed in the functional setting as a way of lending greater structure and clarity to code. This module gives a structured introduction to programming in the modern industrial functional language Haskell, and to techniques such as map-reduce and monadic programming.

The module aims to:
•    give a structured introduction to the language Haskell.
•    familiarise the student with the underlying type structures and the basic programming methodology.
•    exhibit more advanced type structures (such as functors) and programming techniques such as map-reduce and monadic programming, and to illustrate how these are used to give flexible extendible and parallelisable solutions to programming problems.

Level: 7