- UCAS course code
- UCAS institution code
BSc Computer Science / Course details
Year of entry: 2024
- View tabs
- View full page
Course unit details:
Giving Meaning to Programs
|Available as a free choice unit?
|Foundations of Pure Mathematics B
|Mathematical Techniques for Computer Science
COMP11120 or MATH10111
This unit aims to equip students to participate in technical discussion of high-level programming language features, covering the core concepts which underpin contemporary developments. It makes the case that questions about what programs mean ought to be posed and settled on the basis of rigorous mathematics, and gives a sense of what has been achieved in this area. This unit is a good choice for those who want to understand programming languages at a deep level; it also provides a solid foundation for work or further study in the field.
On the successful completion of the course, students will be able to:
Describe and analyse the behaviour of terms in the various models of computation studied
Compute the denotations of programs and types
Prove selected results about programs using structural induction
Apply fundamental theoretical results about programming languages and particular techniques to reason about programs
Prove equivalence of programs in a suitable programming language making use of appropriate techniques and models
Untyped lambda calculus
Simply typed lambda calculus
Proof method: logical relations
Observational equivalence of programs
The function model of the simply typed lambda calculus
PCF — the core of modern functional languages
Denotational semantics of PCF
Taster of advanced topics (perhaps polymorphism or concurrency)
Teaching and learning methods
This unit is delivered in a blended manner. Self-study materials are made available in the form of detailed notes which include exercises, as well as videos and formative self-assessment quizzes that allow students to check their understanding. Each week there is a session that allows students to ask questions about the materials and beyond, explore exercises, and discuss the ideas underlying the taught material.
Students are expected to spend 4-6 hours per week engaging with the self-study materials, including solving some of the non-assessed exercises. Twice in the semester a significant effort will be required to solve the set coursework.
- Analytical skills
- Problem solving
|Practical skills assessment
Feedback is provided in a number of ways, via the self-assessment quizzes, via solutions provided for unassessed exercises, via the weekly study sessions where students can query their understanding, and via feedback provided on the two pieces of coursework.
|Scheduled activity hours
|Independent study hours