In your first year you will study compulsory modules, and 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. At the end of your first year, you will complete a 10 week summer placement with PwC in one of their technology teams.
Core modules (all 20 credits)
- Artificial Intelligence 1
- Data Structure & Algorithms
- Full Stack Application Development
- Mathematical and Logical Foundations of Computer Science
- Object Oriented Programming
- Theories of Computation
In your second year you move on to study more mandatory computer science subjects, and will learn about 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. At the end of your second year, you will complete a 10 week summer placement with PwC in one of their technology teams.
Core modules (all 20 credits)
- Artificial Intelligence 2
- Functional Programming
- Security and Networks
- Software Engineering and Professional Practice
- Systems Programming in C/C++
- Team Project
Year 3 (Year in Industry at PwC)
In your third year you will undertake a full year in industry with PwC in one of their technology teams. PwC has a range of technology teams, from Cyber Security, through to Data & Analytics, Artificial Intelligence and Technology Consulting. You can find out more about PwC on the PwC website.
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
Choose 80 credits of optional modules, examples listed below:
- Advanced Functional Programming
- Advanced Networking
- Algorithms and Complexity
- Computer Vision and Imaging
- Evolutionary Computation
- Human-Computer Interaction
- Intelligent Robotics
- Machine Learning and Intelligent Data Analysis
- Programming Language Principles, Design and Implementation
- Security of Real-World Systems
- Teaching Computing in Schools
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 2021. 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.