Undergraduate Handbook 2026-2027
Module COMP3811: Advanced Algorithms & Data Structures
Department: Computer Science
COMP3811: Advanced Algorithms & Data Structures
| Type | Level | Credits | Availability | Module Cap | Location |
|---|---|---|---|---|---|
| Open | 3 | 20 | Available in 2026/2027 | Durham |
Pre-requisites
- COMP2181 Theory of Computation AND (COMP2271 Data Science OR MATH1571 Single Maths B OR MATH1597 Probability I)
Corequisites
- None
Excluded Combinations
- 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 | Component Weighting | Element | Length/Duration | Element Weighting | Resit Opportunity |
|---|---|---|---|---|---|
| Examination | 100% | 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.