CM30226: Logic and semantics of programming languages
[Page last updated: 02 August 2022]
Academic Year:  2022/23 
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 CM10311 OR take MA10209

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.

Aims:  To develop a detailed understanding of a body of mathematical theory that is used in the formal conceptual analysis of programming languages.

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: 
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)
 USCMAFB27 : BSc(Hons) Computer Science and Artificial Intelligence (Year 3)
 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)
 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)
 USCMAFM27 : MComp(Hons) Computer Science and Artificial Intelligence (Year 3)
 USCMAAM27 : MComp(Hons) Computer Science and Artificial Intelligence with Study year abroad (Year 3)
 USCMAKM27 : MComp(Hons) Computer Science and Artificial Intelligence 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)

Notes:  This unit catalogue is applicable for the 2022/23 academic year only. Students continuing their studies into 2023/24 and beyond should not assume that this unit will be available in future years in the format displayed here for 2022/23.
 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.
