# Part B, Mathematics and Computer Science

In the second and third years students are required to offer ten optional courses for examination from Schedules S1(M&CS) and S2(M&CS) subject to the following conditions:

- at least four courses from Schedule S1(M&CS);

- at least two subjects from Schedule S2(M&CS);

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 S2 are administered by the Mathematical Institute. Please use their Minerva system to sign up for them.

In addition you may apply to take other topics from the list of Mathematics Department courses and History of Mathematics. An online form for this purpose can be found here. The form should be submitted to the Committee by Monday of week -1 of Michaelmas Term in the academic year in which the examination is taking place. Please note that it will not be possible to guarantee that such additions could be scheduled to avoid a timetable clash.

Note that one Mathematics unit (usually 16-lecture course) will count as one of your Maths options.

Additional courses may be added to the schedules if resources permit.

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. Up-to-date guidance on practicals can be found here.

#### Schedule S1(M&CS)

- Compilers 16 Lectures, Michaelmas Term 2019
- Computer Graphics 16 Lectures, Michaelmas Term 2019
- Computer Security 16 Lectures, Michaelmas Term 2019
- Computer-Aided Formal Verification 16 Lectures, Michaelmas Term 2019
- Databases 16 Lectures, Michaelmas Term 2019
- Machine Learning 20 Lectures, Michaelmas Term 2019
- Principles of Programming Languages 16 Lectures, Michaelmas Term 2019
- Artificial Intelligence 16 Lectures, Hilary Term 2020
- Computational Complexity 16 Lectures, Hilary Term 2020
- Computer Architecture 16 Lectures, Hilary Term 2020
- Concurrent Programming 16 Lectures, Hilary Term 2020
- Geometric Modelling 16 Lectures, Hilary Term 2020
- Knowledge Representation & Reasoning 16 Lectures, Hilary Term 2020
- Lambda Calculus and Types 16 Lectures, Hilary Term 2020
- Quantum Information 16 Lectures, Hilary Term 2020
- Computer Networks 16 Lectures, Trinity Term 2020
- Concurrency 16 Lectures, Trinity Term 2020
- Logic and Proof 16 Lectures, Trinity Term 2020