Academic Year:  2017/8 
Owning Department/School:  Department of Computer Science 
Credits:  6 [equivalent to 12 CATS credits] 
Notional Study Hours:  120 
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: 
 Likeforlike reassessment (where allowed by programme regulations)

Requisites: 
Before taking this module you must take CM10196 OR take MA10209

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)
Department of Mathematical Sciences
 TSMAAFM08 : MSc Modern Applications of Mathematics
 TSMAAWM14 : MSc Modern Applications of Mathematics
 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)
 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)
