Artificial Intelligence course structure
The Artificial Intelligence course curriculum is made up of 13 units, totalling 180 credits. You will be invited to select either the technical or the general pathway, each containing 3 units, totalling 30 credits. Each unit is centred on the application and practice of AI in a real world setting. The difference between the two pathways is that the general pathway covers more breadth, whereas the technical pathway provides depth in key areas. Both are considered valuable paths to take in terms of employability. We recommend that you select the track that you are most interested in, and that best suits your academic strengths.
The course is delivered in four phases, the first covering the core principles of AI, programming and mathematics. Phase 2 explores the application of these principles in practice.
In phase 3, you will be asked to select from one of two pathways:
- Technical: specialising in the technical side of AI, this route has a greater emphasis on programming and machine learning. During this track, there will be more programming-based and fewer essay-based graded assignments.Technical Unit 1: Foundations and Frontiers of Machine LearningTechnical Unit 2: Reinforcement LearningTeaching Unit 3: Robotics and Machine Vision
- General: exploring AI in context, this pathway offers greater emphasis on incorporating social science. During this track, there will be more essay-based and fewer programming-based graded assignments.General Unit 1: Machine LearningGeneral Unit 2: AI as a Social and Political PracticeGeneral Unit 3: Robotics
Students have between two years and three months and five years to successfully complete all of the units, including a final research-based dissertation. Students in receipt of a Postgraduate Loan must complete the course in three years. Each 10 credit unit is 8 weeks in duration, and the units are run consecutively. Over the year, there are three short breaks - in December, April and August.
The course is delivered remotely and entirely online. Learning material is made available to students via a Virtual Learning Environment (VLE). Assessments are conducted online, also through the VLE. Students study one unit at a time, and learning support is provided through electronic discussion forums.
Occasionally we make changes to our programmes in response to, for example, feedback from students, developments in research and the field of studies, and the requirements of accrediting bodies. You will be advised of any significant changes to the advertised programme, in accordance with our Terms and Conditions.
Units
This unit introduces the principles of computer software development, including problem analysis, designing, implementation and evaluation. It explains the terminology and concepts of programming and teaches practical skills in reading and writing with the aim of producing programs to solve real-world problems.
You’ll learn to:
- Describe the design of a computer program separately from its implementation.
- Explain debugging and testing methods and how they contribute to robust code.
- Design, construct, evaluate, and analyse the efficiency of data structures and algorithms.
- Implement more advanced concepts of AI programming using appropriate libraries and frameworks.
- Design a computer program separately from its implementation.
- Debug and test your applications to ensure they are robust.
Topics covered in this unit may include (but are not limited to) the following:
- Introduction to common programming language for AI.
- Exploration of specific applications, such as simulation and models, algorithms for common domain specific tasks, and complex data structures and algorithms.
- Limits of computation.
This unit gives a concise but rigorous introduction to some of the key mathematical topics for artificial intelligence research and practice, with a focus on mathematical abstraction and formalisation, introducing students to the way that mathematics in research-level articles is written and thought about. Students will engage with cutting-edge AI research, seeing how the mathematical concepts and ideas they are introduced to are used in practice.
You’ll learn to:
- Demonstrate knowledge of higher mathematics and its use within artificial intelligence and computer science more widely.
- Perform elementary mathematical operations in calculus, linear algebra, probability, and statistics.
- Formulate mathematical problems from real-world AI situations, in particular using logical, probabilistic, and statistical frameworks.
- Solve mathematical, probabilistic, and statistical problems in abstract form.
- Compare approaches to a variety of mathematical problems, evaluating which are more or less appropriate in each instance.
- Relate underlying theory to requirements in artificial intelligence theory and practice.
Topics covered in this unit may include (but are not limited to) the following:
- Mathematical notation
- Propositional logic
- Predicate logic
- Set Theory
- Calculus
- Linear Algebra (e.g. Vector Spaces, matrix multiplication, matrix inversion (2x2), change of basis, eigenvectors, eigenvalues)
- Representation of Numbers (e.g. Number bases and binary arithmetic + fixed/floating point.
- Mathematics in research-level AI)
- Probability Spaces
- Bayes Theorem
- Random Variables
- Mass and Density Functions
- Distributions
- Multiple Random Variables
- Hypothesis Testing
This unit gives a broad overview of some foundational topics in artificial intelligence, introducing some of the techniques that are used in this field. Students will implement theoretical knowledge in a practical way with programming exercises to accompany many of the algorithms discussed.
You’ll learn to:
- Demonstrate understanding of a range of AI techniques, their strengths, and their limitations.
- Demonstrate understanding of the fundamentals of probability theory and its role in AI.
- Apply various AI techniques to simple problems.
- Understand a wide range of artificial intelligence (AI) techniques and their advantages and disadvantages.
- Appreciate AI as a mechanism to deal with computationally difficult problems in a practical manner.
- Understand the concepts of formal AI and put them into practice.
- Write small to medium-sized programs for aspects of AI.
- Critically evaluate state-of-the-art AI applications.
Topics covered in this unit may include (but are not limited to) the following:
- Goals and foundations of AI.
- Problem solving (uninformed, heuristic, and adversarial search; constraint satisfaction).
- Logical reasoning (propositional logic, first-order logic, logic programming).
- Probabilistic reasoning (probability models, Bayesian networks).
- Machine learning (possible topics include nearest-neighbour methods, neural networks).
- Social, political and ethical issues relating to AI.
- State-of-the-art AI applications.
In this unit we will look at data science as an application of artificial intelligence. This will require understanding how low-level tools are used to manipulate data, from the manipulation of bits on your hard drive to the maths behind observations and analysis and the storing of data in databases and beyond.
This course will also require a high-level understanding of processes like how we deal with imperfect data, how the representation of data alters the story we are telling, and how we can ensure we follow our ethical and legal responsibilities.
You’ll learn to:
- Critically evaluate the features of various programming languages and software packages for AI, focusing on data science as the application domain.
- Explain, relate, and accommodate factors affecting complexity, performance, numerics, scalability, and deliverability of solutions.
- Implement low-level data science functionality using a relevant programming language (e.g. Python).
- Apply a range of complex analytic methodologies, notably machine learning techniques, using relevant software libraries.
- Assess the applicability and relevance of key "Big Data" software technologies in varied scenarios.
Topics covered in this unit may include (but are not limited to) the following:
- Introduction to a relevant programming language for data science (e.g. Python): general computing, use of essential libraries for data science as an application domain of AI (e.g. Numpy, Scipy, Matplotlib, Scikit-learn in the context of Python) and numerical and performance factors underlying.
- The use of data structures, database systems, and software technologies for scalability from the viewpoint of both storage and computation.
- Social, legal, and ethical implications of AI.
This course aims to give students an understanding of current theoretical methodological and practical research issues around human interaction with robots and other computational intelligence. Students will gain relevant knowledge and skills related to the design, implementation, evaluation, and management of systems involving humans and intelligent machines.
This course will raise students' awareness of ethical and related challenges and constraints around the coexistence and collaboration of humans and intelligent machines. Participants will also gain experience in researching advanced topics in computer science, summarising the current state of the art, undertaking a relevant study, and presenting the results.
You’ll learn to:
- Demonstrate an understanding of current challenges in systems involving humans and intelligent machines.
- Show awareness of intelligent systems design issues.
- Critically evaluate examples of the design and deployment of intelligent systems.
- Recognize and challenge advances in the state of the art of intelligent systems.
- Design, conduct, and critique original research to address questions and challenges in the design and use of systems involving humans and machine intelligence.
Topics covered in this unit may include (but are not limited to) the following:
- What is machine intelligence?
- A systems approach to human-machine interaction.
- What aspects of humans and non-human agents should be considered in designing intelligent systems?
- Robots and diverse human needs, e.g. the young, the old, and people with disabilities.
- Active learning.
- Social, legal, and ethical implications of AI, focusing on the ethics and safety of machine intelligence.
- Centaur AI and cyborgs.
This unit introduces a wide range of NLP techniques and applications from the most basic to the advanced.. By the end of the unit, students will be taught both theoretical knowledge and practical skills in NLP, learn about the fundamental concepts and most popular tasks and implementation strategies, and be able to structure their own NLP projects in an end-to-end manner.
You’ll learn to:
- Demonstrate knowledge of the fundamental principles of natural language processing.
- Demonstrate understanding of key algorithms for natural language processing.
- Write programs that process language.
- Evaluate the performance of programs that process language.
- Assess the feasibility and appropriateness novel NLP approaches presented in literature.
Topics covered in this unit may include (but are not limited to) the following:
- An introduction to NLP systems
- Information retrieval
- Information extraction
- Text classification approaches
- Unsupervised approaches in NLP
- Sequence-based prediction and modelling in NLP
- Semantic tasks
- Current challenges and future directions
AI Systems Engineering is an emerging field. This unit draws upon a range of perspectives published by multidisciplinary experts. The intention behind this unit is to expose students to different viewpoints of AI System Engineering from real world settings, to give context to what is traditionally a narrow academic focus of the subject. Content comes from a carefully curated set of sources that is intended to give a well-rounded view of the subject, as well as to guide students on how to synthesize literature to develop their understanding of the domain.
This unit explores concepts for building applications and products with machine learning (ML).
It is aimed at software engineers who want to understand the underlying concepts that must be considered when building robust and responsible systems which meet the specific challenges of working with AI-components and at data scientists who wish to understand the requirements of the ML-model for production use and want to simplify getting a prototype model into production. The unit considers all the steps required to turn an ML-model into a production system in a reliable and accountable manner.
You’ll learn to:
- Develop and critically evaluate how AI-enabled systems can deliver on organisational objectives
- Analyse the design, architecture, and development of production systems with AI components
- Understand how software engineering principles are applied to build AI-enabled systems
- Understand Machine Learning Life Cycle and application of AutoML and MLOps in ML model engineering and in production systems
- Design and develop data infrastructure for learning and serving models
- Critically evaluate and contrast cloud-based services to develop AI-enabled systems
- Critically evaluate risks, deployment, and telemetry in AI-enabled systems
Topics covered in this unit may include (but are not limited to) the following:
- AI-enabled systems and adoption of AI in our society.
- How AI-enabled systems are developed and operated.
- Applying agile software development to building AI-enabled systems.
- Modern trends in AI-enabled systems such as DevOps, AutoML, and MLOps.
- Introduction to Cloud computing and cloud-based AI-enabled systems.
- Cloud service models.
- Specialised hardware for machine learning.
- Scaling production AI-enabled systems and designing a system to process huge amounts of training data, telemetry data, and user requests.
- Analysing wrong predictions which the ML-model can make.
- Safety and security assurance despite possible mistakes.
- End-to-end design of AI-enabled systems.
- Applying AI frameworks to develop strategies for organisations.
- Detecting data quality issues, concept drift, and feedback loops in production.
- Evaluating the quality of an ML-model’s predictions in production and the entire AI-enabled system.
- Identifying what is important in an AI-enabled product in a production setting for a business.
This unit covers some of the advanced topics in artificial intelligence (AI). This is a continuation of the Foundations of AI unit, and you will learn a broad range of topics including fundamental concepts and recent advancements in the area. This unit is designed in a way that will allow you to gain theoretical knowledge as well as develop practical skills in the area.
You’ll learn to:
- Understand a wide range of AI techniques and their advantages and disadvantages.
- Appreciate AI as a mechanism to deal with computationally difficult problems in a practical manner.
- Explore the links between AI and the brain and nature-inspired computingWhile evaluating opportunities and challenges.
- Apply search algorithms to find the optimal solution to a problem.
- Use logical programming to solve practical problems.
- Understand the basics of AI planning and use Planning Domain Definition Language (PDDL) to formulate planning problems and compare various planning approaches.
- Use probabilistic reasoning to estimate inference in Bayesian network and to predict conditions using hidden Markov models.
- Understand specific machine learning techniques, apply them to a given dataset, and interpret the results.
- Understand the basics of neural networks and produce a code to classify a given pattern.
Topics covered in this unit may include (but are not limited to) the following:
- Classical definitions, applications, and history of AI and its relationship with neuroscience.
- Problem-solving: algorithms inspired by nature and science.
- Planning: an important subfield of AI.
- Logical reasoning (propositional logic, first-order logic, logic programming).
- Probabilistic approaches (Markov chain, causality).
- Machine learning (decision trees and clustering approaches (e.g., hierarchical).
- Introduction to Neural Networks.
The aims of this unit are to prepare students for their dissertation research project, giving them an advanced level of understanding of what a research project is, what the various research themes are in the Department of Computer Science at the University of Bath, and how to find and critically evaluate relevant literature. Throughout this unit, students will develop a feasible project proposal that will lead to an effective dissertation. As part of their research proposal, students will need to start thinking about project methodologies and the ethical considerations needed for their project.
You’ll learn to:
- Summarise and critique research papers in Computer Science and AI.
- Distinguish various research themes in the selected field, with a broad understanding of suitable approaches and methodologies.
- Determine which research topic they would like to work on for their dissertation.
- Critically analyse and review previous work in the chosen subject area.
- Create a feasible project proposal for the dissertation.
- Understand the principles of structuring a dissertation.
- Reason for methodological and ethical considerations of their chosen topic.
Topics covered in this unit may include (but are not limited to) the following:
- Selecting an appropriate topic for a dissertation research project
- Researching relevant academic literature
- Assessing the relevance of research publications
- Assessing the quality of secondary research resources, such as web resources
- Critical analysis of research papers
- Preparation of a research proposal
In this unit, students will follow an appropriate problem-solving route, building on the detailed dissertation project proposal written in the Research Project Preparation unit. They will analyse possible problem solutions based on an extensive literature and technological review of related research work and choose appropriate methods and approaches. This will lead to the implementation of the chosen solution, its testing, and its evaluation. In most cases the project will be a synthesis of both an analytical and a computational approach to solving or investigating a substantial computer science problem. However, projects will vary in style, and some may be more experimentally based while some may be purely theoretical. A comprehensive dissertation will be submitted at the completion of the project.
The dissertation can be taken over 3 months, 8 months, or 12 months. Students choosing the shorter pathways may have a substantially higher workload per week.
You’ll learn to:
- Identify the tasks to be completed in a research project, plan a scheme of work, and complete the project to a professional standard.
- Conduct independent research following the ethical principles and processes.
- Assemble and create the necessary analysis, design, and development tools, carry out the development of the solution of a technical problem in computer science with a focus in Artificial Intelligence, and evaluate the effectiveness of the solution against common standards of quality.
- Demonstrate the successful completion of these tasks in a well-structured and coherently written dissertation, which will include a discussion of the research outcomes of the work, and future directions.
- Evaluate and critique the project.
Topics covered in this unit may include (but are not limited to) the following:
- The requirements of a Computer Science dissertation project: refining the project proposal with project bounding and planning using appropriate Project Management techniques, estimating the computational time in experiments.
- Effective and ineffective written communication.
- When to use graphs, diagrams and pictures.
- Citing and use of references.
- Styles of written English.
- Structure of a dissertation, depending on the nature of the project.
- Awareness of plagiarism and academic integrity.
- The project dissertation.
- Conducting effective independent research. 10. Review and relation to the project of: laws relating to intellectual property, copyright, and patent, Data Protection and Freedom of Information laws, professional practice, ethical experimental practice.
- Understanding and addressing the ethical aspects of data and code in view of the ethical scrutiny.
The course of study for each project will depend on the agreed project proposal. Individual project supervisors provide academic direction and appropriate guidance to students to develop the project that they proposed. This will include direction to appropriate academic material and skills training that may be required by the student.
Optional Units: General Pathway
Providing an overview of the theory and practice of machine learning, this unit explores central concepts and algorithms of supervised, unsupervised and reinforcement learning.
You’ll learn to:
- Distinguish between different formulations of supervised and reinforcement machine learning
- Understand the strengths and limitations of a wide range of machine learning techniques
- Write code in a relevant programming language and employ software libraries to solve problems in machine learning
In this unit, the focus is on real-world context in which AI technologies are conceived, developed, and produced, as well as the effect that the implementation of these technologies has on our society, our economy, and our politics. We will use real-world use-cases of AI technologies to illuminate these themes and to see how theoretical notions play out in practice. Each case study looks at an application of AI Technologies which promises to revolutionise aspects of our society, but with the actual effects far from universally positive.
Over the course of this unit, students should develop a much richer understanding of how AI is embedded in the social fabric and be given critical tools to assess claims about AI made by tech companies, government agencies, and the media.
You’ll learn to:
- Demonstrate in-depth understanding of the parameters of historical and contemporary debates around the development, emergence, and adoption of AI/machine learning/robot technologies.
- Demonstrate advanced critical understanding of the social, political, and economic distinctiveness of AI and related technologies.
- Demonstrate advanced critical understanding of how AI (automation, machine learning and robotics) is applied in specific empirical cases and assess the social, political, and economic implications of these applications.
- Demonstrate the use of appropriate standards of logic and argumentation, including referencing and the critical discussion of alternative views.
Topics covered in this unit may include (but are not limited to) the following:
CONTEXTS & THEORETICAL PERSPECTIVES
- Machines and the social world.
- Learning machines and digital personhood.
- Political economy & power in digital environments.
IMPLICATIONS
- Political economy and automation.
- Politics in the online information environment.
- Digital statehood and algorithmic rule.
- Citizenship, new technologies, and the idea of ‘the public(s).
The Robotics unit is a general introduction to this application domain, designed to give a broad conceptual understanding of the components of a robotic application and the taxonomies of techniques involved in accomplishing the tasks of those components.
Perception systems in robotics will feature prominently in the unit with a good coverage of sensors and a particular emphasis on the intensity camera image grid as a data structure. It will also cover visual data interpretation and basic manipulation to give a sense of the role of machine vision in robotics. Further, the unit zooms in on the hardware aspects involved in locomotion as well as algorithmic aspects of the robot planning and control task discussing the different approaches to environment search. Robotics as an area of research will be given context, in terms of history of its development against the backdrop of general AI evolution as well as in terms of ethical practices, safety, and accountability.
The unit includes state-of-the-art robotics application examples where the theory can be seen applied in the real world. Technical challenges in the design of various systems are discussed throughout the unit, but particularly in the last two weeks devoted to practical application with essential supporting theoretical background to facilitate understanding.
You’ll learn to:
- List the key components of a robotics application.
- Explain the operating principles of various robot sensors, in particular of the intensity camera as well as the associated challenges in raw data acquisition.
- Understand image as a data structure and apply basic processing and manipulation algorithms to it to achieve specified goals.
- Describe and classify hardware options in data acquisition and locomotion tasks.
- Discuss the interaction of hardware with interpretation and control algorithms.
- Discuss the taxonomy and the operating principles of environment search algorithms with the relative advantages and disadvantages of different variants.
- Discuss the historical development of robotics, providing examples, and the current technical and non-technical challenges the field faces.
- Understand the reasons why technical challenges arise from the theoretical point of view.
- Analyse operating principles of various approaches in different robot perception tasks such as data acquisition and interpretation and understand how these can be classified to build taxonomies (understand the methods compared to each other).
Topics covered in this unit may include (but are not limited to) the following:
- History of development, state-of-the-art and current technical and non-technical challenges (including ethics) in robotics, essential supporting theory for technical challenges (e.g., the visual odometry pipeline from visual features to triangulation).
- Sensors for data acquisition, image as a data structure, basics of photometric and geometric image formation.
- Projective geometry manipulations in 2D/3D and basic image processing.
- Robot Locomotion.
- Robot planning and control: environment search algorithms.
- Illustrative examples of robotics state-of-the-art in academic research and industry.
Optional Units: Technical Pathway
Today, humans and machines generate an enormous amount of data that surpasses our capacity to absorb, interpret, and make complex decisions based on it. The future of complex decision-making lies in Artificial Intelligence (AI), which is the foundation of all computer learning.
This course provides foundational understanding of deep learning techniques (multilayer perceptron, convolutional neural networks, etc.) as well as demonstrates how these models can solve complex problems in a variety of industries, from medical diagnostics to image recognition.
You’ll learn to:
- Understand the important theoretical concepts and algorithms in modern machine learning.
- Understand state-of-the-art applications of machine learning and open research questions.
- Appraise the suitability of various machine learning methods for a given application.
- Demonstrate a basic understanding of the important theoretical concepts and algorithms in modern machine learning.
- Demonstrate familiarity with state-of-the-art applications of machine learning and open research questions.
- Appraise the suitability of various machine learning methods for a given application and write code in a relevant programming language to solve problems.
- Demonstrate an understanding of a range of deep learning techniques, including MLP, CNN, and RNN.
- Demonstrate an understanding of how deep learning algorithms work, how to build them, and how to train them.
- Apply deep learning techniques to solve real-life problems using deep learning libraries.
Topics covered in this unit may include (but are not limited to) the following:
- Optimization, stochastic gradient descent, backpropagation, various architectures for neural networks, and state-of-the art applications of machine learning and social, legal, and ethical implications of AI.
- Research seminars based on current research in the department.
This unit provides a solid foundation in the exciting and fast-moving field of reinforcement learning. Reinforcement learning is concerned with training agents to select appropriate actions in their environments to achieve some goal. The types of problems tackled in reinforcement learning are very different from those tackled in other branches of machine learning. By the end of this unit, students should be able to identify sequential decision problems in the real world, formulate them as Markov decision processes, select appropriate solution methods, and implement them successfully.
In the first half of the unit, students will cover the fundamentals of reinforcement learning. Starting from the very basics, students will build up fundamental concepts from first principles, before looking at key reinforcement learning algorithms and applying them to solve simple problems. In the second half of the unit, students will apply these key ideas to more complex problems using function approximation. At the very end of the unit, students will study some active areas of research on the cutting-edge of the field.
You’ll learn to:
- Describe how reinforcement learning problems differ from supervised learning problems such as regression and classification.
- Formulate real-world problems to demonstrate learning problems in context.
- Critically evaluate a range of basic solution methods to reinforcement learning problems.
- Analyse the difficulties encountered in solving large, complex reinforcement learning problems.
Topics covered in this unit may include (but are not limited to) the following:
- The reinforcement learning problems.
- Markov decision processes.
- Dynamic programming methods.
- Monte-Carlo methods.
- Temporal-difference methods.
- Planning and n-step methods.
- Function approximation and generalisation in reinforcement learning.
- Linear function approximated methods.
- Deep reinforcement learning methods.
- Policy-gradient methods.
- Hierarchical reinforcement learning.
- Intrinsically motivated reinforcement learning.
- Social, legal, and ethical implications of AI.
The Robotics and Machine Vision unit is a technical introduction to this application domain with a particular focus on perception systems. This unit covers key aspects of the pipeline such as raw data acquisition, processing and representation and interpretation.. The main emphasis will be on the algorithms, yet the unit also touches on some hardware aspects of robotics, such as those involved in sensing and locomotion.
With perception systems being the focus, and intensity camera the designated main sensor, the unit ventures into the domain of machine vision and graphics, covering important topics of scene reconstruction, modelling, and manipulation in 2D and 3D using projective geometry. Robotics as an area of research is given context, in terms of history of its development against the backdrop of generic AI evolution, as well as in terms of ethical practices, safety, and accountability. The unit also includes state-of-the-art robotics application examples where theory can be seen applied in the real world.
You’ll learn to:
- List the key tasks of a robotics application and the building blocks of a robotic perception system.
- Explain key algorithmic paradigms involved in robot perception system (e.g., SLAM).
- Explain the operating principles of various robot sensors in particular of the intensity camera, as well the associated challenges in raw data acquisition.
- Explain the core theory behind visual data interpretation algorithms, and apply the knowledge in practice.
- Explain the core theory behind scene representation and manipulation in 2D and 3D, and apply the knowledge in practice.
- Describe and classify hardware options in data acquisition and locomotion tasks.
- Discuss the interaction of hardware with interpretation and control algorithms.
- Discuss the historical development of robotics, providing examples, and the current technical and non-technical challenges the field faces.
Topics covered in this unit may include (but are not limited to) the following:
- History of development, state-of-the-art and current technical and non-technical challenges (including ethics) in robotics.
- Robot perception systems from data acquisition through processing/representation to data interpretation, vision-based data interpretation, such as visual odometry or simultaneous localisation and mapping), associated mathematical frameworks, software architectures, image processing, and projective geometry techniques.
- Sensors for data acquisition, image as a data structure, basics of photometric and geometric image formation, basics of camera calibration models.
- Robot Locomotion.
Topics covered in this unit may include (but are not limited to) the following:
- Selecting an appropriate topic for a dissertation research project.
- Researching relevant academic literature.
- Assessing the relevance of research publications.
- Assessing the quality of secondary research resources, such as web resources.
- Critical analysis of research papers.
- Preparation of a research proposal.
Dr Ben Ralph
Dr Ben Ralph is the Director of Studies for the Artificial Intelligence online MSc, and teaches on both the Artificial Intelligence and Computer Science online MSc. As a researcher Ben has mainly studied structural proof theory: in particular the problem of proof identity, using techniques including combinatorial proofs and Deep Inference, and before his PhD at Bath completed a Masters degree in Mathematics and Philosophy at the University of Oxford. Ben has also signed the pledge for sustainable research in theoretical Computer Science.