The modules offered in each year are listed below.
Year One
Academic year 25-26
Core
Autumn
- 40001 Introduction to Computer Systems
- 40007 Introduction to Databases
- 40016 Calculus
- COMPM0101 Introduction to DoC Systems
Autumn and Spring
Autumn, Spring and Summer
Spring
Unknown Term
Extracurricular
Autumn, Spring and Summer
- COMPM0193 Additional Tuition
- COMPM0701 Programming Competition Training
- COMPM0804 Student Support and Wellbeing
Year Two
Academic year 25-26
Compulsory
Autumn
- 50001 Algorithm Design and Analysis
- 50002 Software Engineering Design
- 50004 Operating Systems
- 50008 Probability and Statistics
Autumn and Spring
Spring
- 50003 Models of Computation
- 50005 Networks and Communications
- 50007.2 Computing Practical 2 (Intro to Compilers)
- 50013 Machine Learning
Spring and Summer
Summer
Elective - Choose 1 ECTS (should be equivalent to 0 modules)
Spring
Extracurricular
Autumn
Autumn, Spring and Summer
Year Three
Academic year 25-26
Core
Summer
Elective - Choose from 20 to 30 ECTS (should be equivalent to 4 to 6 modules) from the following list
Autumn
- 60001 Advanced Computer Architecture
- 60007 The Theory and Practice of Concurrent Programming
- 60016 Operations Research
- 60023 Type Systems for Programming Languages
- 60029 Data Processing Systems
- 60032 Networked Systems
- 60033 Computing Research Collective
- 60884W Mathematics for Machine Learning
Spring
- 60003 Communicating Computer Science in Schools
- 60005 Graphics
- 60008 Custom Computing
- 60009 Distributed Algorithms
- 60013 Logic-Based Learning
- 60015 Network and Web Security
- 60017 System Performance Engineering
- 60021 Year 3 Software Engineering Group Project
- 60034 Deep Learning
- 60035 Natural Language Processing
Selective 1 - Choose from 10 to 15 ECTS (should be equivalent to 2 to 3 modules) from the following list
Autumn
Spring
Compulsory - Choose from 5 to 7.5 ECTS (should be equivalent to 1 module) from the following list
Autumn and Spring
Spring
- 60024 Researching Academic Integrity in an Artificial Intelligence Driven World
- 60028 Demystifying Machine Learning: Theory and Applications
Elective - Choose from 0 to 7.5 ECTS (should be equivalent to 0 to 1 modules) from the following list
Autumn and Spring
Extracurricular
Autumn
Autumn, Spring and Summer
Year Four
Academic year 25-26
Core
Autumn
Autumn, Spring and Summer
Elective - Choose from 0 to 25 ECTS (should be equivalent to 0 to 5 modules) from the following list
Autumn
- 70005 Complexity
- 70006 Computational Finance
- 70017 Principles of Distributed Ledgers
- 70018 Privacy Engineering
- 70021 Quantum Computing
- 70022 Scalable Systems and Data
- 70023 Scalable Software Verification
- 70024 Software Reliability
- 70025 Software Engineering for Industry
- 70068 Scheduling and Resource Allocation
- 70086 Advanced Computer Architecture
- 70103 Statistical Information Theory
Spring
- 70001 Advanced Computer Graphics
- 70004 Advanced Computer Security
- 70007 Computational Optimisation
- 70020 Program Analysis
- 70070 Custom Computing
- 70098 Introduction to Concrete Complexity
Selective 1 - Choose from 10 to 35 ECTS (should be equivalent to 2 to 7 modules) from the following list
Autumn
- 70015 Mathematics for Machine Learning
- 70028 Reinforcement Learning
- 70100 Computational Neurodynamics
- 70887W Machine Learning Systems and Hardware
Spring
- 70010 Deep Learning
- 70014 Machine Learning for Imaging
- 70016 Natural Language Processing
- 70031 Formal Methods for Safe AI
- 70067 Robot Learning
- 70105 Deep Graph-Based Learning
- 70112 Non-Euclidean Methods in Machine Learning
- 70886W Generative AI: Models, Methods, and Applications
Elective - Choose 1 ECTS (should be equivalent to 0 modules)
Spring
Elective - Choose from 0 to 12.5 ECTS (should be equivalent to 0 to 2 modules) from the following list
Autumn and Spring
- COMPM0451 External Module I (5 ECTS)
- COMPM0452 External Module I (7.5 ECTS)
- COMPM0453 External Module II (5 ECTS)