Durham University
Programme and Module Handbook

Postgraduate Handbook 2026-2027

Module COMP53215: Algorithms and Complexity

Department: Computer Science

COMP53215: Algorithms and Complexity

Type Level Credits Availability Module Cap Location
Tied 5 15 Available in 2026/2027 Durham

Tied To

Pre-requisites

  • None

Corequisites

  • None

Excluded Combinations

  • None

Aims

  • Provide knowledge and critical understanding of paradigms, and fundamental ideas behind algorithms.
  • Provide knowledge and critical understanding of paradigms, fundamental ideas and methods relating to computational complexity.
  • Discuss the design and analysis of efficient algorithms.

Content

  • Algorithmic methods: e.g. divide and conquer, dynamic programming.
  • Mitigating hardness: e.g. approximation, branch and bound, exact methods.
  • Computational complexity: e.g. classes between L and EXPTIME, time and space hierarchy theorems, FPT and the W-hierarchy.
  • Randomised Algorithms: e.g. QuickSort, randomised data structures.
  • Probabilistic Methods: e.g. Monte Carlo methods, tail inequalities

Learning Outcomes

Subject-specific Knowledge
  • By the end of this module, students should be able to demonstrate:
  • a systematic understanding of core techniques for constructing algorithms.
  • an advanced understanding of core concepts from computational complexity theory.
  • an ability to design novel algorithms to solve specific complex problems.
Subject-specific Skills
  • By the end of this module, students should be able to demonstrate:
  • familiarity with state-of-the-art algorithms to solve complex challenges and understanding of computational complexity implications.
  • competence to translate abstract problem descriptions into algorithmic formulations; competent and educated selection of appropriate solution algorithms.
Key Skills
  • By the end of this module, students should be able to demonstrate:
  • familiarity with advanced paradigms and modern algorithms underlying computer science applications, and their analysis

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Lectures enable students to learn the core material relevant to the topic and problem classes enable students to develop their theoretical understanding and problem-solving skills.
  • Summative assessments and formative exercises encourage students to focus their ability to independently analyse and solve problems as it relates to the topic of algorithms and complexity.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotal HoursAttendance Monitored
Lectures 8 1 per week 2 hours 16 Yes
Lectures 8 1 per week 1 hour 8 Yes
Problem Classes 1 1 per week 2 hours 8 Yes
Preparation and Reading 118
Total 150

Summative Assessment

ComponentComponent WeightingElementLength/DurationElement WeightingResit Opportunity
Coursework 100% In-Year Test 40 minutes 50%
In-Year Test 40 minutes 50%

Formative Assessment

Via problem classes.


Students who do not attend monitored activities shown under Teaching Methods and Learning Hours, or who fail to complete the summative or formative assessment(s) specified above, may be subject to the Academic Progress procedures defined in the University's General Regulation V, and may be required to leave the University.