Unit information: Advanced Algorithms (Teaching Unit) in 2026/27

Please note: Programme and unit information may change as the relevant academic field develops. We may also make changes to the structure of programmes and assessments to improve the student experience.

Unit name Advanced Algorithms (Teaching Unit)
Unit code COMS30042
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Clifford
Open unit status Not open
Units you must take before you take this one (pre-requisite units)

COMS10018 Object-Oriented Programming and Algorithms, or equivalent.

COMS20017 Algorithms and Data, or equivalent.

Solid understanding of O-notation and recurrence relations, the “greedy”, “divide-and-conquer” and “dynamic programming” paradigms of algorithm design, proof by induction and contradiction, discrete probability.

Previous exposure to pseudocode.

A solid understanding of arrays, linked lists, and priority queues.

Units you must take alongside this one (co-requisite units)

Assessment Unit COMS30081 Topics in Computer Science (Examination assessment, 20 credits)

Units you may not take alongside this one

None.

School/department School of Computer Science
Faculty Faculty of Engineering

Unit Information

Why is this unit important

Advanced algorithms will give students the opportunity to explore more deeply algorithm design and analysis. This will provide the intellectual tools that form the core of modern high-tech industry.

How does this unit fit into your programme of study

This is an optional unit that can be taken in year 3.

Your learning on this unit

An overview of content

This unit gives an overview of recent advances in the design of algorithms and data structures. These fall into two broad categories.

  • First, we will cover algorithms and data structures for fundamental problems surrounding storing, recovering and searching within data. For these problems we will see that nearly optimal solutions are possible.
  • Second are optimisation problems where sometimes only exponential-time algorithms are known. We will discuss when these problems admit exact efficient solutions, and when only approximation is possible.

How will students, personally, be different as a result of the unit

Students will learn advanced data structures and algorithms of the sort that are central to modern high-tech industry. They will gain an appreciation of the main techniques that have been developed to achieve time and space efficient solutions. They will further understand how to provide approximate solutions where obtaining exact solutions is intractable.

Learning Outcomes

  1. On successful completion of this unit, students will: Be able to apply sophisticated analysis techniques to measure the time and space complexity of algorithms and also prove their correctness.
  2. Describe a variety of advanced data structures and their applications.
  3. Be aware of and able to apply standard approaches to approximating the answer to (NP-complete) problems where finding the exact answer is infeasible.

How you will learn

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, problem sheets and self-directed exercises.

Teaching will take place over Weeks 1-7, with consolidation and revision sessions in Weeks 11 and 12.

How you will be assessed

Tasks which help you learn and prepare you for summative tasks (formative):

Weekly problem sheets, with example solutions and problem classes.

Tasks which count towards your unit mark (summative):

This unit will contribute 50% (equivalent to 1 hour of exam time) to the “Topics in Computer Science” exam that will be sat during the winter examination period. This closed-book exam will assess all learning outcomes.

When assessment does not go to plan:

Students will retake relevant assessments in a like-for-like fashion in accordance with the University rules and regulations.

Resources

If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS30042).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

Assessment
The assessment methods listed in this unit specification are designed to enable students to demonstrate the named learning outcomes (LOs). Where a disability prevents a student from undertaking a specific method of assessment, schools will make reasonable adjustments to support a student to demonstrate the LO by an alternative method or with additional resources.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.