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.
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
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.
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.
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.
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.
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.
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.
Where Our Graduates Go & Top Global Universities
Why D'Math University — Our 4-Step Approach
Deep Mathematical Grounding
Every algorithm and system is studied through its mathematical foundations — building genuine expertise rather than surface familiarity.
Specialist Stream Selection
Choose Algorithm Theory, Machine Learning, or Formal & Secure Systems to develop targeted expertise aligned with your career goals.
Research Integration
From week one, modules are taught by active researchers, and your project contributes to real research programmes.
Career-Ready Portfolio
Graduate with a dissertation, code portfolio, and industry connections that position you for senior technical roles.
Applications open year-round — take your mathematical computing expertise to the next level.