Year 1
Your first year and second year are comprised of compulsory computer science subjects, and you’ll receive a comprehensive education in fundamental, relevant subjects. You’ll be given an overview of the subject and gain a firm foundation in the principles of algorithms, artificial intelligence, software engineering and relevant maths. You’ll also learn computer programming in Java – a language widely used in business and industry.
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
Year 2
You’ll move on to study more fundamental subjects in computer science, including enabling technologies such as databases, graphics and the formal basis of programming languages. Teaching these together with programming allows you to put the theory into practice, giving you a much deeper understanding. You’ll also learn to work in a team to produce software, and you’ll learn new styles of programming in Java and a second language.
Core modules (all 20 credits)
Artificial Intelligence 2
Functional Programming
Operating Systems and Systems Programming
Security and Networks
Software Engineering and Professional Practice
Team Project
Year 3
In your final year you’ve got a huge amount of choice so you really can tailor the degree to your ambitions and interests. You’ll spend one third of your time on a project, either developed from your own idea or from a wide selection offered by staff members. This usually involves writing a large piece of software and gives you the freedom to extend and demonstrate your skills in your own way.
In the other two thirds of your time, you can choose freely from over 20 optional modules, including practical subjects such as operating systems, computer networks and graphics, and some of the latest research in areas such as evolutionary computation, neural computation, intelligent robotics and natural language technologies. Some modules allow you to gain further programming skills in specialised areas such as systems programming in C and C++.
Core modules
Computer Science Project (40 credits)
Optional modules (all 20 credits)
Choose 80 credits of optional modules, examples listed below:
Advanced Functional Programming
Advanced Networking
Algorithms and Complexity
Computer-Aided Verification
Computer Vision and Imaging
Evolutionary Computation
Human-Computer Interaction
Intelligent Robotics
Machine Learning and Intelligent Data Analysis
Mobile & Ubiquitous Computing
Natural Language Processing
Neural Computation
Programming Language Principles, Design, and Implementation
Quantum Computing
Security of Real-World Systems
Teaching Computer Science 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 2023. 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.
Show less