Computer Science
Entry requirements
A level: A*AA, including A*A in Maths and Further Maths if available (in any order) IB: 39 (including core points) with 766 at HL (the 7 must be in HL Mathematics)
About this course
BA or MCompSci in Computer Science, a mathematics and computer science degree focusing on the theoretical foundations and practical applications of computer systems and software. Core topics include Programming, Computer Architecture, Mathematical Modelling, and Artificial Intelligence & Machine Learning. The initial study phase builds foundational knowledge through the first year and part of the second year, followed by options and a group design practical in the second year. The first year covers foundational subjects including Continuous mathematics, Design and analysis of algorithms, Digital systems, Discrete mathematics, Functional programming, Imperative programming, Introduction to proof systems, Linear algebra, and Probability. The second year introduces algorithms and data structures, compilers, concurrent programming, models of computation, group design practical, artificial intelligence, computer architecture, computer graphics, databases, logic and proof, and quantum information. The third year offers advanced study in areas such as computer-aided formal verification, geometric modelling, lambda calculus and types, machine learning, principals of programming languages, and scientific computing. The fourth year concludes with specialised topics including automata, logic and games, categories, proofs and processes, computational biology, computational medicine, database systems implementation, distributed processes, types and programming, foundation of self-programming agents, geometric deep learning, probabilistic model checking, quantum processes and computation, and uncertainty in deep learning.
Modules
- Continuous mathematics
- Design and analysis of algorithms
- Digital systems
- Discrete mathematics
- Functional programming
- Imperative programming
- Introduction to proof systems
- Linear algebra
- Probability
- Algorithms and data structures
- Compilers
- Concurrent programming
- Models of computation
- Group design practical
- Artificial intelligence
- Computer architecture
- Computer graphics
- Databases
- Logic and proof
- Quantum information
- Computer-aided formal verification
- Geometric modelling
- Lambda calculus and types
- Machine learning
- Principals of programming languages
- Scientific computing
- Automata, logic and games
- Categories, proofs and processes
- Computational biology
- Computational medicine
- Database systems implementation
- Distributed processes, types and programming
- Foundation of self-programming agents
- Geometric deep learning
- Probabilistic model checking
- Quantum processes and computation
- Uncertainty in deep learning