Interactive module directory
Module catalog Click on any module card to view full details, including description, credits, and prerequisites.
CS 313 16 credits
Computer Networks 3rd Year Core
Introduction to networks in general and the internet in particular. Architecture and protocols. Allocation of resources and congestion control. Network security. Applications.
CS 314 16 credits
Concurrency 3rd Year Core
Introduction to programming techniques and principles of concurrent systems, from operating systems to application programs. Includes communication, synchronisation, scheduling and load balancing.
CS 315 16 credits
Machine Learning 3rd Year Core
Dimension reduction techniques; machine learning techniques based on maximum-likelihood, maximum posterior and expectation-maximisation estimates; modelling using logistic regression, Gaussian mixtures and hidden Markov models.
CS 343 16 credits
Databases and Web Centric Programming 3rd Year Core
Introduction to relational databases. Mapping relational model onto object model. Implementing a database application in the context of the web. Web services. Server-side scalability. Virtualisation. Cloud Computing.
CS 344 16 credits
Programme Design 3rd Year Core
Programme specifications as guidelines for programme design; reusable frameworks for programme design; testability of programme designs; development of a medium-sized system to illustrate the practical application of the principles of programme design.
CS 345 16 credits
Computability and Automata 3rd Year Core
Introduction to automata theory and formal languages, computability and complexity. Regular languages, context-free languages and grammars. Turing machines. P vs NP problem and NP completeness.
AppMath 364 16 credits
Applied Fourier Analysis 3rd Year
Prerequisite for Digital Image Processing. Fourier series, Continuous and Discrete Fourier transforms, Convolution, Laplace transform, Sturm-Liouville theory, Orthogonal functions. Applications in signal and image processing.
Math/AppMath 214 16 credits
Advanced Calculus and Linear Algebra 2nd Year
Prerequisite for Computer Vision. Linear algebra basics, functions of more than one real variable, multiple integrals, linear transformations of real vector spaces and their matrices.