D'Math University | Computing & Interdisciplinary Mathematics

MSc Computational Mathematics

Master the numerical methods, scientific computing techniques, and simulation tools that power modern engineering and science — from finite element analysis to computational fluid dynamics, implemented at supercomputing scale.

Postgraduate 1 Year Online HPC & Simulation
10
Taught Modules
£62k
Avg Graduate Salary
38+
Research Partners
HPC
Supercomputing Access

Programme Overview

What You Will Study

This programme covers the mathematical theory and practical implementation of numerical algorithms — from finite element methods and computational fluid dynamics to uncertainty quantification and inverse problems — all implemented in modern scientific computing environments.

  • Numerical Methods: finite elements, finite differences, finite volumes, spectral methods
  • Scientific Computing: C++, Python, parallel programming, HPC clusters
  • Applications: fluid dynamics, structural mechanics, inverse problems
  • Computational Project: a substantial simulation or algorithm development project

Programme Highlights

Graduates work in simulation engineering, national laboratories, and scientific software development, solving problems in climate science, aerospace, biomedical engineering, and energy systems.

  • Supercomputing Access: hands-on experience with HPC cluster environments
  • Industry Collaboration: projects co-supervised with engineering and technology firms
  • Software Skills: FEniCS, OpenFOAM, MATLAB, Python, C++ throughout the curriculum
  • Research Pathway: direct entry to PhD programmes in computational science
Course Catalogue

Click any course to view its objective and learning outcomes.

CPM 501 Numerical Linear Algebra +

Objective

To compute large-scale linear algebra problems efficiently.

Learning Outcomes

  • Apply LU, QR, Cholesky and SVD factorisations.
  • Use Krylov-subspace methods.
  • Apply preconditioning techniques.
  • Analyse stability and conditioning.
  • Implement BLAS-level routines.
Interactive Activity — 2×2 Matrix Transformation
Set the entries of a 2×2 matrix. Watch how it transforms the unit square. Determinant = signed area of the transformed square.
a = 1.0 b = 0.5 c = -0.3 d = 1.0
CPM 502 Numerical PDEs +

Objective

To solve PDEs numerically with stable, convergent schemes.

Learning Outcomes

  • Apply finite-difference methods to elliptic, parabolic and hyperbolic PDEs.
  • Analyse stability via von Neumann.
  • Apply finite-volume methods.
  • Use multigrid solvers.
  • Verify against analytical benchmarks.
Interactive Activity — Vector Field & Gradient Visualizer
Pick a scalar field f(x,y). Gradient arrows point in the direction of steepest ascent. Click anywhere to drop a particle that follows the gradient.
f(x,y) =
Click on the plot to drop a particle.
CPM 503 Finite Element Methods +

Objective

To apply FEM to elliptic and time-dependent problems.

Learning Outcomes

  • Derive weak formulations.
  • Choose appropriate finite-element spaces.
  • Apply Galerkin methods.
  • Use a posteriori error estimates.
  • Implement FEM in software.
CPM 504 Iterative Methods +

Objective

To solve large sparse linear systems iteratively.

Learning Outcomes

  • Apply CG, GMRES and BiCGSTAB.
  • Use preconditioning effectively.
  • Analyse convergence rates.
  • Apply multigrid methods.
  • Use domain decomposition.
CPM 505 Optimisation Algorithms +

Objective

To implement and analyse modern optimisation algorithms.

Learning Outcomes

  • Apply gradient and Newton methods.
  • Use trust-region methods.
  • Apply interior-point algorithms.
  • Use ADMM for large-scale problems.
  • Implement stochastic optimisation.
Interactive Activity — 2×2 Matrix Transformation
Set the entries of a 2×2 matrix. Watch how it transforms the unit square. Determinant = signed area of the transformed square.
a = 1.0 b = 0.5 c = -0.3 d = 1.0
Interactive Activity — Vector Field & Gradient Visualizer
Pick a scalar field f(x,y). Gradient arrows point in the direction of steepest ascent. Click anywhere to drop a particle that follows the gradient.
f(x,y) =
Click on the plot to drop a particle.
CPM 506 High-Performance Computing +

Objective

To exploit parallel hardware for scientific computation.

Learning Outcomes

  • Use MPI for distributed computing.
  • Apply OpenMP for shared memory.
  • Program GPUs with CUDA.
  • Profile and optimise scientific code.
  • Apply hybrid parallel models.
CPM 507 Spectral Methods +

Objective

To use orthogonal polynomial expansions for high-accuracy computation.

Learning Outcomes

  • Apply Fourier and Chebyshev expansions.
  • Compute spectral derivatives.
  • Apply spectral methods to PDEs.
  • Use spectral element methods.
  • Analyse exponential convergence.
CPM 508 Computational Fluid Dynamics +

Objective

To discretise and solve fluid-flow equations.

Learning Outcomes

  • Apply finite-volume methods to Navier-Stokes.
  • Use SIMPLE and PISO algorithms.
  • Apply turbulence closures.
  • Discretise compressible flows.
  • Validate against benchmarks.
Interactive Activity — Vector Field & Gradient Visualizer
Pick a scalar field f(x,y). Gradient arrows point in the direction of steepest ascent. Click anywhere to drop a particle that follows the gradient.
f(x,y) =
Click on the plot to drop a particle.
CPM 509 Monte Carlo Methods +

Objective

To use random sampling for high-dimensional computation.

Learning Outcomes

  • Apply variance-reduction techniques.
  • Implement importance sampling.
  • Use MCMC sampling.
  • Apply quasi-Monte Carlo.
  • Quantify Monte Carlo error.
CPM 510 Machine Learning Mathematics +

Objective

To analyse the mathematics underlying modern ML algorithms.

Learning Outcomes

  • Apply optimisation theory to neural networks.
  • Analyse generalisation theory.
  • Use kernel methods.
  • Apply spectral methods in graph ML.
  • Discuss approximation theory of NNs.
Interactive Activity — 2×2 Matrix Transformation
Set the entries of a 2×2 matrix. Watch how it transforms the unit square. Determinant = signed area of the transformed square.
a = 1.0 b = 0.5 c = -0.3 d = 1.0
Interactive Activity — Vector Field & Gradient Visualizer
Pick a scalar field f(x,y). Gradient arrows point in the direction of steepest ascent. Click anywhere to drop a particle that follows the gradient.
f(x,y) =
Click on the plot to drop a particle.
CPM 511 Scientific Visualisation +

Objective

To create effective visualisations of computational data.

Learning Outcomes

  • Use VTK and ParaView for 3D visualisation.
  • Apply volume rendering.
  • Visualise time-dependent data.
  • Use perceptual principles in colour maps.
  • Build interactive web visualisations.
Interactive Activity — Distribution Plotter
Pick a distribution and adjust its parameters. Read off mean and variance directly from the plot.
Distribution: p1 = 0.0 p2 = 1.0
CPM 512 Computational Project +

Objective

To complete an original computational mathematics research project.

Learning Outcomes

  • Identify a computationally challenging problem.
  • Apply rigorous numerical methods.
  • Implement and validate code.
  • Write a research-quality dissertation.
  • Present to a computational science audience.
Interactive Activity — Vector Field & Gradient Visualizer
Pick a scalar field f(x,y). Gradient arrows point in the direction of steepest ascent. Click anywhere to drop a particle that follows the gradient.
f(x,y) =
Click on the plot to drop a particle.

Core Modules

🔢

Finite Element Methods

Variational formulations, Galerkin methods, error estimates, mesh refinement, and FEM software implementation.

💻

Scientific Computing

C++ and Python for numerical computation, data structures for scientific software, testing, and performance profiling.

📐

Numerical Linear Algebra

Direct and iterative solvers, preconditioning, eigenvalue computation, and sparse matrix techniques.

🌊

Computational Fluid Dynamics

Navier-Stokes equations, finite volume discretisation, turbulence modelling, and CFD software workflows.

🧮

Parallel Computing for Science

MPI, OpenMP, GPU computing (CUDA), and strategies for scalable scientific simulation on HPC systems.

📊

Optimisation Algorithms

Gradient-based and derivative-free optimisation, constrained problems, and applications in shape and parameter optimisation.

🔬

Uncertainty Quantification

Monte Carlo, quasi-Monte Carlo, polynomial chaos, and Bayesian methods for uncertainty propagation in simulations.

🌍

Inverse Problems

Ill-posedness, regularisation, Tikhonov methods, Bayesian inversion, and applications in imaging and geophysics.

💫

Mesh Generation & Adaptation

Structured and unstructured meshing, adaptive refinement strategies, and mesh quality metrics for FEM and FVM.

🏗️

Computational Project

An extended simulation or algorithm development project, co-supervised with an industry or academic partner.

Career Outcomes

🌊

Simulation Engineer

Build and validate computational models of physical systems for engineering, aerospace, and energy applications.

💻

Scientific Software Developer

Develop high-performance numerical software libraries and simulation frameworks used by researchers worldwide.

🔬

Research Scientist (National Labs)

Conduct applied mathematics research at national laboratories addressing problems in energy, climate, and defence.

📐

Numerical Analyst

Develop and analyse numerical algorithms ensuring accuracy, stability, and convergence for complex scientific problems.

✈️

CFD Engineer

Apply computational fluid dynamics to aerodynamic design, HVAC systems, and turbomachinery in leading engineering firms.

🏗️

HPC Developer

Write and optimise parallel scientific codes for supercomputing environments in research and industrial settings.

Oxford Cambridge Imperial College London ETH Zürich TU Munich Stanford MIT KAUST University of Melbourne University of Waterloo

Why D'Math University — Our 4-Step Approach

01

Theory First

Every numerical method is grounded in rigorous mathematical analysis — convergence, stability, and error theory underpin all coding work.

02

HPC Infrastructure

Students access supercomputing clusters from Week 1, implementing parallel algorithms on real scientific workloads.

03

Industry Co-Supervision

Projects are co-designed with aerospace, energy, and engineering firms, ensuring real-world impact and employment-ready skills.

04

Publication-Ready Output

The computational project is conducted to research standards, with many students producing journal-quality results.

Enrol in MSc Computational Mathematics →

Applications open year-round — harness the power of mathematics to simulate the world.