Skip to main content Skip to navigation

2nd Year

Course programme

In each of our courses (MORSE, MathStat, Data Science) students will be required to study core modules and can select optional modules. Course curriculum guidelines and lists of core modules and optional modules can be found in our second year course programme document. Descriptions of the core modules and most common optional modules are listed below.

Stochastic Processes

The concept of a stochastic (developing randomly over time) process is a useful and surprisingly beautiful mathematical tool in economics, biology, psychology and operations research. In studying the ideas governing stochastic processes, you’ll learn in detail about random walks – the building blocks for constructing other processes as well as being important in their own right, and a special kind of ‘memoryless’ stochastic process known as a Markov chain, which has an enormous range of application and a large and beautiful underlying theory. Your understanding will extend to notions of behaviour, including transience, recurrence and equilibrium, and you will apply these ideas to problems in probability theory.

Mathematical Methods for Statistics and Probability

Following the mathematical modules in Year One, you’ll gain expertise in the application of mathematical techniques to probability and statistics. For example, you’ll be able to adapt the techniques of calculus to compute expectations and conditional distributions relating to a random vector, and you’ll encounter the matrix theory needed to understand covariance structure. You’ll also gain a grounding in the linear algebra underlying regression (such as inner product spaces and orthogonalization). By the end of your course, expect to apply multivariate calculus (integration, calculation of under-surface volumes, variable formulae and Fubini’s Theorem), to use partial derivatives, to derive critical points and extrema, and to understand constrained optimisation. You’ll also work on eigenvalues and eigenvectors, diagonalisation, orthogonal bases and orthonormalisation.

Probability for Mathematical Statistics

If you have already completed Probability in Year One, on this module you’ll have the opportunity to acquire the knowledge you need to study more advanced topics in probability and to understand the bridge between probability and statistics. You’ll study discrete, continuous and multivariate distributions in greater depth, and also learn about Jacobian transformation formula, conditional and multivariate Gaussian distributions, and the related distributions Chi-squared, Student’s and Fisher. You will also cover more advanced topics including moment-generating functions for random variables, notions of convergence, and the Law of Large Numbers and the Central Limit Theorem.

Mathematical Statistics

If you’ve completed “Probability for Mathematical Statistics”, this second-term module is your next step, where you’ll study in detail the major ideas behind statistical inference, with an emphasis on statistical modelling and likelihoods. You’ll learn how to estimate the parameters of a statistical model through the theory of estimators, and how to choose between competing explanations of your data through model selection. This leads you on to important concepts including hypothesis testing, p-values, and confidence intervals, ideas widely used across numerous scientific disciplines. You’ll also discover the ideas underlying Bayesian statistics, a flexible and intuitive approach to inference which is especially amenable to modern computational techniques. Overall this module will provide you a very firm foundation for your future engagement in advanced statistics – in your final years and beyond.

Linear Statistical Modelling with R

This module runs in parallel with Mathematical Statistics and gives you hands-on experience in using some of the ideas you saw there. The centrepiece of this module is the notion of a linear model, which allows you to formulate a regression model to explain the relationship between predictor variables and response variables. You will discover key ideas of regression (such as residuals, diagnostics, sampling distributions, least squares estimators, analysis of variance, t-tests and F-tests) and you will analyse estimators for a variety of regression problems. This module has a strong practical component and you will use the software package R to analyse datasets, including exploratory data analysis, fitting and assessing linear models, and communicating your results. The module will prepare you for numerous final years modules, notably the Year Three module covering the (even more flexible) generalised linear models.

Metric Spaces

A metric space is any set provided with a sensible notion of the `distance’ between points. In this module, you will examine how concepts such as convergence of sequences, continuity of functions and completeness can be extended to general metric spaces. This enables you to prove some powerful and important results, used in many parts of mathematics. Describing continuity in terms of open subsets takes you to the more general context of a topological space, where, instead of a distance, it is declared which subsets are open. You will be able to work with continuous functions, and recognise whether spaces are connected, compact or complete.

Mathematical Economics 1A, Economics 2: Microeconomics, or Economics 2: Macroeconomics

These are key modules in economics. They will provide you with a sense of the importance of strategic considerations in economic problem solving. You will see that simple, intuitive principles, formulated precisely, can go a long way in understanding the fundamental aspects of many economic problems. You will also have the flexibility to tailor the specific area of economics to your own interests: Mathematical Economics 1A focuses on game theory, Economics 2: Microeconomics focuses on microeconomics from the points of view of consumers, producers, and competing firms, and Economics 2: Macroeconomics covers a collection of macroeconomic topics such as labour markets, exchange rates, fiscal and monetary policy, and the relationship between unemployment and inflation.

Mathematical Programming II

This module builds on the first year module Mathematical Programming 1. You will learn how to identify the business problems that can be modelled using optimisation techniques and formulate them in a suitable mathematical form. You will then apply optimisation techniques to the solution of the problems using spreadsheets and other appropriate software and learn how to report on the meaning of the optimal solution in a manner suited to a business context.

Database Systems

How does the theory of relational algebra serve as a framework for the efficient organisation and retrieval of large amounts of data? During this module, you will learn to understand standard notations (such as SQL) which implements relational algebra, and gain practical experience of database notations that are widely used in the industry. Successful completion will see you equipped to create appropriate, efficient database designs for a range of simple applications and to translate informal queries into formal notation. You will have learned to identify and express relative integrity constraints for particular database designs, and have gained the ability to identify control measures for some common security threats.


Data structures and algorithms are fundamental to programming and to understanding computation. On this module, you will be using sophisticated tools to apply algorithmic techniques to computational problems. By the close of the course, you’ll have studied a variety of data structures and will be using them for the design and implementation of algorithms, including testing and proofing, and analysing their efficiency. This is a practical course, so expect to be working on real-life problems using elementary graph, greedy, and divide-and-conquer algorithms, as well as gaining knowledge on dynamic programming and network flows.

Software Engineering

Centred on teamwork, you will concentrate on applying software engineering principles to develop a significant software system with your peers from feasibility studies through modelling, design, implementation, evaluation, maintenance and evolution. You’ll focus on design quality, human–computer interaction, technical evaluation, teamwork and project management. With a deeper appreciation of the stages of the software life-cycle, you’ll gain skills to design object-oriented software using formal modelling and notation. You will be taught the principles of graphical user interface and user-centred design, and be able to evaluate projects in the light of factors ranging from technical accomplishment and project management, to communication and successful teamwork.

Optional modules

Lists of optional modules and examples for unusual options can be found in our second year course programme document.