The modules offered in each year are listed below.
The progression requirements, year weightings and degree classification thresholds can be found in the corresponding programme specification, which can be found here: https://www.imperial.ac.uk/staff/tools-and-reference/quality-assurance-enhancement/programme-information/programme-specifications/
Further details of the assessment breakdown for each degree/year combination can be found from the corresponding year notice boards:
https://www.imperial.ac.uk/computing/current-students/course-admin/noticeboards/
The regulations for all undergraduate taught programmes of study, including the re-sit policy on failed modules, can be found here: https://www.imperial.ac.uk/about/governance/academic-governance/regulations/2022-23-regulations-a/
Year One
Academic year 23-24
Core
Autumn
- 40001 Introduction to Computer Systems
- 40007 Introduction to Databases
- 40016 Calculus
- COMPM0101 Introduction to DoC Systems
Autumn and Spring
- 40018 Discrete Mathematics, Logic & Reasoning
- 40018A Discrete Mathematics, Logic & Reasoning (Part 1)
Autumn, Spring and Summer
Spring
Extracurricular
Autumn
Autumn, Spring and Summer
- COMPM0193 Additional Tuition
- COMPM0701 Programming Competition Training
- COMPM0804 Student Support and Wellbeing
Year Two
Academic year 23-24
Compulsory
Autumn
- 50001 Algorithm Design and Analysis
- 50002 Software Engineering Design
- 50003 Models of Computation
- 50004 Operating Systems
Autumn and Spring
Spring
- 50005 Networks and Communications
- 50006 Compilers
- 50007.2 Introduction to Prolog
- 50008 Probability and Statistics
Spring and Summer
Summer
Elective - Choose 5 ECTS (should be equivalent to 1 module)
Spring
Extracurricular
Autumn
Autumn, Spring and Summer
Year Three
Academic year 23-24
Core
Summer
Elective - Choose from 25 to 30 ECTS (should be equivalent to 5 to 6 modules) from the following list
Autumn
- 60001 Advanced Computer Architecture
- 60012 Introduction to Machine Learning
- 60016 Operations Research
- 60023 Type Systems for Programming Languages
- 60032 Networked Systems
- 70015 Mathematics for Machine Learning
Spring
- 60003 Communicating Computer Science in Schools
- 60005 Graphics
- 60006 Computer Vision
- 60008 Custom Computing
- 60017 System Performance Engineering
- 60019 Robotics
- 60021 3rd Year Software Engineering Group Project (10 ECTS)
Selective 1 - Choose from 10 to 20 ECTS (should be equivalent to 2 to 4 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
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 23-24
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
- 70015 Mathematics for Machine Learning
- 70017 Principles of Distributed Ledgers
- 70020 Program Analysis
- 70022 Scalable Systems and Data
- 70028 Reinforcement Learning
- 70068 Scheduling and Resource Allocation
- 70086 Advanced Computer Architecture
- 70100 Computational Neurodynamics
- 70101 Human-Robot Interaction
- 70103 Statistical Information Theory
Spring
- 70001 Advanced Computer Graphics
- 70007 Computational Optimisation
- 70009 Cryptography Engineering
- 70010 Deep Learning
- 70014 Machine Learning for Imaging
- 70016 Natural Language Processing
- 70021 Quantum Computing
- 70031 Modal Logic for Strategic Reasoning in AI
- 70067 Robot Learning
- 70070 Custom Computing
- 70098 Methods and Tools in the Theory of Computing
- 70105 Deep Graph-Based Learning
- 70889W Non-Euclidean Methods in Machine Learning
Selective 1 - Choose from 10 to 25 ECTS (should be equivalent to 2 to 5 modules) from the following list
Autumn
- 70018 Privacy Engineering
- 70023 Scalable Software Verification
- 70025 Software Engineering for Industry
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)