Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2026-2027

Module COMP3811: Advanced Algorithms & Data Structures

Department: Computer Science

COMP3811: Advanced Algorithms & Data Structures

Type Open Level 3 Credits 20 Availability Available in 2026/2027 Module Cap Location Durham

Prerequisites

  • COMP2181 Theory of Computation AND (COMP2271 Data Science OR MATH1571 Single Maths B OR MATH1597 Probability I)

Corequisites

  • None

Excluded Combination of Modules

  • None

Aims

  • To equip students with the ability to design and analyse efficient algorithms and data structures.
  • To give students a deeper knowledge of algorithmic solutions for typical computer science problems.
  • To extend the students' knowledge of the latest advances in understanding the limits of computation and the ways of coping with computational hardness.

Content

  • Advanced data structures, such as hashes (universal, perfect, Cuckoo, Bloom filters), treaps, skip lists, splay trees, and basic bounds and inequalities, such as Markov, Chebyshev, Chernoff.
  • Advanced algorithmic concepts and techniques, such as approximation, fixed parameter tractability, algorithms under input restrictions, polynomial-time, sub-linear space and sub-linear time algorithms, parallel and distributed algorithms, probabilistic algorithms.

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to:
  • critically evaluate important problem-solving paradigms in the broad area of algorithmic design and in application to computationally hard problems,
  • explain how the theory of computation is applied in the design of algorithms.
Subject-specific Skills:
  • On completion of the module, students will be able to:
  • select and apply methods and techniques from algorithmic design paradigms, including to tackle computationally hard problems,
  • critically apply notions from the theory of computation and methods of mathematical proof.
Key Skills:
  • On completion of the module, students will be able to work with abstract problems and develop creative and effective solutions.

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

  • Lectures enable the students to learn new material relevant to systems, computing and algorithms in various scenarios.
  • Summative assessments assess the understanding of systems, computing, algorithms, and the ability to design and analyse such algorithms.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours Attendance Monitored
Lectures 44 2 per week 1 hour 44
Preparation and Reading 1 156
Total 200

Summative Assessment

Component: Examination Component Weighting: 100%
Element Length / duration Element Weighting Resit Opportunity
On Campus Written Examination 2 hours 100%

Formative Assessment:

Example formative exercises are given during the course.


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.