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.