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.
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.
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.
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 name||Town||Postcode||Region||Main campus||Campus||Partner|