Our MSc Software Systems Engineering degree programme is underpinned by a Software Engineering Research Group that is regularly ranked among the top three of its kind in the world; and its work is used by leading global companies including Google, Intel and Visa, and a whole host of smaller software intensive companies.
The programme is an excellent route to a high-performing career in the software industry, or an ideal foundation for PhD study. Student projects offer the chance to work on the engineering lifecycle for a significant software system where students benefit from applying their creativity, judgement and critical thinking.
MSc Software Systems Engineering comprises 8 taught modules and a Project. Of the taught modules, 5 are core.
Core Modules Term 1
COMPGS01 Requirements Engineering and Software Architecture
This module will train students in the fundamental principles and latest techniques in systems requirements engineering and software architecture. Students will learn how to discover, model, analyse and communicate requirements for software intensive systems and how to design, evaluate and communicate software architecture that meet these requirements. The emphasis will be on developing the students' modelling skills and their ability to communicate requirements and architectures with clarity and precision to business stakeholders and software developers.
COMPGS02 Software Abstractions and Systems Integration
This module will aim to develop students' skills and knowledge to design, implement and integrate large-scale software systems from heterogeneous components and services. Emphasis will be put on fundamental principles and practical issues of system integration projects. Students will also develop essential research skills needed to stay at the leading edge of software development throughout their career.
Core Modules Term 2
COMPGS03 Validation and Verification
The module will train students in the principles and techniques of validating and verifying software systems. The training will be intellectually demanding and will cover not only the state-of-the practice in validation and verification, but also the most significant trends, problems and results in validation and verification research.
COMPGS04 Tools and Environments
This module will teach the principles and application of software tools and environments. The module will cover the fundamental practices that we would expect from any software professional we would want to hire. The content is based on a wealth of experience of real projects, including the latest thinking on software process. For most students, it will introduce a lot of new material. On completion, students will have good knowledge and understanding of the nature and variety of software tools and environments that are available for achieving software engineering tasks, and be able to select appropriate tools and environments for the task at hand and to apply the tools and environments to achieve the task.
COMPGZ07 Professional Practice
The aim of this module is to provide an viewpoint on the commercial realities of work and practical skills in project management. This is done in two parts: the first is a series of seminars given by those with practical experience of real problems at technical, managerial, financial and ethical levels. Most such speakers are drawn from industry and is intended to stimulate a questioning and inquisitive approach to the field. We expect the material covered to be topical and either informative or presented in such a way as to encourage discussion. Second is to prepare students for effective project work and, by extension and comparison, for effective teamwork in a commercial environment.
Optional Modules [Option 1] Term 1
COMPGS99 Group Project in Software Systems Engineering
Further syllabus information will be available shortly.
Students taking Option 1 must take 45 elective credits.
Optional Modules [Option 2] Term 1
COMPGS11 Research Seminar in Software Engineering
This module aims to introduce students to cutting-edge research methods in software engineering emphasising the close reading of research papers;the critical, yet balanced, evaluation of research ideas; and writing a research project proposal. This module builds on the introduction to relational databases found in the Systems Infrastructure module. It covers advanced data modelling and database development methodology, the techniques exploited by relational database technologies relating in particular to query processing and transaction management, and post relational database technologies including object oriented databases and web databases. The coursework is an interesting group project lasting the duration of the term and building a web facing database system using very contemporary technologies.
COMPGS98 Research Project in Software Engineering
Further syllabus information will be available shortly.
Optional Modules [Option 2] Term 2
Students taking Option 2 must take 15 elective credits.
- Students must take either Option 1 or 2.
- Students taking Option 1 [COMPGS99] will take an additional 3 elective modules (45 credits).
- Students taking Option 2 [COMPGS11, COMPGS12 and COMPGS98] will take an additional elective module (15 credits).
Elective Modules Term 1
COMPGA01 Computer Security I
This module provides an introduction to security concepts and techniques, covering core security principles to engineer systems providing confidentiality, integrity, and availability. Topics are approached from a security engineer perspective, but also from the perspective of someone who aims to bypass security protections.
Students will learn how to recognise security properties of systems, formulate security policies, and model the threats they may face.
COMPGA10 People and Security
This modules teaches students to specify usability criteria that a security mechanism has to meet to be workable for end-user groups and work contexts, as well as human-centred approaches to security. It is one of the very few courses on usable security in the world.
This module provide students with a specialist understanding of the issues and techniques in malware detection and classification as well as the human, social, economic and historical context in which it exists and is deployed.
COMPGL01 Introduction to Logic, Semantics and Verification
The module aims to familiarize students with formal methods for reasoning about transition systems and programs.
COMPGW01 Complex Networks and Web
This module introduces the fundamental concepts, principles and methods in the interdisciplinary academic field of network science, with a particular focus on the Internet, the World Wide Web and online social media networks. Topics covered include graphic structures of networks, mathematical models of networks, the Internet topology, structure of the Web, community structures, epidemic spreading, PageRank, temporal networks and spatial networks.
On successful completion of this module the students will be able to define and calculate basic network graphic metrics, describe structural features of the Internet and the Web, relate graphic properties to network functions and evolution, explore new angles to understand network collective behaviours, design and conduct analysis on large network datasets.
COMPGZ01 Networked Systems
The aim of this module is to offer a rigorous introduction to the problems that arise when networking computer systems, and algorithms and systems design that solve these problems. The architectural principles and protocols that underlie the internet will be explained in detail. Topics to be taught will include the physical layer, widely used link layers (wired and wireless), MAC protocols, internetworking, intra-domain routing, reliable transport, congestion control, wide-area (policy) routing, naming, network security, the end-to-end principle, and network applications.
COMPGZ03 Distributed Systems and Security
This modules explores, in a case-study fashion, the design and implementation of distributed systems, and computer system security. Among other things, the module provides students with expertise in handling correctness under concurrency by building a simple distributed system as part of coursework.
Elective Modules Term 2
COMPGA02 Computer Security II
This module is the natural follow-up to Computer Security I. It provides an advanced understanding of network and computer security vulnerabilities, as well as countermeasures, in real-world systems. Following a hands-on approach, lectures are complemented with in-lab exercises, teaching students to think about security out of the box.
COMPGI15 Information Retrieval & Data Mining
The course is aimed at an entry level study of information retrieval and data mining techniques. It is about how to find relevant information and subsequently extract meaningful patterns out of it. While the basic theories and mathematical models of information retrieval and data mining are covered, the course is primarily focused on practical algorithms of textual document indexing, relevance ranking, web usage mining, text analytics, as well as their performance evaluations. Practical retrieval and data mining applications such as web search engines, personalisation and recommender systems, business intelligence, and fraud detection will also be covered.
Students are expected to master both the theoretical and practical aspects of information retrieval and data mining.
COMPGS10 Language Based Security
This module provides students with specialist knowledge and understanding to solve software related problems associated with the security of software systems. Students discover the relationship between computer program design and security, how various security-related properties of computer programs are formulated and guaranteed, and in-depth knowledge of a variety of contexts in which understanding can be applied.
COMPGW02 Web Economics
The course is intended to provide an introduction of the computing systems and their economics for the production, distribution, and consumption of (digital) goods and services over the Internet and web. While the basic economic principles are covered to understand the business aspects of web-based services, the course is primarily focused on the computational and statistical methods for implementing, improving and optimizing the internet-based businesses, including algorithmic mechanism design, online auctions, user behavior targeting, yield management, dynamic pricing, cloud-sourcing, social media mining and attention economics. Practical applications such as Google’s online advertising, Ebay’s online auction, and Amazon’s cloud computing will also be covered and discussed.
Students will be expected to master both the theoretical and practical aspects of web economics.
COMPGZ05 Multimedia Systems
The aims of this course are to describe the ways in which multimedia information is captured, processed, and rendered, to introduce multimedia quality of service (QoS) and to compare subjective and objective methods of assessing user satisfaction, to analyse the ways in which multimedia data is transmitted across networks, and to discuss privacy and copyright issues in the context of multimedia.
Please note that COMPGA01 is a prerequisite to COMPGA02.
A minimum of an upper-second class UK Bachelor's degree in computer science, or an overseas qualification of an equivalent standard. Relevant work experience may also be taken into account.
English Language Requirements
If your education has not been conducted in the English language, you will be expected to demonstrate evidence of an adequate level of English proficiency. The English language level for this programme is: Good. Further information can be found on our English language requirements page.
Country-specific information, including details of when UCL representatives are visiting your part of the world, can be obtained from the International Students website.
UK/EU fees (FT): £11,800 for 2017/18
Overseas fees (FT): £24,140 for 2017/18
For a comprehensive list of the funding opportunities available at UCL, including funding relevant to your nationality, please visit the Scholarship and Funding website.
Tuition Fee Deposit
This programme requires that applicants firmly accepting their offer pay a deposit. This allows UCL to effectively plan student numbers, as students are more demonstrably committed towards commencing their studies with us.
For full details about the UCL tuition fee deposit, please see the central UCL pages.
Tuition fee deposits within the Department of Computer Science are currently listed as:
|*where part-time is an available mode of study|
Top graduate destinations:
Top graduate roles:
Further study destinations:
Average starting salary £28,200 (Graduate Surveys, January 2015).
To apply now click here.
Students are advised to apply as early as possible due to competition for places. Those applying for scholarship funding (particularly overseas applicants) should take note of application deadlines.
Deadline 17 June 2017.