In your first year you gain a firm foundation in programming, plus the principles of data structures and algorithms; artificial intelligence; and relevant logic and mathematics. Our main teaching language is Java, a language widely used in enterprise systems, but you will also learn functional programming, which is a style of programming with a deep connection to logic. You will also spend a third of your time on business-related subjects.
During your summer vacation, you will spend 10 weeks at Vodafone, placed with our Technology and Digital teams. Your role will enable you to put in to practise your learnings from Year 1, plus gain additional experience and learning on-the-job, working alongside Vodafone’s top professionals.
- Programming in Java - 20 credits
- Mathematical Foundations of Computer Science - 20 credits
- Artificial Intelligence - 20 credits
- Logic and Computation - 20 credits
- Data Structures and Algorithms - 20 credits
- Business Organisation and Management - 10 credits
- Introduction to Financial Analysis - 10 credits
In your second year you move on to study enabling technologies and their application. You will learn about a wide range of subjects from the mathematics for modelling and decision making which underpins much of modern machine learning, to systems-level programming, networks, and cyber security. Your programming repertoire will be broadened by exposure to the C programming language plus further functional programming. You will also be taught professional software engineering techniques and apply them to develop a large team project in Java such as a multiplayer networked game.
- Software Engineering - 20 credits
- Systems Programming in C/C++ - 20 credits
- Advanced Functional Programming - 20 credits
- Mathematical Modelling and Decision Making - 20 credits
- Security and Networks - 20 credits
- Team Project - 20 credits
In your third year you will undertake a full year in industry with Vodafone.
In your final year you have freedom of choice to specialise in particular areas of computer science. The choice available covers computer graphics, computer security and verification, theoretical computer science, human-computer interaction, artificial intelligence, machine learning, robotics, computer vision, and teaching computer science. You also spend one-third of your time on a final degree project. This includes writing a large piece of software or doing a major piece of research, and brings together all of the computer science skills you have acquired.
- Computer Science Project - 40 credits
You are able to choose from a range of optional 20 credit modules, depending on your area of interest, examples listed below. Please note there will be a compulsory Business School module in the final year - details to be confirmed.
- Teaching Computer Science in Schools - 20 credits
- Computer Graphics - 20 credits
- Security of Real-World Systems - 20 credits
- Theoretical Foundations for Security - 20 credits
- Human-Computer Interaction - 20 credits
- Complex Adaptive Systems - 20 credits
- Programming Language Principles, Design and Implementation - 20 credits
- Advanced Networking - 20 credits
- Machine Learning and Intelligent Data Analysis - 20 credits
- Intelligent Robotics - 20 credits
- Computer-Aided Verification - 20 credits
- Computer Vision and Imaging - 20 credits
- Language and Cognition - 20 credits
- Individual Study - 20 credits
Please note: The modules listed on the website for this programme are regularly reviewed to ensure they are up-to-date and informed by the latest research and teaching methods. Unless indicated otherwise, the modules listed for this programme are for students starting in 2019. On rare occasions, we may need to make unexpected changes to core modules; in this event we will contact offer holders as soon as possible to inform or consult them as appropriate.