Academic Item Menu


Computability: formal languages and problems, Turing Machines (TMs), computability, (semi-)decidability, universal TMs, Church-Turing thesis, halting problem, reduction and undecidability proofs, examples; Complexity: run time, space, complexity classes, non-determinism and NP, polynomial reductions and NP completeness, optimisation problems and approximation, randomisation; Languages and Automata: regular expressions and languages, finite automata, determinisation, context-free grammars and languages (CFLs), Chomsky normal form, word problems, pumping lemma, push-down automata, decidability problems for CFLs; Semantics and Correctness: while programs, assertions and program correctness, Hoare logic, loops and loop invariants, relative completeness of Hoare logic (and its role in a proof of Gödel's incompleteness result)

Study Level


Offering Terms

Term 1



Delivery Mode

Fully on-site

Indicative contact hours


Conditions for Enrolment

Course Outline

To access course outline, please visit:


Pre-2019 Handbook Editions

Access past handbook editions (2018 and prior)

Helpful utilities like sharing or printing this page
Share Link via Email
Download PDF