Your first year and second year are comprised of compulsory computer science subjects, and you’ll receive a comprehensive education in fundamental, relevant topics. 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 Structures and Algorithms
- Full Stack Application Development
- Mathematical and Logical Foundations of Computer Science
- Object Oriented Programming
- Theories of Computation
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
- Security and Networks
- Software Engineering and Professional Practice
- Systems Programming in C/C++
- Team Project
Your third year will be spent studying abroad.
- Computer Science Study Abroad (120 credits)
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++.
- 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 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.