# Modules

### Programme Structure

Students will take four modules each semester. An MSc taught module typically comprises 24 hours of lectures and 12 hours of tutorials, given during one of the two 12-week teaching semesters. Modules are assessed by a mixture of in-term assessment and final examinations, with examinations being held between late April and early June.

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

### MTH700P - Research Methods in Mathematical Sciences

This module is designed to provide students with the skills and expertise to access, read and understand research literature in a wide range of mathematics and its applications. In addition, students will gain the necessary background for delivering efficient and professional oral presentations, poster presentations and scientific writing. Finally, the course is aimed to constitute a guide as well as a first training in research oriented tools and careers.

This module aims to:

- Provide students with a set of core skills as an introduction to their project work;
- Equip students with information retrieval skills (literature review), report writing skills, use of scientific and mathematical word processing, and presentation skills;
- Equip students to identify an intended research question in the scientific literature, and begin to formulate their own;
- Give students an overview of topics of current research in mathematics;
- Give a more in-depth understanding of a specific research area.

### Dynamical Systems

A dynamical system is any system which evolves over time according to some pre-determined rule. The goal of dynamical systems theory is to understand this evolution. This module develops the theory of dynamical systems systematically, starting with first-order differential equations and their bifurcations, followed by phase plane analysis, limit cycles and their bifurcations, and culminating with the Lorenz equations and chaos. Much emphasis is placed on applications.

Topics include:

- First-order differential equations (one-dimensional flows): linear and nonlinear equations, graphical solutions, bifurcations.
- Two-dimensional flows: phase plane, stability of fixed points, periodic solutions, and limit cycles. Introduction to bifurcation theory, local and global bifurcations. Tools for studying global behavior of flows: Lyapunov functions, Poincare-Bendixson Theorem, gradient flows.
- Three-dimensional flows: Lyapunov exponents, Poincare sections, strange attractors, chaos.

### Further Topics in Algebra

This module provides exposure to advanced techniques in algebra at an MSc or MSci level. Algebra encompasses familiar objects such as integers, fields, polynomial rings and matrices and has applications throughout mathematics including to geometry, number theory and topology. The module will complement the algebra module offered in Semester A and will cover topics either in commutative or noncommutative algebra. Included will be basic definitions and theorems in either case, normally with rings or fields as a starting point. The aim of this module is to expose students to advanced techniques in algebra, which complement those presented in the module Group Theory. The module is also seen as a way to prepare students to study more advanced algebra subjects at PhD level. The topics covered will depend on the expertise of the lecturer. These could be drawn from the theory of rings and their modules, Galois theory or elements of algebraic geometry. Commutative algebra or noncommutative algebra could also be covered.

Topics include:

- Key advanced concepts of algebra (e.g., rings, modules, finite fields, Galois theory).
- Key applications of algebra (e.g., insolubility of equations of degree greater than or equal to 5 by radicals, equivalence with insolubility of the Galois group).

### Machine Learning with Python

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.

### Topics in Scientific Computing

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

### Topics in Probability and Stochastic Processes

This module aims to present some advanced probabilistic concepts and demonstrate their application to stochastic modelling of real-world situations. The topics covered include renewal theory, continuous-time Markov processes and Brownian motion. In addition to exposure to proofs and theoretical material, students develop practical skills through a large number of problems and worked examples. A stochastic process is a system evolving in time in a random way. Besides being of fundamental interest to probability theory, stochastic processes have applications in diverse fields such as financial mathematics, operations research and mathematical biology. This module is an introduction to stochastic processes and related probabilistic concepts. The focus is on continuous time stochastic processes, for which time is an element of the real numbers.

Topics include:

- Renewal processes: the renewal function; limiting behaviour; current and excess life; characterisation of the Poisson process as a renewal process; the renewal rewards theorem.
- Continuous time Markov chains: description in terms of the sojourn times and jump chain; deﬁnition of the generator; the equation for the transition probability matrix in terms of the generator; use of the generator in ﬁnding stationary distributions.
- Brownian motion: the invariance and reﬂection principles; hitting times.

### Advanced Machine Learning

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.

### Bayesian Statistics

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.

### Complex Systems

Complex systems can be defined as systems involving many coupled units whose collective behaviour is more than the sum of the behaviour of each unit. Examples of such systems include coupled dynamical systems, fluids, transport or biological networks, interacting particle systems, etc. The aim of this module is to introduce students to a number of mathematical tools and models used to study complex systems and to explain the mathematical meaning of key concepts of complexity science, such as self-similarity, emergence, and self-organisation. The exact topics covered will depend on the module organiser's expertise with a view to cover practical applications using analytical and numerical tools drawn from other applied modules.

Topics include:

Introduction to the field of complex systems via a number of representative examples and models of these systems (e.g., coupled dynamical systems, time-delayed systems, stochastic processes, networks, time series, fractals, multifractals, particle models).

- Introduction to basic tools and quantities used in the study of complex systems (e.g., bifurcation diagram, symbolic dynamics, dimensions, Lyapunov exponents, complexity measures, entropies).
- Introduction to the concepts of emergence and self-organisation in the context of basic models of complex models.
- Introduction to basic computational and numerical methods used to study complex systems.

### Computational Statistics with R

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.

### Graphs and Networks

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

### 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).