D'Math University | Computing & Interdisciplinary Mathematics

MSc Mathematics & Computing

An intensive postgraduate programme that melds advanced mathematical theory with cutting-edge computing — preparing specialists in algorithm design, machine learning theory, formal methods, and high-performance computing for the world's leading technology organisations.

Postgraduate 1 Year Online Math-Driven CS
12
Taught Modules
£65k
Avg Graduate Salary
45+
Industry Partners
3
Specialist Streams

Programme Overview

What You Will Study

This MSc is built for mathematicians who want to master computing, and computer scientists who want mathematical depth. Three specialist streams — Algorithm Theory, Machine Learning, and Formal & Secure Systems — allow you to tailor your expertise.

  • Core Theory: advanced algorithms, complexity, formal logic, and mathematical cryptography
  • Applied Computing: numerical linear algebra, HPC, parallel algorithms
  • Research Methods: literature review, experimental design, and technical writing
  • Dissertation: substantial individual research project with academic supervision

Programme Highlights

Graduates enter roles demanding both mathematical sophistication and engineering excellence — from algorithm research labs to ML systems teams and national security bodies.

  • Three Streams: Algorithm Theory, Machine Learning, Formal & Secure Systems
  • Online Delivery: flexible study compatible with professional commitments
  • Industry Links: guest lectures and projects with 45+ technology partners
  • PhD Pathway: direct entry to doctoral programmes for outstanding graduates
Course Catalogue

Click any course to view its objective and learning outcomes.

MTC 501 Discrete Mathematics & Algorithms +

Objective

To master discrete structures and algorithm design.

Learning Outcomes

  • Apply graph algorithms.
  • Use dynamic programming and greedy methods.
  • Apply randomised algorithms.
  • Use approximation algorithms.
  • Analyse complexity rigorously.
Interactive Activity — Cayley Table Generator
Pick a group; the operation table generates instantly.
Group:
MTC 502 Theory of Computation +

Objective

To formalise the limits of algorithmic computation.

Learning Outcomes

  • Apply finite automata and regular expressions.
  • Use context-free grammars.
  • Apply Turing machines and decidability.
  • Discuss P, NP and NP-Completeness.
  • Apply reductions.
MTC 503 Numerical Analysis +

Objective

To analyse stability and convergence of numerical algorithms.

Learning Outcomes

  • Apply error analysis.
  • Use stable algorithms for linear systems.
  • Apply convergence analysis for ODE solvers.
  • Use spectral methods.
  • Quantify computational error.
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.
MTC 504 Cryptography & Security +

Objective

To apply mathematical methods to cryptography.

Learning Outcomes

  • Apply RSA and ECC.
  • Use hash functions.
  • Apply zero-knowledge proofs.
  • Use lattice-based cryptography.
  • Analyse cryptographic protocols.
MTC 505 Optimisation +

Objective

To apply mathematical optimisation to engineering problems.

Learning Outcomes

  • Apply linear and integer programming.
  • Use convex optimisation.
  • Apply stochastic optimisation.
  • Use combinatorial optimisation.
  • Implement optimisation algorithms.
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.
MTC 506 Machine Learning +

Objective

To apply ML algorithms to computational problems.

Learning Outcomes

  • Apply supervised and unsupervised learning.
  • Use neural networks.
  • Apply reinforcement learning.
  • Use ensemble methods.
  • Evaluate models rigorously.
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.
Interactive Activity — Gradient Descent on a 2D Loss Surface
Click anywhere on the surface to drop a starting point. Animation traces the descent path on the chosen loss function. Adjust the learning rate to see how step size affects convergence.
Loss: η = 0.10
Click on the loss surface to drop a starting point.
Interactive Activity — Linear Classifier Decision Boundary
Click to add red or blue points. Adjust weights w₁, w₂, b to position the decision line w₁x + w₂y + b = 0. Misclassified points highlight red.
w₁ = w₂ = b =
MTC 507 Computer Graphics +

Objective

To apply mathematics to rendering and animation.

Learning Outcomes

  • Apply 3D transformations.
  • Use lighting and shading models.
  • Apply rasterisation and ray tracing.
  • Use Bezier and spline curves.
  • Implement rendering pipelines.
MTC 508 Database Theory +

Objective

To study mathematical foundations of databases.

Learning Outcomes

  • Apply relational algebra.
  • Use functional dependencies.
  • Apply normalisation theory.
  • Use query optimisation.
  • Apply transaction theory.
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
MTC 509 Concurrent & Distributed Computing +

Objective

To apply formal methods to concurrent systems.

Learning Outcomes

  • Apply process algebra.
  • Use Petri nets.
  • Apply model checking.
  • Discuss consensus protocols.
  • Use distributed algorithms.
MTC 510 Formal Methods +

Objective

To apply formal verification to software systems.

Learning Outcomes

  • Apply Hoare logic.
  • Use model checking with TLA+.
  • Apply theorem provers.
  • Use abstract interpretation.
  • Verify safety-critical systems.
MTC 511 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.
  • Apply parallel algorithms.
  • Profile and optimise scientific code.
MTC 512 Master's Project +

Objective

To complete an original maths-computing research project.

Learning Outcomes

  • Identify a research-quality problem.
  • Apply rigorous mathematical methods.
  • Implement and validate algorithms.
  • Write a research-quality dissertation.
  • Present to a CS audience.

Core Modules

🧮

Advanced Algorithms

Randomised, approximation, and online algorithms; amortised analysis; and algorithm paradigms for modern computational problems.

💻

Mathematical Optimisation for Computing

Convex and non-convex optimisation, duality theory, gradient methods, and applications in ML and operations research.

🔢

Formal Methods & Logic

Model checking, temporal logic, theorem proving, type theory, and formal verification of software and hardware systems.

📊

Computational Complexity

Complexity classes, reductions, circuit complexity, interactive proofs, and the mathematical theory of computational hardness.

🤖

Machine Learning Theory

PAC learning, VC dimension, generalisation bounds, kernel methods, and the mathematical foundations of deep learning.

🌐

Parallel & Distributed Algorithms

PRAM models, MapReduce, consensus algorithms, and mathematical analysis of distributed computation.

📐

Numerical Linear Algebra

Matrix factorisations, eigenvalue algorithms, sparse solvers, and iterative methods for large-scale scientific computing.

🔐

Mathematical Cryptography

Provably secure encryption, number-theoretic hardness assumptions, zero-knowledge proofs, and post-quantum primitives.

🏗️

High-Performance Computing

CPU and GPU architecture, CUDA programming, memory hierarchies, and performance modelling for scientific software.

🌍

Research Project

A supervised, publication-quality research investigation in your chosen specialist stream, culminating in a technical dissertation.

Career Outcomes

🔢

Algorithm Research Engineer

Design and analyse novel algorithms for search, optimisation, and AI systems at leading technology research labs.

💻

Computational Scientist

Develop mathematical software and simulation tools in national laboratories, aerospace, and engineering consultancies.

🤖

ML Systems Engineer

Build mathematically rigorous machine learning infrastructure and training pipelines for large-scale AI products.

📐

Formal Verification Engineer

Apply mathematical logic to prove correctness of safety-critical software in aerospace, automotive, and finance.

🏗️

HPC Specialist

Optimise scientific and financial computing workloads on supercomputing infrastructure for research and industry.

🌐

Software Architect

Design scalable, correct, and efficient software systems informed by formal mathematical principles.

Oxford Cambridge Imperial College London University of Edinburgh ETH Zürich MIT Carnegie Mellon University of Toronto University of Waterloo ANU

Why D'Math University — Our 4-Step Approach

01

Deep Mathematical Grounding

Every algorithm and system is studied through its mathematical foundations — building genuine expertise rather than surface familiarity.

02

Specialist Stream Selection

Choose Algorithm Theory, Machine Learning, or Formal & Secure Systems to develop targeted expertise aligned with your career goals.

03

Research Integration

From week one, modules are taught by active researchers, and your project contributes to real research programmes.

04

Career-Ready Portfolio

Graduate with a dissertation, code portfolio, and industry connections that position you for senior technical roles.

Enrol in MSc Mathematics & Computing →

Applications open year-round — take your mathematical computing expertise to the next level.