Academic Year: 
2014/5 
Owning Department/School: 
Department of Computer Science 
Credits: 
6 
Level: 
Honours (FHEQ level 6) 
Period: 
Semester 2

Assessment Summary: 
CW 25%, EX 75% 
Assessment Detail: 
 Course work (CW 25%)
 Examination (EX 75%)

Supplementary Assessment: 
CM30226 Mandatory Extra Work (where allowed by programme regulations)

Requisites: 
Before taking this unit you must take CM10196 or take MA10209 or equivalent. 
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 simplytyped lambda calculus in a Cartesian closed category
* Natural deduction for intuitionistic propositional logic
* The CurryHoward isomorphism, relating natural deduction to the lambdacalculus and hence to CCCs.

Programme availability: 
CM30226 is Optional on the following programmes:
Department of Computer Science
 USCMAFB06 : BSc(Hons) Computer Science (Year 3)
 USCMAAB07 : BSc(Hons) Computer Science with Study year abroad (Year 4)
 USCMAKB07 : BSc(Hons) Computer Science with Year long work placement (Year 4)
 USCMAFM01 : MComp(Hons) Computer Science (Year 3)
 USCMAAM02 : MComp(Hons) Computer Science with Study year abroad (Year 4)
 USCMAKM02 : MComp(Hons) Computer Science with Year long work placement (Year 4)
 USCMAFB20 : BSc(Hons) Computer Science and Mathematics (Year 3)
 USCMAAB20 : BSc(Hons) Computer Science and Mathematics with Study year abroad (Year 4)
 USCMAKB20 : BSc(Hons) Computer Science and Mathematics with Year long work placement (Year 4)
 USCMAFM14 : MComp(Hons) Computer Science and Mathematics (Year 3)
 USCMAAM14 : MComp(Hons) Computer Science and Mathematics with Study year abroad (Year 4)
 USCMAKM14 : MComp(Hons) Computer Science and Mathematics with Year long work placement (Year 4)
 USCMAFB09 : BSc(Hons) Computer Science with Business (Year 3)
 USCMAAB10 : BSc(Hons) Computer Science with Business with Study year abroad (Year 4)
 USCMAKB10 : BSc(Hons) Computer Science with Business with Year long work placement (Year 4)
 USCMAAB14 : BSc(Hons) Computer Science with Mathematics with Study year abroad (Year 4)
 USCMAKB14 : BSc(Hons) Computer Science with Mathematics with Year long work placement (Year 4)
 USCMAFB01 : BSc Computing (Year 3)
 USCMAKB01 : BSc Computing with Year long work placement (Year 4)
Department of Mathematical Sciences
 USMAAFB15 : BSc(Hons) Mathematical Sciences (Year 3)
 USMAAAB16 : BSc(Hons) Mathematical Sciences with Study year abroad (Year 4)
 USMAAKB16 : BSc(Hons) Mathematical Sciences with Year long work placement (Year 4)
 USMAAFB13 : BSc(Hons) Mathematics (Year 3)
 USMAAAB14 : BSc(Hons) Mathematics with Study year abroad (Year 4)
 USMAAKB14 : BSc(Hons) Mathematics with Year long work placement (Year 4)
 USMAAFM14 : MMath(Hons) Mathematics (Year 3)
 USMAAFM14 : MMath(Hons) Mathematics (Year 4)
 USMAAAM15 : MMath(Hons) Mathematics with Study year abroad (Year 4)
 USMAAKM15 : MMath(Hons) Mathematics with Year long work placement (Year 4)
 USMAAKM15 : MMath(Hons) Mathematics with Year long work placement (Year 5)
 TSMAAFM08 : MSc Modern Applications of Mathematics
 TSMAAWM14 : MSc Modern Applications of Mathematics
 TSMAAFL02 : PG Dip Modern Applications of Mathematics
 USMAAFB05 : BSc(Hons) Statistics (Year 3)
 USMAAAB06 : BSc(Hons) Statistics with Study year abroad (Year 4)
 USMAAKB06 : BSc(Hons) Statistics with Year long work placement (Year 4)
