Computer Science study guide 2024/25
What you can study
At Bristol, we work closely with industry, enabling you to gain knowledge from leading companies and demonstrate your skills in projects involving real-world clients. Our modern building houses the popular Hackspace – a creative space for hacking, making and crafting – and a large atrium that's a hive of activity.
You will find units on:
- high-performance computing
- machine learning
- cryptology
You will be enrolled onto extra unit codes for administrative purposes. These are not extra classes.
Pre-requisites
The School of Computer Science provides Year 3 and Masters-level units on the Study Abroad programme:
- Year 3 units require a strong background in the discipline.
- Masters-level units require three years of study in the discipline.
Subject pathway students
If you have been nominated to Bristol on the Study Abroad (Computer Science pathway), you must take the majority of your credits from this guide.
Teaching Block 1 (Sept-Dec)
Classes are held only during Weeks 1-7 in the first term. The remaining weeks are for self-study and completion of a substantial coursework project.
Units can be taken as either Minor or Major options. Majors include an intensive research project. You will indicate which format you would like when you apply.
- Minors: assessed by exam; TWO must be taken together (totalling 20 credits); no more than two can be taken
- Majors: assessed by exam and coursework (research project); ONE or TWO can be taken (20 credits each)
Students are advised not to combine a Computer Science Major unit with units from other Schools, due to the heavy workload during the assessment period.
We recommend the following combination of units in Teaching Block 1:
- 2 Minors, totalling 20 credits
- 2 Majors, totalling 40 credits
OR
- 2 Minors, totalling 20 credits
- 2 non-Computer Science units, totalling 40 credits (see Engineering Mathematics and Technology and Electrical and Electronic Engineering for units relevant to CS)
Please choose units only from the Year 3 or Masters-level list to avoid timetable clashes.
Year 3
Pre-requisites: strong background of study in the discipline.
Teaching Block 1 - see above for an explanation of Minor vs Major options
Minor or Major units (please specify on your application which option you would like):
- Computer Graphics - COMS30020
- Cryptology - COMS30023 (cannot be taken with COMS30029)
- Design Verification - COMS30026
- Human-Computer Interaction - COMS30029 (cannot be taken with COMS30023)
- Image Processing and Computer Vision - COMS30030
- Security Behaviours - COMS30038 (cannot be taken with COMS30042)
Minor-only units:
- Advanced Algorithms - COMS30042 (cannot be taken with COMS30038)
- Types and Lambda Calculus - COMS30040 (cannot be taken with SEMT30004 - an Engineering Mathematics unit)
Teaching Block 2
Please choose units only from the Year 3 or Masters-level lists to avoid timetable clashes.
Masters-level units
Pre-requisites: 3 years of study in the discipline.
Teaching Block 1 - see above for an explanation of Minor vs Major options
Minor or Major units (please specify on your application which option you would like):
- Advanced Cryptology - COMSM0042
- Advanced Visual AI - COMSM0159 (must be taken with COMSM0045 as Minor or Major)
- Applied Deep Learning - COMSM0045 (must be taken with COMSM0159 as Minor or Major)
- Sustainable Computing - COMSM0134
- Systems and Software Security - COMSM0049
Minor-only units:
- Advanced Topics in Computer Science - COMSM0158
- Advanced Topics in Programming Languages - COMSM0067
- Advanced Topics in Theoretical Computer Science - COMSM0068
Major-only unit:
Teaching Block 2
Computing and Data Science units outside the School
Computing and data science units are offered across other schools. If you are majoring in Computer Science or related fields, you may be interested in the following units:
Teaching Block 1
- Algorithms and Machine Learning - MATH20017 (Mathematics)
- Algorithms and Programming in C(++) and R - MATH10017 (Mathematics)
- Cognitive Artificial Intelligence - SEMTM0011 (Engineering Mathematics and Technology)
- Computational Neuroscience - SEMT30003/SEMT30004. Cannot be taken with COMS30040. This unit is like a major subject from Computer Science, so it can only be taken with another major and two minors (Engineering Mathematics and Technology)
- Computer Networks and the Internet - EEMEM0011 (Electrical and Electronic Engineering)
- Data-Driven Physical Modelling - SEMTM0007 (Engineering Mathematics and Technology)
- Data Science and Applied Statistics - SEMT20002 (Engineering Mathematics and Technology)
- Data Science for Geographers - GEOG30045 (Geographical Sciences)
- Embedded Computing Systems - EEME30001 (Electrical and Electronic Engineering)
- Geospatial Data Analysis - EASC20053 (Earth Sciences)
- Information Theory - MATH30032 (Mathematics)
- Information Theory and Coding - EEMEM0012 (Electrical and Electronic Engineering)
- Mathematical Programming - MATH20014 (Mathematics)
- Quantum Computation - MATHM0049 (Mathematics)
- Scientific Computing and Optimisation - SEMT30002 (Engineering Mathematics and Technology)
- Time Series Analysis - MATH33800 (Mathematics)
Teaching Block 2
- Advanced Linear Modelling and Classification - MATH20016 (Mathematics)
- Bayesian Modelling - MATH30015 (Mathematics)
- Complex Networks - MATH36201 (Mathematics)
- Computational Continuum Mechanics - SEMT30001 (Engineering Mathematics and Technology)
- Computational Methods for Data Science, Machine Learning and AI - MATHM0052 (Mathematics)
- Methods of Artificial Intelligence - SEMT20003 (Engineering Mathematics and Technology)
- Perspectives in Data Science - MATH20018 (Mathematics)
- Principles of Computational Modelling - SEMT20001 (Engineering Mathematics and Technology)
- Quantum Information Theory - MATH30031 (Mathematics)
- Robotics Systems UG - SEMTM0053 (Engineering Mathematics and Technology)
- Statistical Machine Learning - MATH30028 (Mathematics)
Teaching Block 4 (full year)
- Advanced Data Science and Machine Learning for Scientific Computing - SCIF30006 (Chemistry and Physics)
- Algorithms and Programming in C(++) and R - MATH10017 (Mathematics)
- Computer Programming and Algorithms - SEMT10002 (Engineering Mathematics and Technology)
- Introduction to Coding and Data Analysis for Scientists - SCIF10002 (Chemistry and Physics)
- Matrix Algebra and Linear Models - MATH10016 (Mathematics)
- Programming and Data Analysis for Scientists - SCIF20002 (Chemistry and Physics)
Application queries
Contact the Centre for Study Abroad inbound team if you have any queries about the application process for the study abroad programmes:
Phone: +44 117 39 40207
Email: cfsa-inbound@bristol.ac.uk