Coronavirus information for applicants and offer-holders

We understand that prospective students and offer-holders may have concerns about the ongoing coronavirus outbreak. The University is following the advice from Universities UK, Public Health England and the Foreign and Commonwealth Office.

Read our latest coronavirus information

MEng Computer Science with Industrial Experience

Year of entry: 2021

Course unit details:
Giving Meaning to Programs

Unit code COMP31311
Credit rating 10
Unit level Level 3
Teaching period(s) Semester 1
Offered by Department of Computer Science
Available as a free choice unit? No


Programming languages provide abstractions such as `functions’ which are supposed to allow us to reason about the code at a high level---without running it in our heads. However, these abstractions don’t necessarily behave in the way their names suggest.

In this unit we show that a mathematical theory of program meanings can be developed which encompasses the counter-intuitive behaviour of computations, but preserves our ability to reason abstractly. The machinery required is significant, and delicate at times, and the unit will introduce the fundamental technical tools which help us cope with these complications.


Unit title Unit code Requirement type Description
Foundations of Pure Mathematics B MATH10111 Pre-Requisite Compulsory
Mathematical Techniques for Computer Science COMP11120 Pre-Requisite Compulsory


The unit is based on the idea that programs can be assigned a formal meaning. This allows one to reason about them rigorously in an abstract manner. Standard technical tools used in this area are also introduced.

Assessment methods

Method Weight

Study hours

Scheduled activity hours
Lectures 11
Independent study hours
Independent study 89

Teaching staff

Staff member Role
Andrea Schalk Unit coordinator

Return to course details