# Part B 2017-18, 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

- Compilers 16 Lectures, Michaelmas Term 2018
- Computer Graphics 16 Lectures, Michaelmas Term 2018
- Databases 16 Lectures, Michaelmas Term 2018
- Algorithms 16 Lectures, Hilary Term 2019
- Artificial Intelligence 16 Lectures, Hilary Term 2019
- Computer Architecture 16 Lectures, Hilary Term 2019
- Computer Networks 16 Lectures, Trinity Term 2019
- Concurrency 16 Lectures, Trinity Term 2019

#### Schedule B2

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