# Part B, Mathematics and Computer Science

In Part B you are required to take 8 courses, including:

- at least two from Mathematics (Schedule B3)
- at least two from Computer Science (Schedules B1 and B2), but including no more than two from Schedule B1 (and no subject from B1 that you have already offered in Part A.
- no more than 2 subjects from Schedule B4 and B5

The following topics under **Schedule B3 **are recommended
in** 2016/17**:

- 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)
- Banach Spaces (B4.1)
- Hilbert Spaces (B4.2)
- Numerical Solutions of Differential Equations I (B6.1)
- Numerical Solutions of Differential Equations II (B6.2)
- Integer Programming (B6.3)
- Martingales Through Measure Theory (B8.1)
- Continuous Martingales and Stochastic Calculus (B8.2)
- Communication Theory (B8.4)
- Graph Theory (B8.5)
- Applied Probability (SB3.a)

Candidates must take **at least** two of these recommended units. In addition candidates may apply to take
other topics from the list of Mathematics Department courses and History of Mathematics. A form for this purpose is 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.Students should note that it would 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

Synopses for Maths courses can be found at: www.maths.ox.ac.uk/courses

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 B1

- Databases 16 Lectures, Michaelmas Term 2016
- Intelligent Systems 16 Lectures, Michaelmas Term 2016
- Algorithms and Data Structures 16 Lectures, Hilary Term 2017
- Compilers 16 Lectures, Hilary Term 2017
- Concurrency 16 Lectures, Hilary Term 2017
- Computer Architecture 16 Lectures, Trinity Term 2017
- Computer Graphics 16 Lectures, Trinity Term 2017
- Computer Networks 16 Lectures, Trinity Term 2017

#### Schedule B2

- Computer Security 16 Lectures, Michaelmas Term 2016
- Computer-Aided Formal Verification 16 Lectures, Michaelmas Term 2016
- Machine Learning 16 Lectures, Michaelmas Term 2016
- Principles of Programming Languages 16 Lectures, Michaelmas Term 2016
- Computational Complexity 16 Lectures, Hilary Term 2017
- Geometric Modelling 16 Lectures, Hilary Term 2017
- Knowledge Representation & Reasoning 16 Lectures, Hilary Term 2017
- Lambda Calculus and Types 16 Lectures, Hilary Term 2017