Text only

 University | Catalogues for 2006/07

University of Bath logo - link to University home page

Department of Computer Science, Unit Catalogue 2006/07

CM20167 Programming III: functional programming

Credits: 6
Level: Intermediate
Semester: 1
Assessment: CW25EX75
Before taking this unit you must (take CM10134 and take CM10135) or take CM10140
(or equivalent approved by Director of Studies). Aims: To illustrate how the logical and semantic foundations of programming languages are translated into usable programming languages. To give students practical experience of using a functional programming language.
Learning Outcomes:
1) To recognise the connections between mathematical logic and the development of programming languages;
2) To use the notion of reduction in the lambda calculus;
3) To be able to explain how the lambda calculus provides a foundation for the functional family of programming languages;
4) To be able to demonstrate practical competence with the Lisp family of languages, typed functional languages and lazy functional languages;
5) To be able to explain the key features of such languages.
IT (T, A), Application of Number - inference (T, A).
From lambda calculus to Lisp and functional programming. The Church-Rosser theorem and applicative versus normal order evaluation. Typed lambda calculus and type inference. Combinatory logic. Lazy functional languages. Programming in a functional style. Other calculi.


University | Catalogues for 2006/07