</>Computer SciencePostgraduate

Advanced Algorithms

Study advanced algorithm design, complexity, graph methods, dynamic programming and optimisation techniques.

Add this course to your learner dashboard and begin Lesson 1.
36 lessons9 weeks8 modulesPostgraduate
Course overview

Know what you are learning—and why.

Study advanced algorithm design, complexity, graph methods, dynamic programming and optimisation techniques.

01
Structured progression

Move through topics in a logical order rather than learning isolated techniques.

02
Clear explanations

Build conceptual understanding before moving into procedures, calculations or code.

03
Applied practice

Reinforce learning through examples, exercises and practical applications.

04
Connected learning

See where this course fits within the wider Computer Science learning journey.

Skills you will build

Finish with capability, not just content watched.

The course is organised around the knowledge and practical abilities you should develop as you progress.

01
Advanced algorithms

Develop this skill progressively through explanation, examples and application throughout the course.

02
Complexity

Develop this skill progressively through explanation, examples and application throughout the course.

03
Graph algorithms

Develop this skill progressively through explanation, examples and application throughout the course.

04
Optimisation

Develop this skill progressively through explanation, examples and application throughout the course.

Course curriculum

8 modules. One coherent journey.

Work through the curriculum in sequence to build a complete understanding of Advanced Algorithms.

01
Algorithm analysisConcepts · Examples · Practice
Module 1
02
Divide and conquerConcepts · Examples · Practice
Module 2
03
Advanced graph algorithmsConcepts · Examples · Practice
Module 3
04
Dynamic programmingConcepts · Examples · Practice
Module 4
05
Greedy optimisationConcepts · Examples · Practice
Module 5
06
Randomised algorithmsConcepts · Examples · Practice
Module 6
07
ApproximationConcepts · Examples · Practice
Module 7
08
Complexity limitsConcepts · Examples · Practice
Module 8
Before you start

Advanced study

This course is best suited to learners with relevant undergraduate-level foundations or equivalent practical experience.

01

Start where you are

No need to know everything

Use the course structure to identify gaps and build missing foundations progressively.

02

Work actively

Learning requires practice

Pause, calculate, code, explain and solve rather than treating lessons as passive video content.

03

Ask questions

Confusion is useful information

Identify exactly where your understanding breaks down and revisit the concept or seek expert help.

04

Apply it

Move beyond examples

Use the ideas in your own problems, assignments, projects, analyses or research.

Learning approach

From explanation to independent application.

The goal is not simply to finish lessons. The goal is to reach the point where you can use the ideas without being guided through every step.

01

Understand

Learn the idea

Start with intuitive explanation and build the underlying reasoning.

02

See it

Use examples and visuals

Connect abstract ideas to examples, diagrams, computation and interactive demonstrations.

03

Practise

Build fluency

Work through progressively more challenging questions and applications.

04

Apply

Work independently

Transfer your learning to examinations, code, projects, research or real datasets.

Explore interactive labs
Expert support

Stuck somewhere in the course?

Use 1-to-1 tutoring when you need a deeper explanation, feedback on your understanding, help with a related university topic or support applying the method to your own work.

The aim is not to finish Advanced Algorithms. The aim is to reach the point where you can use it.
My Academic Tutor learning philosophy