This interdisciplinary Masters degree provides a broad background in some mainstream and modern aspects of mathematics and computer science. You will be introduced to sophisticated techniques at the forefront of both disciplines.

The programme combines teaching and research from the School of Mathematics and the School of Computing. Based on the SchoolsÕ complementary research strengths the programme follows two main strands:

  • Algorithms and complexity theory
  • Numerical methods and parallel computing

It is expected that most students will specialise in one of two areas during the course, although this is not essential.

The two strands are:

Algorithms and complexity theory and connections to logic and combinatorics

This concerns the efficiency of algorithms for solving computational problems, and identifies hierarchies of computational difficulty. This subject has applications in many areas, such as distributed computing, algorithmic tools to manage transport infrastructure, health informatics, artificial intelligence, and computational biology.

Numerical methods and parallel computing

Many problems, in mathematics, physics, astrophysics and biology cannot be solved using analytical techniques and require the application of numerical algorithms for progress. The development and optimisation of these algorithms coupled to the recent increase in computing power via the availability of massively parallel machines has led to great advances in many fields of computational mathematics. This subject has applications in many areas, such as combustion, lubrication, atmospheric dispersion, river and harbour flows, and many more.