Students take the following compulsory module:
- Masters Programming Projects: reinforces key programming skills gained during the first programming module of the programme and offers increasing depth and scope for creativity.
and choose one of the following:
- Object-Oriented Modelling, Design and Programming: introduces and reinforces object-oriented modelling, design and implementation to provide a common basis of skills, allowing students to complete programming assignments within other MSc modules.
- Programming Principles and Practice: introduces computational thinking and problem-solving skills to students who have no or little previous programming experience.
Students choose five of the following optional modules (up to two of these may be taken from the second list). See the module catalogue for their descriptions.
Not all combinations of modules will be available for all programmes, and some modules are subject to pre-requisites being satisfied.
Here is a sample of optional modules that may be offered.
- Artificial Intelligence Practice
- Artificial Intelligence Principles
- Critical Systems Engineering
- Data Ethics and Privacy
- Data-Intensive Systems
- Human Computer Interaction Principles and Methods
- Information Visualisation
- Interactive Software and Hardware
- Knowledge Discovery and Datamining
- Language and Computation
- Machine Learning
- Principles of Computer Communication Systems
- Software Architecture
- Software Engineering Practice
- Software Engineering Principles
- User-Centred Interaction Design
Additional optional modules
- Advanced Communication Networks and Systems
- Computer Architecture
- Computer Graphics
- Computer Security
- Concurrency and Multi-Core Architectures
- Constraint Programming
- Distributed Systems
- Logic and Software Verification
- Programming Language Design and Implementation
- Signal Processing: Sound, Image, Video
- Video Games
Optional modules are subject to change each year and require a minimum number of participants to be offered; some may only allow limited numbers of students (see the University's position on curriculum development).
During the second semester, students work with staff to define and agree upon a topic for the extended project, which they will work on during the final three months of the course. The project finishes in a 15,000-word dissertation. Dissertation projects may be group-based or completed individually (students are assessed individually in either case).
The dissertation typically comprises:
- a review of related work
- the extension of existing or the development of new ideas
- software implementation and testing
- analysis and evaluation.
Students are required to give a presentation of their work in addition to the written dissertation.
Each project is supervised by one or two members of staff, typically through regular meetings and reviews of software and dissertation drafts.
If students choose not to complete the dissertation requirement for the MSc, there is an exit award available that allows suitably qualified candidates to receive a Postgraduate Diploma instead, finishing the course at the end of the second semester of study.