Skip to content


This module introduces scientific modelling, the various types of modelling paradigms and the basic analytical and numerical solutions to develop simulation models.

The module will teach us to develop models to address research problems, analyse these models and use numerical simulations to get insights into the behaviour of the model.

Key Terms


Modelling is a key process in research. We need to know the role of models in science, how to build them, the practical aspects of the modelling, and the different paradigms.

Scientific Computing

This is the process of "solving" models using computers. This involves the algorithms behind systems of linear and non-linear equations, derivatives and integrals, solving differential equations, agent-based models, networks, and maybe optimization and Monte Carlo methods.

Applications of Modelling

Modelling is really useful in loads of different areas of science, including the swarming behaviour of a group of animals, how forest fires spread, how wealth is distributed, etc.

Statistical vs Dynamical Models

Statistical models look at data initially, then build the model to fit the data and the correlation within that data. We build this with the idea that correlation is causation, which we have been told many times is not necessarily the case. Monte Carlo simulations are used with statistical models.

A dynamical model attempts to describe the system state, and the rules for evolution of the system. This is the main type of model used for natural science. This is the main focus of the modelling in this module.

Evolution rules for dynamical models are typically captured with differential equations.

A statistical model would usually involve observing something, e.g., a pendulum and then fitting the length of the period and the length of the rod, concluding that the period is \(T\approx \sqrt{L}\).

A dynamical model would be built on Newton's Laws, the differential equation for this solved, then a conclusion that \(T \approx \sqrt{L}\) as a property of the solutions.

Typically, we observe some pattern in the real world and want to explain how the pattern arose. We can do this in terms of the dynamics from the difference or differential equations, rule-based dynamics (in the case of ABM), or in terms of optimization or game theory.

Difference vs. Differential Equations

These are ways of describing equations in either a discrete or continuous way. The discrete version is the difference equations, which work in fixed time intervals: $$ x_{t+1} = f(x_t, t) $$ or in the case of continuous: $$ dx/dt=f(x,t) $$

When we consider modelling, we think in terms of the populations. A system either comprises many similar entities, where we would use differential equations, or heterogeneous entities, where we would use agent-based models.

For example, when modelling a computer, this is a clocked time, so would be modelled with difference equations. A pendulum works in continuous time, so would be modelled in differential equations.

A herd of cattle would be solved with differential equations, but the interactions between them, known as the dynamics of the class would be done with an agent based model, as each cow is different.

For disease modelling, we traditionally use differential equations. Some of the details do matter, so ABM may also be used.


The content of the module is covered in pre-recorded lectures, which we are expected to watch before the lecture sessions. The in person sessions will then cover the important points and look at the problem sheets which are set.

Prerequisite Knowledge

This course is aimed at 4th year students with a computer science or electronics background. It looks into some basic maths (slightly beyond the scope of A-levels), including differentiation, integration, Taylor expansions (A level Further Mathematics). Some programming experience is also expected.


Formative Coursework

There is a formative assessment, which is a group coursework where we look at an exercise to develop an agent-based model. Progress is monitored in lecture slots. This is not marked.

Individual Presentation (30%)

There is also a presentation about a simulation modelling paper, giving an overview of the area the research addresses, the contribution and the simulation modelling that is being used.

Individual Report (70%)

The second part is a modelling problem, which we cave to develop using various techniques, comparing each of them, then writing a report that summarises the findings.

Course Structure

The course is structured with in three main parts.

Scientific Computing

  • Basic numerical methods (linear and non-linear equations),
  • Taylor expansions,
  • Numerical integration and differentiation, and
  • Difference equations

Differential Equations

  • differential equations
  • analysis techniques and numerical methods for solving them
  • Matlab and system dynamics.

Theory, ABM

  • Modelling theory,
  • Agent based models,
  • Netlogo, and
  • Networks, Monte Carlo simulation and optimization (if there is time).

Problem Sheets

These are released weekly. Typesetting answers to these seems like a slight waste of time. My notes have, however, been scanned in. I often find that neither my notes nor the lecture slides are descriptive enough to understand the problem sheets, so I typically consult other online notes, Wikipedia, etc., to see if I can solve them before looking through the worked solutions.



This is mainly for me to track the work that I need to be doing to stay on top of things.

Date What Type Done
Week 4 Difference Equations Problem Sheet ✓ (Missing Q5&6)
Week 5 Differential Equations Intro Lecture ✓ (Needs Revision)
Week 5 Differential Equations Solution Methods Lecture ✓ (Needs Revision)
Week 5 Differential Equations Problem Sheet ✓ (Q1 and most of Q2, rest seem really difficult but good revision)
Week 6 Differential Equations Numerical Lecture
Week 6 Differential Equations More Numerical Lecture
Week 6 Differential Equations Problem Sheet
Week 7 Equilibrium Analysis Lecture
Week 7 Solving systems of linear ODEs Lecture
Week 7 Linear Stability Analyis Problem Sheet
Week 8 Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks Lecture
Week 8 Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks Lecture
Week 8 Equlibrium analysis in higher dimensions, competing bacteria and flu outbreaks Problem Sheet