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

Assessment:
 CW 25%, EX 75% 
Supplementary Assessment: 
CM20218A Mandatory Extra Work (where allowed by programme regulations)

Requisites:
 Before taking this unit you must take CM10227 and take CM10228 or (take CM10196 or take MA10209) and take CM20217 
Description:
 Aims: To introduce the basic notions of formal semantics of programming languages as a tool for understanding and analyzing programming.
Learning Outcomes: On completion of this unit, students will be able to:
1. Use formal semantic techniques to make the meaning of simple programming constructs precise.
2. Analyze simple programs and programming features using formal semantic techniques.
3. Define and explain the syntax and semantics of the lambdacalculus, and its role as a model of computation and as an idealized programming language.
Skills: Use of IT (A), Application of Number (T/F, A), Problem Solving (T/F, A).
Content: * Simple, idealized programming languages, including at least a small imperative language and the lambdacalculus.
* Formal semantics of these languages, in operational or denotational style, or a combination.
* The use of formal semantics for defining programming constructs and reasoning about properties of programs such as correctness and equivalence.

Programme availability: 
CM20218 is Compulsory on the following programmes:
Department of Computer Science
 USCMAFB06 : BSc (hons) Computer Science (Fulltime)  Year 2
 USCMAKB07 : BSc (hons) Computer Science (Fulltime with Thick Sandwich Placement)  Year 2
 USCMAFB20 : BSc (hons) Computer Science and Mathematics (Fulltime)  Year 2
 USCMAKB20 : BSc (hons) Computer Science and Mathematics (Fulltime with Thick Sandwich Placement)  Year 2
 USCMAAB20 : BSc (hons) Computer Science and Mathematics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USCMAAB07 : BSc (hons) Computer Science with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USCMAFM01 : MComp (hons) Computer Science (Fulltime)  Year 2
 USCMAKM02 : MComp (hons) Computer Science (Fulltime with Thick Sandwich Placement)  Year 2
 USCMAFM14 : MComp (hons) Computer Science and Mathematics (Fulltime)  Year 2
 USCMAKM14 : MComp (hons) Computer Science and Mathematics with Industrial Placement (Fulltime with Thick Sandwich Placement)  Year 2
 USCMAAM14 : MComp (hons) Computer Science and Mathematics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USCMAAM02 : MComp (hons) Computer Science with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
CM20218 is Optional on the following programmes:
Department of Mathematical Sciences
 USMAAFB15 : BSc (hons) Mathematical Sciences (Fulltime)  Year 2
 USMAAFB15 : BSc (hons) Mathematical Sciences (Fulltime)  Year 3
 USMAAKB16 : BSc (hons) Mathematical Sciences (Fulltime with Thick Sandwich Placement)  Year 2
 USMAAKB16 : BSc (hons) Mathematical Sciences (Fulltime with Thick Sandwich Placement)  Year 4
 USMAAAB16 : BSc (hons) Mathematical Sciences with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USMAAAB16 : BSc (hons) Mathematical Sciences with Study Year Abroad (Fulltime with Study Year Abroad)  Year 4
 USMAAFB13 : BSc (hons) Mathematics (Fulltime)  Year 2
 USMAAFB13 : BSc (hons) Mathematics (Fulltime)  Year 3
 USMAAKB14 : BSc (hons) Mathematics (Fulltime with Thick Sandwich Placement)  Year 2
 USMAAKB14 : BSc (hons) Mathematics (Fulltime with Thick Sandwich Placement)  Year 4
 USMAAFB01 : BSc (hons) Mathematics and Statistics (Fulltime)  Year 3
 USMAAKB02 : BSc (hons) Mathematics and Statistics (Fulltime with Thick Sandwich Placement)  Year 4
 USMAAAB02 : BSc (hons) Mathematics and Statistics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 4
 USMAAAB14 : BSc (hons) Mathematics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USMAAAB14 : BSc (hons) Mathematics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 4
 USMAAFB05 : BSc (hons) Statistics (Fulltime)  Year 2
 USMAAFB05 : BSc (hons) Statistics (Fulltime)  Year 3
 USMAAKB06 : BSc (hons) Statistics (Fulltime with Thick Sandwich Placement)  Year 2
 USMAAKB06 : BSc (hons) Statistics (Fulltime with Thick Sandwich Placement)  Year 4
 USMAAAB06 : BSc (hons) Statistics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
 USMAAAB06 : BSc (hons) Statistics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 4
 USMAAFM14 : MMath Mathematics (Fulltime)  Year 2
 USMAAFM14 : MMath Mathematics (Fulltime)  Year 3
 USMAAAM15 : MMath Mathematics with Study Year Abroad (Fulltime with Study Year Abroad)  Year 2
