School of Computer Science

GitHub page of the School of Computer Science, University of Bristol

University of Bristol logo

Welcome to the website for the School of Computer Science of the University of Bristol.

Here are some useful links:

The rest of this page contains links to unit pages. You can also look at the programme catalogue for a list of all units running in 2024-25.

This page has been updated (21 August 2024) to link to the 2024-25 units. Unit page links will be updated as unit pages become available.

Year 1

All these units are worth 20CP (credit points) each. The unit code numbering is not meant to make any sense, apart from the first digit being the year of study.

TB1 units run in autumn 2024; TB2 units in spring 2025. TB4 units run across both teaching blocks.

Unit page and catalogue links point at public pages; Teams links require you to log in and will only work for students enrolled on the unit.

Code Title Teaching Block Unit page Teams Catalogue Page
COMS10014 Mathematics for Computer Science A TB1 unit page Teams catalogue
COMS10015 Computer Architecture TB4 unit page   catalogue
COMS10016 Imperative and Functional Programming TB1 unit page Teams catalogue
COMS10012 Software Tools TB4 unit page   catalogue
COMS10013 Mathematics for Computer Science B TB2     catalogue
COMS10018 Object-Oriented Programming and Algorithms I TB2     catalogue

Year 2

TB4 means that a unit runs across the entire academic year.

Code Title TB Unit page Teams Catalogue Page
COMS20006 Software Engineering Project TB4     catalogue
COMS20007 Programming Languages and Computation TB1     catalogue
COMS20008 Computer Systems A TB1 unit page   catalogue
COMS20017 Algorithms and Data TB4 TB1 unit page   catalogue
COMS20009 Interaction and Society TB2     catalogue
COMS20012 Computer Systems B TB2     catalogue

Year 3, Teaching Block 1

Single honours computer science students take the 20CP unit “Topics in Computer Science” in Teaching Block 1 and pick two topics (so they are essentially doing two 10CP units in all but name.) These units are assessed by a 2-hour exam in December, containing two papers, one on each unit. These are considered your minor topics.

Single honours computer science students also pick two major topics, worth 20CP each. They must pick different topics for their major and minor units, so 4 distinct topics in total. Major topics are assessed by a mid-term in-class test worth 30% of the unit, and a piece of coursework in weeks 9-11 worth 70% of the unit.

Most topics are available as both major and minor options, but a small number of topics are only available as a minor option.

Warning: Certain combinations of units are mutually exclusive, as their lectures are scheduled at the same times. Details of exclusions are indicated in the unit catalogue entries for each unit.

For each topic they pick, single-honours students must enrol on first the teaching unit (worth 0CP, but this is where the lectures and most of unit materials appear). Then

More details are available in the optional unit guide.

Students who are not single honours CS should check with their programme director for details, but typically they can only take the minor versions of topics, with an exam only.

Topic Teaching Major Unit page Catalogue Page
Topics in Computer Science (COMS30081) - -   catalogue
Advanced Algorithms COMS30042 -   catalogue
Artificial Intelligence COMS30014 COMS30084   catalogue
Computational Neuroscience SEMT30003 SEMT30004   catalogue
Computer Graphics COMS30020 COMS30082   catalogue
Cryptology COMS30023 COMS30085   catalogue
Design Verification COMS30026 COMS30086   catalogue
Human-Computer Interaction COMS30029 COMS30089   catalogue
Image Processing and Computer Vision COMS30030 COMS30087   catalogue
Machine Learning COMS30035 COMS30083   catalogue
Security Behaviours COMS30038 COMS30088   catalogue
Types and Lambda Calculus COMS30040 -   catalogue

Year 4, Teaching Block 1

The rules for CS MEng and MSci students in Year 4, Teaching Block 1 are the same as for Year 3.

However, some of the Year 4 units have prerequisites from Year 3, for example you can only take Applied Deep Learning in Year 4 if you have already taken Machine Learning in Year 3.

(*) Exceptionally, students who have not taken Cryptology in Year 3 can take it in Year 4 as well. Students who have taken Cryptology in Year 3 can take Advanced Cryptology in Year 4 (in fact, these are the only students allowed to take the advanced unit).

Topic Teaching Major Unit page Catalogue Page
Advanced Topics in Computer Science (COMSM0158) - -   catalogue
Advanced Cryptology COMSM0042 COMSM0153 unit page catalogue
Advanced Topics in Programming Languages COMSM0067 - unit page catalogue
Advanced Topics in Theoretical Computer Science COMSM0068 -   catalogue
Advanced Visual AI COMSM0159 COMSM0160   catalogue
Applied Deep Learning COMSM0045 COMSM0155   catalogue
Cryptology(*) COMS30023 COMSM0154   catalogue
Internet Economics and Financial Technology SEMTM0012 SEMTM0013   catalogue
Sustainable Computing COMSM0134 COMSM0156   catalogue
Systems and Software Security COMSM0049 COMSM0157   catalogue

Year 3 and 4, Teaching Block 2 - project units

In this teaching block, CS project units take place. Single-honours BSc students take the 40CP “Individual Project” (COMS30045) in year 3. Single-honours MEng students take the 40CP “Team Project” (COMS30043) in year 3 and the 40CP “Individual project with Innovation Case” (COMSM0052) in year 4. All maths and computer science students choose between the CS-focused “Short Individual Project” (COMS30044) and the maths-focused “Project 1” (MATH32200) in year 3; both are 20CP, but the maths option is TB4. In year 4, MEng students who took MATH32200 then go on to take the single-honours year 4 CS project COMSM0052, while students who took COMS30044 go on to take the normal single-honours year 4 maths project MATHM2204; both are 40CP, but again the maths option is TB4. All other joint honours students have their own project units, which aren’t administered by CS.

Here are the web pages for all the CS-run project units; note that for maths/CS students, we run the CS options COMS30044 and COMSM0052 but not the maths options MATH32200 and MATHM2204.

Year Code Title Unit page Catalogue page
Year 3, BSc COMS30045 Individual Project projects website catalogue
Year 3, BSc/MEng Maths+CS COMS30044 Short Individual Project projects website catalogue
Year 3, MEng COMS30043 Team Project   catalogue
Year 4, MEng COMSM0052 Individual Project with Innovation Case projects website catalogue

There is one exception to the above - students on the MEng can switch to the MSci at the end of second year to take three 20CP mini-project units instead of one mini-project and the team project in year 3. However you are advised to talk to a tutor before making this decision as it has implications, for example you may not be able to leave with a BSc after three years as you do not have a 40CP project “for honours”.

Year 3 and 4, Teaching Block 2

These units are all 20CP and assessed by coursework, also known as mini-project units. Each student takes one of these in year 3 and MEng students take another unit in year 4. The exception are MSci students who take three units in Year 3 and one more in Year 4.

Students must enrol on the teaching unit and on the correct assessment unit for their year, as the Year 3 assessment is not the same as the Year 4 one. You also cannot take the Year 4 assessment of a unit that you’ve already done in Year 3.

Unit title Teaching Year 3 Year 4 Unit page Catalogue page
Advanced Computer Architecture COMS30046 COMS30047 COMSM0053   catalogue
Applied Cryptology COMS30048 COMS30049 COMSM0054 unit page catalogue
Applied Data Science COMS30050 COMS30051 COMSM0055   catalogue
CGI COMS30058 COMS30059 COMSM0076   catalogue
High Performance Computing COMS30053 COMS30052 COMSM0057   catalogue
Interactive Devices COMS30054 COMS30055 COMSM0058   catalogue

Exception: Year 4 MEng students may also take EMATM0053 “Robotics Systems (Undergraduate)”, offered by Engineering Mathematics.

Conversion course (PGT)

On the conversion course, you will take the following units:

Code Title Page Catalogue Page
COMSM1201 Programming in C   catalogue
COMSM1302 Overview of Computer Architecture unit page catalogue
COMSM0085 Overview of Software Tools unit page catalogue
COMSM0086 Object-Oriented Programming with Java github page catalogue
COMSM0166 Software Engineering Discipline and Practice   catalogue

If you pass all your units, you will then work on one of the following two units over the summer, both of which are worth 60 credits:

Code Title Page Catalogue Page
COMSM3201 Team Project   catalogue
COMSM3201 Individual Project   catalogue

Please see the Conversion Course / PGT page for more information for students on this programme.