Durham University
Programme and Module Handbook

Undergraduate Programme and Module Handbook 2026-2027

Module COMP4251: Advanced Algorithms & Distributed Network Computing

Department: Computer Science

COMP4251: Advanced Algorithms & Distributed Network Computing

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

Prerequisites

  • COMP2181 Theory of Computation

Corequisites

  • None

Excluded Combination of Modules

  • None

Aims

  • To give students a deeper knowledge of algorithmic solutions for typical computer science problems.
  • To introduce students to network based distributed computing paradigms and algorithm design concepts.
  • To equip students with the ability to design and analyse efficient distributed algorithms and data structures.

Content

  • Distributed computing models and analysis: LOCAL, CONGEST . . .
  • Fundamental and classic distributed algorithms: Flooding, Leader Election, etc.
  • Centralised to distributed via classic graph problems: Maximal Independent Set (MIS), Colouring, Matching, Minimum Spanning Tree (MST), etc.
  • (Advanced) Topics from the following:
  • (Secure) Computation despite faults: Fault-tolerant distributed computation despite attacks and/or edge/node insertions/deletions.
  • Byzantine fault-tolerance: Foundations of Blockchain/Cryptocurrency.
  • Autonomous systems: Self-stabilization, Self-healing, Mobile robots.
  • Algorithm complexity and general design techniques: Network Decomposition and Graph Shattering.
  • Data structures such as hashes (universal, perfect, Cuckoo, Bloom filters), treaps, skip lists, splay trees
  • Algorithm concepts: approximation, exact, fixed parameter tractable, polynomial
  • Input restrictions: hereditary and intersection graph classes
  • Graph width parameters
  • Graph reconfiguration

Learning Outcomes

Subject-specific Knowledge:
  • On completion of the module, students will be able to demonstrate:
  • Knowledge of key problem-solving paradigms in the broad area of algorithmic design.
  • An understanding of computing, abstraction, and algorithms for networks and decentralised systems.
  • An understanding of formal concepts for designing and analysing distributed algorithms.
Subject-specific Skills:
  • On completion of the module, students will be able to demonstrate:
  • An ability to apply techniques and methods from the relevant topics to tackle fundamental algorithmic problems.
  • An ability to abstract real-world problems and network architectures to provide and analyse solutions by distributed algorithms.
Key Skills:
  • On completion of the module, students will be able to demonstrate:
  • An ability to think critically.
  • An ability to work with abstract problems.
  • A scientific approach to algorithm and system design.

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 advanced algorithms, distributed systems, distributed computing and distributed algorithms in various scenarios.

Teaching Methods and Learning Hours

Activity Number Frequency Duration Total/Hours Attendance Monitored
Lectures 44 2 per week 1 hour 44
Preparation and Reading 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.