Welcome to the website for the School of Computer Science of the University of Bristol.
Here are some useful links:
- School of Computer Science Taught Student Handbook (on Blackboard)
- Bristol App, desktop edition - timetables/calendars, links to email, check in to lectures, etc.
- Optional unit guide
- Blackboard
- View your results (on eVision)
- Health and wellbeing
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
- For two of the topics, they must select the associated major assessment option. This gets them registered for the midterm and the coursework.
- For the other two topics, they must not select the associated major assessment, which gets them registered for the minor exam on the “Topics in Computer Science” unit.
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.