400-004-8861
For entry in Academic Year 2022-23 Year 1 modules You must study the following modules: Automated Software Verification This module aims to train students in both the principles and the practice of software verification. A range of verification approaches, including both testing and formal verification, will be covered. The use of logic as a specification language for prog... MSc Project Your research project will enable you to explore in depth some aspect of your specialist subject area. You will be allocated a project supervisor with whom you will meet and agree a project brief and plan. These must be submitted to, and agreed by, ... Research Methods and Project Preparation The Module will prepare students for the summer Research Project and research based coursework exercises. It will give students a grounding in the research methods and techniques necessary in order for planning and successful execution and completion of t... Software Modelling Tools and Techniques for Critical Systems This modules aims to provide practical skills in how to approach the modelling and design of a large critical software project. The module covers modelling techniques from requirements analysis to design and introduces a range of tools and approaches. In ... Software Project Management and Secure Development This module prepares students to develop an understanding of the critical issues and application of software project management. It introduces the students to the tools, techniques and body of knowledge involved in each stage of the project management lif... You must also choose from the following modules: Advanced Databases This module builds on the first year Data Management module to give students a deeper and broader view of the issues involved in database management systems, some of the most complex software in common use. Advanced Programming Language Concepts This module covers concepts in programming languages that go beyond those typically seen or are new to mainstream languages. The goal is to encourage students to look beyond traditional programming practice by introducing new tools and techniques inspired... Algorithmic Game Theory This module: - Introduces the students to the key issues of interaction of multiple self-interested parties (a.k.a. agents) and gives a broad survey of topics at the interface of theoretical computer science and game theory dealing with such interactions... Cryptography This module covers the mathematics, techniques, and applications of modern cryptography. We will look at the history of code making and code breaking, and draw lessons for the future from the mistakes and successes of the past. We will also give a gentle ... Knowledge Graphs for AI Systems The last decade and a half have seen the Web move away from a purely document-centric information system to one in which hypertext techniques are applied to the sort of data found in databases; the term “Semantic Web” is used to refer to this Web of linke... Mobile Applications Development More and more people are using increasingly powerful mobile devices as their primary means of obtaining information and requesting services over the Internet. The shift from traditional personal computers (desktops and laptops) to mobile devices (Smart ph... Open Data Innovation Open data, pitched as the raw material of the new industrial revolution, holds great promise, but how do you exploit this new resource? This course is specifically designed to give students a greater understanding on how to innovate with open data. This ... Software Security This module focuses on both theoretical and practical perspectives in the security of software and software systems, by exploring software analysis and reverse engineering. The aims of the module at a high level are to: - Explore common threats to ... Web and Cloud Applications Development The aims of the module are: - To provide students with the opportunity to improve their understanding of web application development, and cloud computing systems. - To cover important techniques and issues in designing and building a modern web applicat...