High-Performance Graphics and Games Engineering MSc

You will study 180 credits in total during your High Performance Graphics and Games Engineering MSc. A standard module is typically worth 15 credits and the research project is worth 60 credits. These are the modules studied in 2017. If you are starting in September 2018, these will give you a flavour of the modules you are likely to study. All Modules are subject to change.

Compulsory modules

Research Project - 60 credits
Independent research on a topic relevant to the games industry, agreed between you and your supervisor, throughout the second semester and the summer months.

Parallel and Concurrent Programming - 15 credits
Introduces the principles, language constructs, data abstractions, and programming techniques used to program with multiple execution threads on shared-memory architectures. It develops the skills needed to design, program, test, debug, and tune non-trivial applications using industry-standard tools (C++ and CUDA). Advanced techniques covered in the module include lock-free algorithms, use of specialised memory regions, and coalesced access  for maximising parallel performance.

Foundations of Modelling and Rendering - 15 credits
Builds a solid foundation of understanding for the physics, mathematics and computation underlying all computer graphics. Delving deeper than a first undergraduate module in 3D graphics, it delivers understanding of high-quality rendering through software raytracing as the essential foundation for building hardware-accelerated approximation of high-quality visual effects.  This will be complemented by solid coverage of the mathematics necessary for full comprehension and exploitation of accelerated graphics hardware.

Games Engines and Workflow - 15 credits
Introduces the architecture and implementation of games engines, management of game assets, and the workflow of games development, with a focus on the implementation strategies necessary for securing the high performance needed in modern games. A feature of the module is the use of a "live" game engine as an ongoing case study / laboratory for undertaking practical exercises.

Geometric Processing - 15 credits
Focusses on geometric techniques for asset modelling, representation manipulation, and management.  Topics covered include mesh editing and simplification, volumetric modelling, geometric calculations, models of natural phenomena, acceleration structures, computational geometry, point- and image-based rendering, and texture synthesis.

High-Performance Graphics - 15 credits
Explores the concepts, algorithms and methods by which visually rich scenes are rendered under real-time constraints by exploiting the features of modern graphics hardware and software systems. It develops the skills needed to produce computationally efficient but approximate representations of complex visual phenomena by making informed trade-offs between physical realism, perception, and computational cost of execution on graphics/games hardware.

Animation and Simulation - 15 credits
Covers motion in virtual environments, including animation, simulation, and specialised rendering effects.  Topics covered include: principles of interpolation, kinematics, motion blending & retargeting, and modelling clothing, fur and hair.

Optional modules

Big Data Systems - 15 credits

The aim of the module is for students to develop a practical understanding of methods, techniques and architectures needed to build big data systems required, so that knowledge may be extracted from large heterogeneous data sets.

Data Science - 15 credits

The aim of the module is for students to understand methods of analysis that allow people to gain insights from complex data. The module covers the theoretical basis of a variety of approaches, placed into a practical context using different application domains.

Bio-Inspired Computing - 15 credits

Introduces the use of natural systems as the inspiration for artificially intelligent systems. This module covers the history, philosophy and application of bio-inspired computing, including swarm intelligence, neural networks and evolutionary design.

Algorithms - 15 credits

Complementing Systems Programming, this module will add necessary depth to your understanding of algorithms and the mathematical tools for rigorous analysis.

Cloud Computing - 15 credits

State-of-the-art approaches and solution strategies for designing, building and maintaining cloud applications. This module covers areas such as programming models, virtualisation and quality of service.

Semantic Technologies and Applications - 15 credits

Applications include linked data, semantic data browsers and smart social spaces (eg semantic wikis, semantic blogs, social networking). There will be a practical component with hands-on experience of applying semantic web technologies in a specific domain (eg decision-making, learning, health, e-business, digital libraries).

Image Analysis - 15 credits

Image analysis techniques are used in many applications, such as motion-controlled computer games, medical diagnosis and surgical guidance, autonomous systems, surveillance and security, and image content retrieval systems. In this module, you will learn about the current approaches to image processing and computer vision and study how these are applied in a number of different applications.

Scheduling - 15 credits

State-of-the-art approaches and solution strategies in designing practical scheduling optimisation algorithms. The module looks at a number of real-life problems and case studies from different domains such as transport, computer networks and healthcare.

Scientific Computation - 15 credits

Computational methods and the importance of reliability, efficiency and accuracy. Principles of parallel programming on distributed memory architectures and the application to scientific computing problems.

Graph Theory: Structure and Algorithms - 15 credits

Introduction to some of the main techniques used to study the structure of graphs and show how this leads to design of efficient algorithms. At the end of the this module, you will be able to: prove classical results covered by the module; understand the role of decompositions in graph-theoretic proofs and in algorithms on graphs; be familiar with the decomposition by clique cut-sets and tree-decompositions; and recognise how the methods learned can be extended and used to solve other problems.