# MRes Programme Content

All the modules of the MRes component of the STOR-i programme are compulsory. You will find them listed below.

- The STOR602, STOR605, STOR606 and STOR607 modules (October-November, weeks 1-5) provide a firm grounding in important core material and are taught in a traditional lecture-workshop style.
- Module STOR608 (November-December, weeks 7-10) introduces you to a range of topical areas of the Statistics and Operational Research disciplines, with the opportunity to work in teams intensively investigating these at your own pace.
- Module STOR601 (November-April, weeks 6-20) offer exposure to a diverse range of research topics from Statistics and Operational Research. This choice allows you to specialise in subjects that particularly interest you and help you to develop and test your research interest in these topics. The module also provides training in a broad range of research skills, including: team working, end-to-end problem solving, dissemination skills (e.g. talks, blogs, posters), and responsible research innovation.
- Module STOR609 (October-April, weeks 1-20) trains you to produce scientific software that is replicable, reproducible, reusable, re-runnable, and repeatable. The module introduces fundamental computer science concepts and then proceeds with how these ideas are applied in practice, with particular reference to the software engineering practices with collaborative programming, software maintenance and support, testing and distribution of software.
- Module STOR603 (June-September, weeks 27-SV9) is where you develop your research plan for your PhD on a project, either jointly with an industrial partner or with an internationally leading academic from one of our selected strategic partnerships.

## Core Modules

## accordion

Credits: 40

### Outline

This module allows students to develop a wide range of research skills by completing a variety of different tasks. These include programming tasks, scientific writing, giving presentations, problem-solving days, learning about responsible research innovation, and reviewing topical research.

Students will work on a diverse set of projects in order to improve their capabilities. Their scientific writing will include reports for both technical and non-technical audiences. The problem-solving days will give students the chance to communicate with industrial representatives, which will include giving presentations. Furthermore, each student will design their own personal website.

The module involves the use of computer packages for statistics and operational research, such as R and C++. It also involves the use of the mathematical document software LaTeX.

### Objectives

Students need to acquire many different skills in order to perform research in statistics and operational research. This course provides a number of varied tasks designed to allow students to develop into capable researchers. These skills will also help to prepare students to select their PhD research area.

The course provides students with training in dealing with modern mathematical programming issues. Students will also learn about the efficient and ethical communication of their findings to diverse audiences and collaborating with interdisciplinary teams.

### Learning outcomes

On successful completion of this module students will be able to:

- Engage with a range of topical research areas in statistics and operational research;
- Demonstrate a deeper level of knowledge in a subset of the research areas covered in the course;
- Develop effective modelling strategies for tackling a range of complex industrial problems;
- Use the key programming languages required for research in statistics and operational research;
- Write reports which are appropriately structured for a variety of audiences;
- Present results clearly in reports, talks and websites;
- Make an informed decision about their PhD research area.

### Core texts

- Chatfield, C. (1988).
*Problem Solving*. London, New York: Chapman and Hall. - Dalgaard, P. (2002).
*Introductory Statistics with R*. New York: Springer. - Starfield, A.M., Smith, K.A., and Bleloch, A.L. (1990).
*How to Model It: Problem Solving for the Computer Age*. New York: McGraw-Hill. - Tufte, E.R. (2001).
*The Visual Display of Quantitative Information*. Second edition. Connecticut: Graphics Press.

### Assessment

Assessment will be through coursework (100%). The coursework consists of assessed exercises under the following headings:

- Two scientific writing projects on topical research areas. For one of the projects, the students will produce both a report for a technical audience and a report for a non-technical audience. For the other project, the students will produce a report for a technical audience and a presentation.
- Computer programming tasks for high-level analysis in statistics and operational research.
- Personal website designed by the students themselves.
- Group work assessed through individual aspects of team performance on problem solving days.

Credits: 10

### Outline

The module introduces the major concepts in probability theory using both analytical methods and simulation. It will cover:

- Random variables, the moments of a random variable, transformations of random variables and the convergence of random variables.
- The definition of a stochastic process, including Gaussian processes.
- The construction of Brownian motion and the reflection principle.
- Conditional expectation and martingales.
- Homogeneous and nonhomogeneous Poisson process.
- Discrete Markov chains, classification of states, stationary distributions and limit theorems.
- Markov processes in continuous time, queues and reversibility.

### Objectives

Probability theory formalises the idea of randomness so that it is possible to model stochastic behaviour in a mathematically rigorous way. The key models in statistics and operational research are based on this theory for random variables and stochastic processes.

This course begins with the axioms of probability and uses these ideas to define random variables and stochastic processes. The study of random variables leads to a number of interesting properties such as moments, conditional expectation and ideas of convergence. There are a myriad of stochastic processes of varying complexity, many of which can be used to model real phenomena.

### Learning outcomes

On successful completion of this module students will be able to:

- Recognise the contexts in which different random variables occur.
- Derive various properties of random variables, such as their moments.
- Use conditional expectation to answer a range of questions about how different random variables depend upon one another.
- Understand the different ways in which random variables can converge.
- Simulate random variables in R in order to calculate properties of their distributions.
- Work with and answer questions about various discrete-time and continuous-time stochastic processes.
- Define Brownian motion and use the reflection principle to solve problems.
- Simulate stochastic processes in R in order to understand the behaviour of these processes.

### Core texts

- Ross, S. (1992).
*Applied Probability Models with Optimization Applications*. Mineloa, NY: Dover. - Lawler, G. (2006).
*Introduction to Stochastic Processes*. Second edition. London, New York: Chapman and Hall.

### Assessment

Assessment will be through coursework (100%). The coursework consists of assessed exercises under the following headings:

- Weekly assignments.
- A two-day end of module coursework assessment.

40% of the assessment will be based on the weekly assignments and 60% will be based on the end of module coursework assessment.

Credits: 60

### Outline

In the final three months of the STOR-i MRes programme, students will develop an individual research proposal for their PhD. The proposal will consist of a literature review, a preliminary study and a formal plan for their PhD research.

This module will allow students to start their PhD with a deep knowledge of their chosen research area and an understanding of how to conduct research. Students will also become comfortable working with their supervisory team. In exceptional cases, students will be able to change projects before the start of their PhD.

### Objectives

This course gives students the opportunity to develop their understanding of their PhD research area. Students will identify some of the key open problems in this area and formulate a strategy for tackling these problems.

The course also provides students with training in the skills they will need to complete their PhD. Students will produce a detailed literature review and an extensive written report on their preliminary research.

### Learning outcomes

On successful completion of this module students will be able to:

- Demonstrate a deep level of knowledge in their chosen research area;
- Identify key open problems in this area which will form the basis of their future research;
- Communicate their research ideas effectively with their supervisory team;
- Produce a detailed literature review covering a broad selection of topics in their research area;
- Write an extensive report on their preliminary research and future research plans.

### Assessment

Assessment will be through coursework (100%). 80% of the assessment will be based on the submitted PhD research proposal and 20% will be based on the supervisors’ assessment of the student's performance in the development of their research proposal.

Credits: 10

### Outline

The module presents the key tools for statistical inference in both the frequentist and Bayesian settings. It will cover:

- The definition of the likelihood function for single-parameter and multi-parameter models.
- The calculation of the maximum likelihood estimator, its asymptotic normality, and how this is used to quantify uncertainty estimates.
- Hypothesis testing using the likelihood ratio test statistic.
- The calculation of maximum likelihood estimators using a computer.
- Prior distributions for parameters in the Bayesian setting, conjugate priors and Jeffreys prior.
- Posterior distributions of parameters for Bayesian inference, Bayesian point estimates and credible intervals.
- Prediction using Bayesian inference.

### Objectives

Statistical theory is the theory of extracting information about the unknown parameters of an underlying probability model from observed data. This concept underpins all practical statistical applications, whether in the frequentist or Bayesian setting.

This course considers the idea of statistical models, and how the likelihood function, the probability of the observed data viewed as a function of unknown parameters, can be used to make inference about those parameters. This inference includes both estimates of the values of these parameters, and measures of the uncertainty surrounding these estimates. In the Bayesian setting, the parameters are modelled as random variables. This allows for the inclusion of any pre-existing beliefs about the parameters through their prior distribution.

### Learning outcomes

On successful completion of this module students will be able to:

- Understand how to construct statistical models for simple applications.
- Appreciate how information about the unknown parameters is obtained and summarised via the likelihood function.
- Calculate the likelihood function for a variety of different types of data.
- Understand the differences between frequentist and Bayesian inference.
- Evaluate point estimates and make statements about the variability of these estimates.
- Perform likelihood ratio tests.
- Find maximum likelihood estimators using the statistical package R.
- Select a prior distribution for parameters in the Bayesian setting.
- Calculate the posterior distribution and the predictive distribution for Bayesian inference.

### Core texts

- Chatfield, C. (1988).
*Problem Solving*. London, New York: Chapman and Hall. - Dalgaard, P. (2002).
*Introductory Statistics with R*. New York: Springer. - Lee, P. (2004).
*Bayesian Statistics*. Third edition. Chichester: Wiley. - Hoff, P. (2008).
*A First Course in Bayesian Statistics*. New York: Springer. - Starfield, A.M., Smith, K.A., and Bleloch, A.L. (1990).
*How to Model It: Problem Solving for the Computer Age*. New York: McGraw-Hill.

### Assessment

Assessment will be through coursework (100%). The coursework consists of assessed exercises under the following headings:

- Weekly assignments.
- A two-day end of module coursework assessment.

40% of the assessment will be based on the weekly assignments and 60% will be based on the end of module coursework assessment.

Credits: 10

### Outline

The module introduces the idea of simulation for modelling stochastic processes which would otherwise be intractable. It will cover:

- The concept of discrete event simulation and examples of its use.
- The creation of simulation models using a computer.
- Random number generation and the use of random numbers to simulate random variables.
- Performance estimation for different simulation models based on their outputs.
- Input uncertainty and its effect on performance estimation.
- Simulation optimisation for selecting between different simulation models.

### Objectives

Simulation can be used to analyse complicated stochastic processes through computational methods. In particular, it provides a way to investigate processes that are intractable using theoretical approaches. Simulation is a key tool for decision making as it can be used to compare different models by estimating their performance.

This course starts with the basic ideas behind simulation and how to create simulation models on a computer. Once a model has been created and run, its output can be analysed to estimate the performance of the model with respect to some quantity of interest. Simulation optimisation considers different ways of selecting between models based on estimates of their performance.

### Learning outcomes

On successful completion of this module students will be able to:

- Understand how to build simulation models for a variety of applications.
- Simulate different types of random variables using random numbers.
- Use simulations of random variables within simulation models.
- Estimate the performance of different models using their outputs.
- Use the statistical package R to create, run and evaluate simulation models.
- Understand input uncertainty and the effect it has on estimating model performance.
- Select between different simulation models using simulation optimisation.

### Core texts

- Nelson, B.L., and Pei, L. (2021).
*Foundations and Methods of Stochastic Simulation: A First Course*. Second ed. Cham, Switzerland: Springer.

### Assessment

- Weekly assignments.
- A two-day end of module coursework assessment.

40% of the assessment will be based on the weekly assignments and 60% will be based on the end of module coursework assessment.

Credits: 10

### Outline

The module provides an introduction to the optimisation of different functions subject to various constraints. It will cover:

- The formulation of linear programs and the use of the simplex method to solve them.
- The dual of a linear program and the investigation of how the solution to a linear program changes with its inputs.
- Network analysis using linear programming.
- Integer programming and how to adapt the simplex method to solve integer programs.
- The formulation of nonlinear programs.
- Algorithms for solving both unconstrained and constrained nonlinear programs.

### Objectives

Optimisation techniques can be used to find the maxima and minima of a variety of functions, often subject to complicated constraints on the domain of the function. The algorithms used to solve optimisation problems are therefore very important in a wide range of areas of statistics and operational research.

This course begins by considering the case in which the objective function and constraint functions are linear. These problems can be solved using the simplex method. This method must be adapted if only integer solutions are permitted. Different algorithms are necessary when the objective function is nonlinear.

### Learning outcomes

On successful completion of this module students will be able to:

- Formulate linear programs for a range of different applications.
- Use the simplex method to solve linear programs.
- Use sensitivity analysis to describe the stability of linear programming solutions.
- Formulate integer programs and solve them by combining the simplex method with other techniques.
- Solve nonlinear programs using appropriate algorithms.
- Use a professional software package to solve different mathematical programs.
- Interpret the solution to an optimisation problem in a range of contexts.

### Core texts

- Williams, H.P. (2013).
*Model Building in Mathematical Programming*. Fifth edition. Chichester: Wiley.

### Assessment

- Weekly assignments.
- A two-day end of module coursework assessment.

Credits: 20

### Outline

This module covers some of the key areas which underpin modern statistics and operational research. Teaching will be delivered through a series of four sprints, in which students will work in groups to complete week-long self-study activities. The topics of the sprints will evolve between different years. The initial topics will be computational statistics, modelling paradigms for complex and novel data forms, statistical learning for decision, and stochastic and dynamic optimisation.

Each sprint will begin with a two-hour lecture to motivate the topic and to introduce key papers in the area. Students will then work in groups to investigate important research questions, supported by daily half-hour drop-in sessions with the lecturer. The groups will present their findings in the form of a presentation, followed by a viva.

Students will also prepare an individual report on one of the topics covered in the sprints. This will give students the opportunity to explore the topic in more detail. It will also allow students to develop their research skills, including reviewing literature and technical writing skills.

The module involves the use of computer packages for statistics and operational research, such as R. It also involves the use of the mathematical document software LaTeX.

### Objectives

Students need to develop a variety of skills in order to produce their own research on statistics and operational research. This course supports students in their transition from learning from taught courses to performing independent self-study. Students will work in groups to discover some of the most important topics in contemporary statistics and operational research. They will also develop a deeper understanding of one of the topics covered in the sprints by producing an individual report.

The module provides students with training in a number of skills required for them to develop into researchers. These include reviewing literature, working in teams, giving presentations, responding to questioning and writing reports.

### Learning outcomes

On successful completion of this module students will be able to:

- Demonstrate a deep knowledge of four of the key areas of modern statistics and operational research;
- Understand one of the areas covered in the sprints in more detail;
- Develop excellent independent learning skills by working in groups to complete self-study activities;
- Use different sources to learn about unfamiliar areas in statistics and operational research;
- Present group discoveries about new topics in talks for technical audiences;
- Defend group discoveries and the arguments which support them under cross-examination;
- Write individual reports to communicate key findings on specialist subject areas.

### Core texts

Any relevant bibliography will be specific to each year.

### Assessment

- Four group projects to discover more about each of the areas covered in the sprints. The discoveries from each project will be presented in a talk, followed by a viva.
- Individual report to develop more detailed knowledge of one of the areas covered in the sprints.

Each group project will be conducted in small groups, typically of three to five students. The components of the assessment will be weighted as 20% for each of the four group projects and 20% for the individual report.

Credits: 20

### Outline

This module will train students to produce scientific software that is replicable, reproducible, reusable, re-runnable, and repeatable. The course begins by introducing fundamental computer science concepts such as analysis of algorithms and data structures, several different models of programming and design patterns, and the principles of concurrent programming.

The course then proceeds with how these ideas are applied in practice with particular reference to the software engineering practices associated with collaborative programming, software maintenance and support, testing and distribution of software.

During the lectures and workshops, emphasis is placed on problems and techniques associated with the fields of statistics and operational research. The course will teach in detail at least one programming language, such as Python, which supports the required programming paradigms.

### Objectives

The aim of this course is to train students to produce scientific software that is replicable, reproducible, reusable, re-runable, and repeatable. In particular, the following topics will be covered to support this:

- Advanced usage of at least one multi-paradigm programming language such as Python
- Asymptotic analysis of algorithms and introduction to common Abstract Data Types
- Overview of the main models of programming e.g. imperative, object-oriented and functional.
- Introduction to common design patterns e.g. strategy, factory, visitor patterns.
- Use of software engineering tools such as debuggers, profilers, version control systems and unit test systems, and where appropriate using these tools in a collaborative fashion.
- A basic understanding of modern computer architecture with particular reference to how this supports concurrent programming

### Learning outcomes

On successful completion of this module students will be able to:

- Analyse an algorithm in terms of its computational complexity and determine appropriate data structures for its implementation in software.
- Use the three main models of programming (imperative, object-oriented and functional), and identify applicable design patterns.
- Use software engineering tools such as profilers, debuggers, testing frameworks and environment management systems.
- Understand basic computer architecture and operating systems and be able to parallelize code where appropriate.
- Use tools and mechanisms for collaborative programming, and distribution and support of code within the wider research community.
- Produce scientific software that is replicable, reproducible, reusable, re-runnable, and repeatable.
- Make informed choices regarding programming systems and software engineering tools.
- Collaborate effectively on programming projects.
- Produce and make available publicly quality software.
- Communicate and justify the design and organisation of software and its components.

### Core texts

- Benureau, F. C. Y. and Rougier, N. P. (2018). Re-run, Repeat, Reproduce, Reuse, Replicate: Transforming Code into Scientific Contributions. Frontiers in Neuroinformatics. 11.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L. and Clifford, S. (2009). Introduction to Algorithms (2nd Edition). MIT Press.
- Roy, P. V. and Haridi, S. (2004). Concepts, Techniques and Models of Computer Programming. MIT Press.
- Gamma, E., Helm, R., Johnson, R. and Vlissides, J. M. (1994). Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley Professional.

### Assessment

The course has will be assessed through Coursework (50%), Assessed Presentation (10%), Groupwork (30%), and Peer Assessment (10%).

## Area of Study

During your first year as a STOR-i student you will study for an MRes covering the following areas:

## Mathematical Core

### Probability and Stochastic Processes

Introduction to probability, Markov processes, Poisson processes and their use for modelling. The evaluation of complex stochastic properties via simulation.

### Optimisation

Linear programming, mixed-integer programming, heuristics for large scale problems, stochastic programming, stochastic dynamic programming.

### Likelihood Inference

Model-based (likelihood) inference for generalised linear models and stochastic processes and model diagnostics, randomisation methods for non-parametric testing.

### Computer Simulation

Modelling for planning and decision support, systems ideas including complexity and feedback, stochastic discrete event simulation, output analysis with model validation, computational challenges including parallelisation.

### Bayesian Inference

Bayesian inference, prediction and decision making. Contrasts between Bayesian and classical statistics.

### Computational Intensive Methods

Conjugate analyses, importance sampling approximations, and MCMC for analysing complex stochastic systems.

## Modelling and Problem Solving

### Skills for Research and Industry

Presentation skills for non-technical and technical talks/posters/web design. Computer skills including programming in R and C.

### Scientific Modelling

Skills for eliciting relevant background to problems through to conceptualising these in a model formulation which integrates the relevant scientific knowledge with STOR methods which capture an appropriate level of assumption.

### Industrial Problem Solving Days

A current open industrial problem will be presented to the students in groups which are facilitated by staff and current students. An outline approach or solution will be developed for presentation to the collaborator.

## Overview of Research Areas

### Topical Research

Overview Presentations on thriving research areas in STOR. Students will be expected to produce a summary and a brief literature review.

### PhD Research Proposal

Literature review, preliminary study and development of a firm plan for the PhD.

## Learning Methods

The scheme of study offers methods of teaching and learning that provide opportunities for students to develop independence of thought and critical judgement. Generally as the scheme progresses, teaching and learning moves from methods and approaches which include more formal staff input and directed learning, towards increasingly independent and self-directed learning (culminating in the PhD process).

All teaching and learning methods are designed in relation to programme and individual module aims, in order to provide opportunities for students to demonstrate achievement of appropriate learning outcomes.

Note that there is a strong emphasis throughout on problem-based learning involving real world problems with real end-user stakeholders and this effectively drives the rest of the programme.

Student learning comes through a wide range of approaches:

**Individual and Group Project-based learning**– provides opportunities for students to take control and manage their own learning and to demonstrate skills and competencies in areas such as research, problem-solving, and reporting.**Lectures**– enable dissemination of a specific body of knowledge to students. Ideas and issues generated by lectures will be elaborated through class discussions, workshops, weekly coursework, project learning, group critiques, essays and reports. Guest lectures will be employed as and when appropriate including a range of industrial lectures offered by our industrial partners.**Group critiques involving peers and tutors**– provide opportunities for the development of intellectual skills in constructing, communicating and supporting arguments within a constructive learning environment.**External and interdisciplinary projects**– can offer opportunities for students to demonstrate knowledge and understanding of, and practical skills in, professional working practices and methodologies.**Seminars**– provide a forum for the discussion, debate and a conversation about a range of topics, ideas and contemporary issues. They provide opportunities for the presentation and discussion of inquiry-based class projects, and offer opportunities for the interchange of opinions, views, knowledge and experiences.**Formal presentations**– reflect professional practice and provide opportunities for the development of transferable communication skills together with intellectual skills, such as critical analysis, prioritising information and arguments, and evaluation.**Project reports**– provide opportunities for students to demonstrate competencies in research techniques, critical evaluation, design skills and transferable skills.**Extended projects and dissertations**– provide opportunities for students to demonstrate effective self-managed learning and a broad range of competencies from technical skills and research/enquiry through to independence of thought, critical analysis, creative thinking, design skills, presentation and visualisation abilities and written communication.