Skip to main content
School of Mathematical Sciences

Modules

Programme Structure

This is our most flexible programme. You will choose all of your modules, allowing you to tailor the programme to your specific interests, skills and career aspirations. 

The modules offered reflect the research strengths of the School of Mathematical Sciences. We offer specialisms in Pure Mathematics or Statistics and Data Science. 

In the summer term, you will undertake a major research project dissertation, covering a specific research-level topic of your choice. You will need to understand, explain and elaborate on results from one or more journal articles and your project may also involve computation.

Please note that this is for information only and may be subject to change.

Semester A Compulsory Modules (choose one from):

This module introduces you to the Python programming language. After learning about data types, variables and expressions, you will explore the most important features of the core language including conditional branching, loops, functions, classes and objects. We will also look at several of the key packages (libraries) that are widely used for numerical programming and data analysis.

This module focuses on the use of computers for solving applied mathematical problems. Its aim is to provide students with proper computational tools to solve problems they are likely to encounter while doing their MSc or MSci, and to provide them with a sound understanding of a programming language used in applied sciences. The topics covered will include basics of scientific programming, numerical solution of ordinary differential equations, random numbers and Monte Carlo methods, simulation of stochastic processes, algorithms for complex networks analysis and modelling. The emphasis of the module would be on numerical aspects of mathematical problems, with a focus on applications rather than theory.

Topics include:

  • The use of computers for solving applied mathematical problems
  • Proper computational tools to solve problems likely to be encountered during the MSc/MSci
  • Training in a programming language used in applied sciences

Semester A Elective Modules

Pure Stream (choose three from):

This module aims to illustrate how simple deterministic dynamical systems are capable of extremely complicated or chaotic behaviour. We also make contact with real systems by considering a number of physically motivated examples and defining some of the tools employed to study chaotic systems in practice. Other topics covered include discrete and continuous dynamical systems, repellers and attractors, Cantor sets, symbolic dynamics, topological conjugacy for maps, definition of chaos. Fractals, iterated function systems and Julia sets.

The aim of this course is to complement the core Relativistic Waves and Quantum Fields (RWQF) module by providing the student with some advanced tools essential for research in modern Theoretical Physics. Using the same starting point as RWQF, Maxwell's theory of electromagnetism, we will focus on the Lagrangian formulation of the two most prominent theories of our time: Yang-Mills (gauge) theory and gravity. The alternative notation of differential forms will be explored and the geometric aspects of gauge theory emphasised. Building on this, and introducing elements from group theory and fibre bundles we will introduce classical solitons as localised, finite energy solutions to the classical field equations in various dimensions (kinks in 2d, vortices in 3d, monopoles in 4d, instantons in Euclidean 4d) and discuss their properties, including the existence of zero-modes, associated collective coordinates and moduli spaces.

This is a module in algebraic structures, covering more advanced aspects of group theory as well as introducing the theory of modules. There is a strong emphasis on abstract thinking and proof. The group theory portion includes the basics of group actions, finite p-groups, Sylow theorems and applications, and the Jordan-Holder theorem. Ring theory is also explored via matrix rings and Noetherian rings. After studying the basic theory of modules, the structure of finitely generated modules over Euclidean domains is determined.

Partial differential equations (PDEs) play a key role in many areas of the physical sciences, including physics, chemistry, engineering and finance. They can be used to describe many phenomena, such as wave motion, diffusion of gases, electromagnetism, and the evolution of the prices of financial assets, to name just a few. In this module, we will investigate the most important classes of PDE, and look at the various techniques (both analytical and numerical) that can be used to solve them. Whilst we consider some of the underlying theory, the main emphasis of this module will be on applying this theory to realistic, applied problems.

Statistics and Data Science Stream (choose three from):

The module aims to provide students with a solid understanding of the theory and applications of the General Linear Models as used in modern Statistical Applications. This framework of models consists of a generalisation of linear regression that includes more general response variables such as binary, multinomial, ordinal, Poisson random variables amongst others where the underlying parameters or a function of them depend in linear fashion of the input variables. The module will provide an introduction to the basic techniques in these advanced topics. Including a review of linear and logistic regression and will progress onto how this model can be extended to more general random variables.

This module will introduce you to some of the most widely-used techniques in machine learning (ML). After reviewing the necessary background mathematics, we will investigate various ML methods, such as linear regression, polynomial regression and classification with logistic regression. The module covers a very wide range of practical applications, with an emphasis on hands-on numerical work using Python. At the end of the module, you will be able to formalise a ML task, choose the appropriate method to process it numerically, implement the ML algorithm in Python, and assess the method’s performance.

This is an advanced module in probability, introducing various probability models used in physical and life sciences and economics. It serves as an introduction to stochastic modelling and stochastic processes. It covers discrete time processes including Markov chains and random walks, and continuous time processes such as Poisson processes, birth-death processes and queuing systems. It builds on previous probability modules but needs no background in statistics; some experience of linear algebra is also desirable.

Partial differential equations (PDEs) play a key role in many areas of the physical sciences, including physics, chemistry, engineering and finance. They can be used to describe many phenomena, such as wave motion, diffusion of gases, electromagnetism, and the evolution of the prices of financial assets, to name just a few. In this module, we will investigate the most important classes of PDE, and look at the various techniques (both analytical and numerical) that can be used to solve them. Whilst we consider some of the underlying theory, the main emphasis of this module will be on applying this theory to realistic, applied problems.

Semester B Elective Modules

Pure Stream (choose four from):

This module provides an introduction to the theory of graphs from an algorithmic perspective. A graph models a set of objects and a pairwise relation among them, such as locations on a map and roads between these locations. An algorithm is a step-by-step procedure for solving a problem, such as that of finding a shortest path between two locations. Students will learn to model real-world problems using graphs, and to solve them both by hand and with the help of software tools. Mathematical properties of graphs will be used in developing new algorithms and showing that these algorithms work correctly and efficiently.

This module provides a thorough introduction to the theory of error-correcting codes. The module begins with the essential definitions of alphabets, codes and error-correction, leading to the formulation of the main problem of coding theory. A variety of examples of codes are constructed, including parity-check codes. Several theorems giving bounds for the main coding theory problem are proved (the Plotkin bound, the Hamming bound and the Singleton bound). The module then looks at linear codes, beginning with a brief review of basic linear algebra before moving on to constructions of linear codes (such as the Hamming and Reed-Muller codes).
The module also explores communication via a noisy channel, exploring the notions of capacity and word error probability.

This module addresses one of the most important “hot topics” in mathematics research – the study of networks – and is essential for understanding the characteristics and universal structural properties of complex networks. Complex networks are the outcome usually of a stochastic dynamics but they are not completely random. You will learn how to disentangle randomness from structural organisational principles of complex networks and how several major types of complex network can be described and artificially generated by mathematical models.  Networks characterise the underlying structure of a large variety of complex systems, from the Internet to social networks and the brain. This course is designed to teach students the mathematical language needed to describe complex networks, their basic properties and dynamics. The broad aim is to provide students with the key skills required fundamental research in complex networks, and necessary for application of network theory to specific network problems arising in academic or industrial environments. The students will acquire experience in solving problems related to complex networks and will learn the necessary language to formulate models of network-embedded systems.

Topics include:

  • Basic concepts used in studying complex networks (e.g. adjacency matrices, degree distributions and correlations, graph distances)
  • Basic tools used to study complex networks (e.g. connected components, k-cores, communities, motifs, centrality measures)
  • Models for complex networks: the small world, the growing networks models and the configuration model

We have learnt how to measure distance on the real line (using the absolute value) and between two points on the plane (applying the Pythagorean Theorem). But can we measure distance between two vectors in a multidimensional Euclidean space, or between two square matrices, or perhaps two functions? The answer is, yes, we can. In this module we study metric spaces which are sets of mathematical objects, such as numbers, vectors, matrices, and functions, equipped with the geometric concept of distance (metric). Inside the universe of a Metric Space, we shall generalize the concepts of convergence and continuity, ideas studied in real analysis and explore the foundations of continuous mathematics. We shall discuss Fixed Point Theorems which play an important role for proving the existence of solutions of differential equations and equilibrium points in economic markets.

Optimisation refers to the selection of the best alternative, according to some criterion, from a set of available alternatives.

This module introduces standard models from mathematical optimisation, like network flows and linear programmes, and their use in solving real-world optimisation problems; in staff and project scheduling, commodity trading, production, and sales. Tutorials focus on modelling of real-world optimisation problems based on data, and on the use of software such as R, Excel, and Gurobi to solve optimisation problems and make better decisions.

The modern axiomatic approach to mathematics is demonstrated in the study of algebraic structures. This module will focus on Ring Theory, which includes integral domains, ideals, homomorphisms and isomorphism theorems, polynomial rings, the Euclidean algorithm, and fields of fractions. It will be illustrated by some familiar examples, such as the rings of integers and polynomials in one variable.

Statistics and Data Science Stream (choose four from):

This module builds on the earlier module "Machine Learning with Python", covering a number of advanced techniques in machine learning, such as dimensionality reduction, support vector machines, decision trees, random forests, and clustering. Although the underlying theoretical ideas are clearly explained, this module is very hands-on, and you will implement various applications using Python in the weekly coursework assignments.

The module aims to introduce you to the Bayesian paradigm. The module will show you some of the problems with frequentist statistical methods, show you that the Bayesian paradigm provides a unified approach to problems of statistical inference and prediction, enable you to make Bayesian inferences in a variety of problems, and illustrate the use of Bayesian methods in real-life examples.

Topics include:

The Bayesian paradigm: likelihood principle, sufficiency and the exponential family, conjugate priors, examples of prior to posterior analysis, mixtures of conjugate priors, non-informative priors, two sample problems, predictive distributions, constraints on parameters, point and interval estimation,hypothesis tests, nuisance parameters.

  • Linear models: use of non-informative priors, normal priors, two and three stage hierarchical models, examples of one way model, exchangeability between regressions, growth curves, outliers and influential observations.
  • Approximate methods: normal approximations to posterior distributions, Laplace’s method for calculating ratios of integrals, Gibbs sampling, finding full conditionals, constrained parameter and missing data problems, graphical models. Advantages and disadvantages of Bayesian methods.
  • Examples: appropriate examples will be discussed throughout the course. Possibilities include epidemiological data, randomised clinical trials, radiocarbon dating.

This module introduces modern methods of statistical inference for small samples, which use computational methods of analysis, rather than asymptotic theory. Some of these methods such as permutation tests and bootstrapping, are now used regularly in modern business, finance and science.

Topics include:

The techniques developed will be applied to a range of problems arising in business, economics, industry and science. Data analysis will be carried out using the user-friendly, but comprehensive, statistics package R.

  • Probability density functions: the empirical cdf; q-q plots; histogram estimation; kernel density estimation.
  • Nonparametric tests: permutation tests; randomisation tests; link to standard methods; rank tests.
  • Data splitting: the jackknife; bias estimation; cross-validation; model selection.
  • Bootstrapping: the parametric bootstrap; the simple bootstrap; the smoothed bootstrap; the balanced bootstrap; bias estimation; bootstrap confidence intervals; the bivariate bootstrap; bootstrapping linear models.

This module will introduce students to the elementary analytics of investment for digital and real assets. The rise of new asset classes is taking the investment world by storm. In current times, understanding and managing investments in alternative assets not covered by standard investment analysis modules has become essential. This module will develop, from an analytics viewpoint, an understanding of several asset classes that are currently included in investment portfolios, such as commodities, real estate, art and cryptoassets, and how these assets'  statistical properties fit in the context of the portfolio.

Students will develop an understanding of the implications of blockchain technology, cryptocurrencies, and non-fungible tokens (NFTs) in investment portfolios.  The module has no prerequisites.

This module addresses one of the most important “hot topics” in mathematics research – the study of networks – and is essential for understanding the characteristics and universal structural properties of complex networks. Complex networks are the outcome usually of a stochastic dynamics but they are not completely random. You will learn how to disentangle randomness from structural organisational principles of complex networks and how several major types of complex network can be described and artificially generated by mathematical models.  Networks characterise the underlying structure of a large variety of complex systems, from the Internet to social networks and the brain. This course is designed to teach students the mathematical language needed to describe complex networks, their basic properties and dynamics. The broad aim is to provide students with the key skills required fundamental research in complex networks, and necessary for application of network theory to specific network problems arising in academic or industrial environments. The students will acquire experience in solving problems related to complex networks and will learn the necessary language to formulate models of network-embedded systems.

Topics include:

  • Basic concepts used in studying complex networks (e.g. adjacency matrices, degree distributions and correlations, graph distances)
  • Basic tools used to study complex networks (e.g. connected components, k-cores, communities, motifs, centrality measures)
  • Models for complex networks: the small world, the growing networks models and the configuration model

Optimisation refers to the selection of the best alternative, according to some criterion, from a set of available alternatives.

This module introduces standard models from mathematical optimisation, like network flows and linear programmes, and their use in solving real-world optimisation problems; in staff and project scheduling, commodity trading, production, and sales. Tutorials focus on modelling of real-world optimisation problems based on data, and on the use of software such as R, Excel, and Gurobi to solve optimisation problems and make better decisions.

Mathematics Project and Dissertation

Each MSc Mathematics student is required to complete a 60 credit (4 course unit) project dissertation. The module spans the full academic year, students will make their selection of project titles and will be allocated to projects by the end of Semester 1, the main work on the project usually begins in semester 2 and continues through the summer (the project work is spread over two academic years for part-time students).

Back to top