Year 1
The first two years are carefully designed to allow you as much choice as possible in your final year. In Computer Science you study the foundations of computer science together with program design and programming techniques.
Data Structure & Algorithms - 20 credits
Mechanics - 10 credits
Object Oriented Programming - 20 credits
Probability & Statistics - 10 credits
Real Analysis - 20 credits
Theories of Computation - 20 credits
Vectors, Geometry & Linear Algebra - 20 credits
Year 2
Core modules
Algebra & Combinatorics 1 - 20 credits
Functional Programming - 20 credits
Operating Systems and Systems Programming - 20 credits
Real & Complex Analysis - 20 credits
Security and Networks - 20 credits
Optional modules
Choose 20 credits of options. Example optional modules:
Differential Equations - 20 credits
Statistics - 20 credits
Year 3 (in Industry)
In your third year you will go on industrial placement, working for a company or other appropriate institution, developing your computer and mathematical skills in the workplace setting.
Tuition fees for placement years (where applicable)
There is a reduced tuition fee for the academic year spent in industry or whilst studying abroad (where available). Fee information and further clarification is available on the University fees and funding page.
Year 4
Your final year offers you a choice of modules with the possibility of specialising in either Mathematics or Computer Science. The objective is to allow you to have a 40/80, 60/60 or 80/40 split in module choices between Mathematics/Computer Science. You are required to complete at least 20 credits of taught modules from either School.
Core module
Either Project in Computer Science (40 credits) or Research Skills in Mathematics (20 credits)
Linear Algebra & Linear Programming (20 credits)
Optional modules
If you take the 40 credit, year 3 core module project in computer science, you will take an additional 20 credits of taught modules offered by Computer Science with 60 credits offered by Mathematics.
If you take the 20 credit, Year 3 core module mathematics project, you can choose to take between 20 and 60 additional credits in Mathematics, and between 40 and 80 credits from Computer Science.
Examples of optional modules are listed below, all modules are 20 credits.
Mathematics modules
Algebra & Combinatorics 2
Combinatorics and Communication Theory
Differential Equations
Graph Theory
Mathematical Finance
Multivariable and Vector Analysis
Number Theory
Randomness and Computation
Real & Complex Analysis
Statistics
Computer Science modules
Advanced Networking
Algorithms and Complexity
Computer Vision and Imaging
Computer-Aided Verification
Evolutionary Computation
Human-Computer Interaction
Intelligent Interactive Systems
Intelligent Robotics
Machine Learning and Intelligent Data Analysis
Mobile & Ubiquitous Computing
Natural Language Processing
Neural Computation
Programming Language Principles, Design, and Implementation
Quantum Computing
Security of Real-World Systems
Teaching Computer Science in Schools
Please note: The modules listed on the website for this programme are regularly reviewed to ensure they are up-to-date and informed by the latest research and teaching methods. Unless indicated otherwise, the modules listed for this programme are for students starting in 2023. On rare occasions, we may need to make unexpected changes to core modules; in this event we will contact offer holders as soon as possible to inform or consult them as appropriate.
Show less