MA421      Half Unit
Advanced Algorithms

This information is for the 2019/20 session.

Teacher responsible

Gregory Sorkin


This course is available on the MSc in Applicable Mathematics and MSc in Operations Research & Analytics. This course is available as an outside option to students on other programmes where regulations permit.


Students must have completed Algorithms and Computation (MA407) or have taken an equivalent course to provide a basic knowledge in analysis of algorithms: running time and correctness of an algorithm, basic knowledge of computer programming (preferably in Java), and should have experience with proofs and proof techniques used in pure mathematics.

Course content

Introduction to NP-Completeness, followed by Approximation Algorithms, Randomised Algorithms, and other topics such as some of Average-Case Analysis, Streaming Algorithms, Exponential-Time Algorithms, and Numerical Algorithms.


20 hours of lectures and 15 hours of seminars in the LT. 2 hours of lectures in the ST.

Formative coursework

Weekly exercises are set and marked. Some of these will include programming exercises in Java.

Indicative reading

Cormen, Leiserson, Rivest and Stein, Introduction to Algorithms;

Williamson, Shmoys, The Design of Approximation Algorithms;

Motwani and Raghavan, Randomized Algorithms.


Exam (75%, duration: 2 hours and 30 minutes) in the summer exam period.
Coursework (25%) in the LT.

Key facts

Department: Mathematics

Total students 2018/19: 11

Average class size 2018/19: 11

Controlled access 2018/19: No

Value: Half Unit

Guidelines for interpreting course guide information

Personal development skills

  • Self-management
  • Problem solving
  • Application of information skills
  • Communication
  • Application of numeracy skills
  • Specialist skills