First level

APM1513 – Applied Linear Algebra

APM1514 – Mathematical Modelling

COS1501 – Theoretical Computer Science I

COS1511 – Introduction to Programming I

COS1512 – Introduction to Programming II

COS1521 – Computer Systems: Fundamental Concepts

MAT1503 – Linear Algebra

MAT1512 – Calculus A



Second level

APM2611 – Differential Equations

APM2614 – Applied Dynamical Systems

APM2616 – Computer Algebra

COS2601 – Theoretical Computer Science II

COS2611 – Programming: Data Structures

COS2614 – Programming: Contemporary Concepts

COS2621 – Computer Organisation

COS2633 – Numerical Methods I

COS2661 – Formal Logic II

MAT1613 – Calculus B

MAT2612 – Introduction to Discrete Mathematics

MAT2615 – Calculus in Higher Dimensions




Third level

APM3711 – Numerical Methods II

APM3712 – Mechanics and Calculus of Variations

APM3713 – Special Relativity and Riemannian Geometry

COS3701 – Theoretical Computer Science III

COS3711 – Advanced Programming

COS3721 – Operating Systems and Architecture

COS3751 – Techniques of Artificial Intelligence

COS3761 – Formal Logic III

MAT3706 – Ordinary Differential Equations

MAT3707 – Discrete Mathematics: Combinatorics