MSc in Advanced Computational Methods
The field of algorithms is today an extremely important enabling technology. Web search engines, keyword-based advertising, routing in the Internet, peer-to-peer networks, genome analysis, cryptography and image analysis are just a few examples of applications that depend critically on suitable choices of algorithms and data structures. The Encyclopaedia of Encyclopaedia of Algorithms gives an indication of the incredible diversity of application areas.
Algorithmics is also becoming an essential tool for researchers in many areas outside Computer Science. A 2006 article in the Communications of the ACM notes:
One reason for this is the increased reliance on describing complex processes (e.g. the stock market, evolution) as algorithms, and using algorithmic simulations to make predictions. Applications in industry are also widespread. A 2005 report from the Smith Institute for Industrial Mathematics noted that:
The focus of this MSc is on the design, analysis and engineering of algorithms, covering their use for modelling real-world problems. Our core modules touch upon some recent and important areas of algorithmic applications, such as bioinformatics and large computer networks. Modules such as Game Theory in Computer Science and Discrete Event Systems provide the tools with which you may model large and complex systems as algorithmic processess, and C++ programming and advanced algorithm design will give you the skills to write the software needed. In your project you have the freedom to explore the full range of algorithmic application areas.
The course comprises seven compulsory modules (including an individual project) and two optional modules.
- Individual project
- Personal and Group Skills
- Algorithms for Bioinformatics
- C++ Programming and Advanced Algorithm Design
- Discrete Event Systems
- Game Theory in Computer Science
- Networking and Distributed Computing
Two of the following
*These modules are run by the Department of Mathematics and can only be taken with the permission of the relevant module convenor.