# Part B, Mathematics and Computer Science

In Part B of the examination, Mathematics and Computer Science students are required to offer eight optional subjects from Schedules B1(M&CS) and B2(M&CS) subject to the following conditions:

- at least two courses from Schedule B1(M&CS);
- at least two courses from Schedule B2(M&CS);

Students are not permitted to offer an optional subject in Part B that they have already offered in Part A of the examination.

All optional courses are examined at the end of your third year, including courses taken in Trinity Term of the previous year.

The following topics under Schedule S2 (M&CS) are recommended:

- Logic (B1.1)
- Set Theory (B1.2)
- Introduction to Representation Theory (B2.1)
- Commutative Algebra (C2.6)
- Galois Theory (B3.1)
- Geometry of Surfaces (B3.2)
- Algebraic Curves (B3.3)
- Algebraic Number Theory (B3.4)
- Topology and Groups (B3.5)
- Functional Analysis I (B4.1)
- Functional Analysis II (B4.2)
- Numerical Solutions of Differential Equations I (B6.1)
- Numerical Solutions of Differential Equations II (B6.2)
- Integer Programming (B6.3)
- Propability Measure and Martingales (B8.1)
- Continuous Martingales and Stochastic Calculus (B8.2)
- Information Theory (B8.4)
- Graph Theory (B8.5)
- Applied Probability (SB3.a)

Synopses for Maths courses can be found here.

Classes for courses in Schedule B2(M&CS) are administered by the Mathematical Institute, except Information Theory, Set Theory and Integer Programming. Please click here to sign up to Maths Part B classes.

Note that one Mathematics unit (usually 16-lecture course) will count as one of your Maths options. Please make sure that you discuss with your tutor any prerequisites for courses, particularly those from Mathematics.

Please note that although practicals play no part in the degree classification, a candidate must pass the practical component of the course in order to pass the exam, i.e. candidates must achieve 40% or more overall in their practicals to pass.

#### Schedule B1(M&CS)

- Combinatorial Optimisation 16 Lectures, Michaelmas Term 2022
- Computer Security 16 Lectures, Michaelmas Term 2022
- Computer-Aided Formal Verification 16 Lectures, Michaelmas Term 2022
- Databases 16 Lectures, Michaelmas Term 2022
- Geometric Modelling 16 Lectures, Michaelmas Term 2022
- Machine Learning 20 Lectures, Michaelmas Term 2022
- Principles of Programming Languages 16 Lectures, Michaelmas Term 2022
- Artificial Intelligence 16 Lectures, Hilary Term 2023
- Computational Complexity 16 Lectures, Hilary Term 2023
- Computer Architecture 16 Lectures, Hilary Term 2023
- Computer Graphics 16 Lectures, Hilary Term 2023
- Data Visualisation 16 Lectures, Hilary Term 2023
- Knowledge Representation & Reasoning 16 Lectures, Hilary Term 2023
- Lambda Calculus and Types 16 Lectures, Hilary Term 2023
- Logic and Proof 16 Lectures, Hilary Term 2023
- Quantum Information 16 Lectures, Hilary Term 2023
- Concurrency 16 Lectures, Trinity Term 2023