- Student Records
Programme & Unit Catalogues

 

Department of Computer Science, Unit Catalogue 2009/10


CM30226: Logic and semantics of programming languages

Click here for further information Credits: 6
Click here for further information Level: Honours
Click here for further information Period: Semester 2
Click here for further information Assessment: CW25EX75
Click here for further informationSupplementary Assessment: Supplementary assessment information not currently available (this will be added shortly)
Click here for further information Requisites: Before taking this unit you must take CM20167 or take CM20218
Description: Aims:
To develop a detailed understanding of a body of mathematical theory that is used in the formal conceptual analysis of programming languages.

Learning Outcomes:
By the end of the unit, successful students will be able to:
1. give the central definitions and theorems of one of the mathematical theories underlying the formal study of programming languages;
2. use a mathematical theory to give a formal description of computational phenomena;
3. evaluate a new mathematical theory that is proposed as providing formal support for computation.

Skills:
Problem Solving, Communication, Application of Number.

Content:
* Categories, functors, natural transformations, adjoint functors
* Cartesian closed categories with natural numbers object
* Interpretation of the simply-typed lambda calculus in a Cartesian closed category
* Natural deduction for intuitionistic propositional logic
* The Curry-Howard isomorphism, relating natural deduction to the lambda-calculus and hence to CCCs.
NB. Programmes and units are subject to change at any time, in accordance with normal University procedures.