UCL (University College London)

UCL (University College London)

Logic, Semantics and Verification of Programs

Software verification is a pressing challenge worldwide, with airplanes and phones, for example, relying on the correctness of complex software. The new course provides an excellent and rare opportunity to study highly theoretical aspects of computer science with a practical application in program verification. The programme is delivered through a combination of lectures, seminars, class discussions and project supervision.

Entry requirements

A minimum of an upper 2nd class UK Honours degree in a subject such as mathematics or computer science, or an overseas qualification of an equivalent standard. A fluency in mathematics and some experience of computer programming are required; familiarity with elementary logic is a great advantage.

Course modules

Core modules: Logic of programs and transition systems; shared-memory currency (modelling and verification); validation and verification. Options include: Introduction to cryptography; cryptanalysis; networked systems; requirements engineering and software architecture; software abstractions and systems integration; probabilistic and unsupervised learning; approximate inference and learning in probabilistic models; applied machine learning; programming and mathematical methods for machine learning; complex networks and web; financial market and modelling and analysis; language based security.

Assessment methods

Student performance is assessed though a combination of unseen written examination, coursework (much of which involves programming and/or data analysis), practical application, and the research project.


Qualification Study mode Fee Course duration
MSc Full-time £ 11,090 per Academic year (home fees) 1 years
MSc Full-time £ 23,020 per Academic year (overseas fees) 1 years

Campus details

Campus name Town Postcode Region Main campus Campus Partner

Key information

Postgraduate Administrator