# Part B, Computer Science

Computer Science students in their third year take a total of six optional courses from schedules B1, B2 and B4 with the following conditions:

- no more than two subjects from Schedule B1, and

- no more than two subjects from Schedule B4

You cannot
take a course you offered in your second year.

You must also take a project, which is worth one third of the year.

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. students must achieve 40% or more overall in their practicals each year to pass.

#### 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