CM30226: Logic and semantics of programming languages
[Page last updated: 20 April 2021]
Academic Year:  2021/2 
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% 
Supplementary Assessment: 
 Likeforlike reassessment (where allowed by programme regulations)

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

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:  * Syntactic models of computation (e.g. the simplytyped lambdacalculus, an abstract imperative programming language)
* Semantic models of computation (e.g. cartesian closed categories, domains, denotational and operational models)
* The use of logic as applied to computation (e.g. the CurryHoward isomorphism, program logics).

Programme availability: NB. Postgraduate programme information will be added when the postgraduate catalogues are published in August 2021 
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)
 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)
 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)
 USCMAFM01 : MComp(Hons) Computer Science (Year 3)
 USCMAAM02 : MComp(Hons) Computer Science with Study year abroad (Year 3)
 USCMAKM02 : MComp(Hons) Computer Science with Year long work placement (Year 3)
 USCMAFM14 : MComp(Hons) Computer Science and Mathematics (Year 3)
 USCMAAM14 : MComp(Hons) Computer Science and Mathematics with Study year abroad (Year 3)
 USCMAKM14 : MComp(Hons) Computer Science and Mathematics with Year long work placement (Year 3)
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)
 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)
 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)

Notes:  This unit catalogue is applicable for the 2021/22 academic year only. Students continuing their studies into 2022/23 and beyond should not assume that this unit will be available in future years in the format displayed here for 2021/22.
 Programmes and units are subject to change in accordance with normal University procedures.
 Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any prerequisite rules.
 Find out more about these and other important University terms and conditions here.
