Computational Modelling and Programming module (MA51004)

On this page


Module code


About the module

In this module the Level 5 student will learn to write their own code and to apply built-in "black box" solvers in MATLAB and COMSOL to mathematical modelling problems. This module is mandatory for Level 5 students taking the MMath in Mathematics or the MSci in Mathematical Biology. This module may be taken in combination with another at Level 5 by students taking the MSci in Mathematics and Physics. If you have questions about this module or the possible combinations, please contact your Advisor of Studies.


Students taking this module must usually have achieved a pass mark in each of the modules MA32005 and MA42003, or equivalent.

Indicative Content

  • MATLAB fundamentals

    Students will learn basic operations in MATLAB, and implement various finite difference schemes to solve ODEs (primarily initial value problems) originating in celestial mechanics, population dynamics, and cell biomechanics.

  • MATLAB ODE solvers for initial value problems

    Students will learn to use standard built-in solvers with MATLAB, particularly ode45 and ode23s, and possibly dde23. We will apply these solvers to initial value problems (and possibly delay differential equations) stemming from celestial mechanics, cell biomechanics, and population dynamics.

  • MATLAB random variables, stochastic processes, and SDEs

    After a brief introduction to stochastic differential equations (SDEs), students will learn MATLAB solution techniques, with applications to Brownian motion and related physical processes. We will also learn to simulate discrete and continuous stochastic processes, and generate samples from random variables with arbitrary distributions.

  • MATLAB ODE solvers for boundary value problems

    Students will implement a standard "shooting" method to solve a BVP from heat transfer. We will learn to use the standard built-in solvers, particularly bvp4c. We explore alternate solution techniques, such as by formulating the discretised equation as a linear algebraic system, and as the steady state solution to a PDE; these approaches help drive us towards PDE solution methods. The class will apply these solvers to boundary value problems stemming from heat transfer and fluid mechanics.

  • MATLAB for PDEs

    Students will implement explicit finite difference methods in MATLAB, with a focus on reaction-diffusion problems. The overall goal will be to solve coupled reaction-diffusion problems (with heterogeneous coefficients) and cell growth.

  • Weak formulations for partial differential equations; introduction to FEMs

    We repose PDEs using a weak formulation, using the context of function spaces. Using this framework, we develop an understanding of finite element methods (FEMs).

  • FEMs and COMSOL fundamentals

    Students will learn to solve reaction-diffusion equations using the built-in FEMs in COMSOL.

Delivery and Assessment

Delivery of this module will take a hands-on, interactive approach, where lectures are integrated with guided computer lab time. Assessment will be based on computational coursework (100%).

Credit Rating

This module is a Scottish Higher Education Level 5 or SCQF level 11 module and is rated as 15 SCOTCAT credits or 7.5 ECTS credits.