Module 25344 (2013)

Module Description - Functional Programming

The Module Description is a strict subset of the Syllabus Page, which gives more information

Module TitleFunctional Programming
SchoolComputer Science
Module Code06-25344
DescriptorCOMP/06-25344/LI
Member of StaffMartin Escardo
LevelI
Credits10
Semester1
Pre-requisites None
Co-requisites None
RestrictionsNone
Contact hours 45 (22 hrs lectures, 22 hrs labs, 1 revision lecture)
Delivery Eleven two-hour weekly lectures plus eleven two-hour demonstrator-supervised laboratory sessions.
Description The purpose of this module is to present the basic ideas of functional programming, to demonstrate the main elements of good programming style and to illustrate some of its uses and applications.
Outcomes
On successful completion of this module, the student should be able to:Assessed by:
demonstrate an understanding of the main features and advantages of a functional language Examination, Continuous Assessment
write programs and implement algorithms in a functional style Examination, Continuous Assessment
use functional programming techniques to solve problems Examination, Continuous Assessment
use higher-order and list-manipulating functions Examination, Continuous Assessment
use various data types appropriately in the solution of problems Examination, Continuous Assessment
AssessmentSessional: 1.5 hr examination (50%), continuous assessment (50%). In order to pass the module, students have to both achieve 40% overall and at least 40% in the examination.
Supplementary (where allowed): By examination only (100%).
Texts Richard Bird , Introduction to Functional Programming using Haskell (second edition) , 1998
Simon Thompson , Haskell: The Craft of Functional Programming (second edition) , 1999
Graham Hutton , Programming in Haskell , 2007
Bryan O'Sullivan , Real World Haskell , 2008
Paul Hudak , The Haskell School of Expression , 2000
Antony J. T. Davie , An Introduction to Functional Programming Systems Using Haskell , 1992
Michael G. Hinchey and Steven A. Jarvis , Functional Programming with Haskell , 1997