Skip to main content
 

COMP4087: ADVANCED ALGORITHMS

Please ensure you check the module availability box for each module outline, as not all modules will run in each academic year. Each module description relates to the year indicated in the module availability box, and this may change from year to year, due to, for example: changing staff expertise, disciplinary developments, the requirements of external bodies and partners, and student feedback. Current modules are subject to change in light of the ongoing disruption caused by Covid-19.

Type Open
Level 4
Credits 10
Availability Available in 2024/2025
Module Cap None.
Location Durham
Department Computer Science

Prerequisites

  • COMP2181 Theory of Computation

Corequisites

  • None

Excluded Combinations of Modules

  • None

Aims

  • 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

  • Algorithms: approximation, exact, fixed parameter tractable, polynomial
  • Input restrictions: hereditary and intersection graph classes
  • Graph width
  • Graph containment relations
  • Graph reconfiguration

Learning Outcomes

Subject-specific Knowledge:

  • On completion of the module, students will be able to demonstrate:
  • a comprehensive understanding of how the theory of computation is applied in the design of algorithms
  • a critical evaluation of different approaches to the algorithmic solution for computationally hard problems
  • a critical awareness of some of the latest advances in research on theoretical aspects of computation

Subject-specific Skills:

  • On completion of the module, students will be able to demonstrate:
  • an ability to critically apply notions from the theory of computation
  • an ability to choose and evaluate the best way to tackle computationally hard problems
  • an ability to judge research on the cutting edge of the theory of computation

Key Skills:

  • On completion of the module, students will be able to demonstrate:
  • an ability to abstract and solve problems
  • an ability to learn independently
  • an ability to communicate technical information

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 the theory of computation
  • Formative homework exercises identify areas where further independent research could be conducted
  • Summative assessments test the knowledge acquired and the students' ability to use this knowledge to solve complex problems.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotalMonitored
lectures222 per week1 hour22 
preparation and reading78 
total100 

Summative Assessment

Component: ExaminationComponent Weighting: 100%
ElementLength / DurationElement WeightingResit Opportunity
Examination2 hours 100No

Formative Assessment

Example formative exercises are given during the course. Additional revision lectures may be arranged in the module's lecture slots in the 3rd term.

More information

If you have a question about Durham's modular degree programmes, please visit our FAQ webpages, Help page or our glossary of terms. If you have a question about modular programmes that is not covered by the FAQ, or a query about the on-line Undergraduate Module Handbook, please contact us.

Prospective Students: If you have a query about a specific module or degree programme, please Ask Us.

Current Students: Please contact your department.