Year 1
- Introduction to Computer Science
- Programming in C and C++
- Algorithms and Data Structures
Year 2
- Operating Systems
- Databases and Web Services
- Automata, Computeability and Complexity
- Software Engineering
- Machine Learning
- Secure and Dependable Systems (year 3 course)
- Distributed Algorithms (year 3 course)
Year 3
- Computer Networks
- Advanced Functional Programming
- Computer Architecture and Programming Languages
- Parallel and Distributed Computing
For the complete handbook, where you can find detailed descriptions of each course, see this link.