This is an archived version of this module from Fall 2023.

Efficient Algorithms (COMP 526) is a first-semester masters module on efficient algorithms and data structures. It covers a few fundamental results in algorithms and data structures plus more advanced topics, with an emphasis on methods that are useful in applications.

Slido  ⋅  Live  ⋅  Canvas  ⋅  Campuswire  ⋅  Units

Teaching Evaluation

Below are the results of the University’s end-of-module survey.


There will be synchronous interactive lectures, starting in the week of Sept 25. Live participation is expected; recordings will be available.

Our regular lecture slots are

  • Thursday 15:00 – 16:30 in Building 502, Lecture Theater 3;
    on Nov 2 in Sherrington Lecture Theater 1 instead
  • Friday 11:00 – 12:30 in Eleanor Rathbone Theater

If you are registered for the module, lectures will appear on your timetable.

(Trouble finding rooms? Check out this list.)


The module will consist of the following units:


There will be small-group tutorials, run by Ben Smith.

The tutorial groups will meet

  • Tuesdays 14:00 – 15:00,
  • Tuesdays 15:00 – 16:00,
  • Thurdays 10:00 – 11:00,
  • Thurdays 11:00 – 12:00, resp.
  • Fridays 10:00 – 11:00.

You are assigned to one of the groups by the timetabling team; check your personal timetable.

Tutorial Date Content Worksheet
1 Oct 03–06 Unit 0 tutorial-01.pdf
2 Oct 10–13 Units 0 & 1 tutorial-02.pdf
3 Oct 17–20 Units 2 & 3 tutorial-03.pdf
4 Oct 24–27 Unit 3 tutorial-04.pdf
5 Oct 31–Nov 03 Unit 4 tutorial-05.pdf
6 Nov 14–17 Unit 5 tutorial-06.pdf
7 Nov 21–25 Units 5 & 6 tutorial-07.pdf
8 Nov 28–Dec 01 Units 7 & 8 tutorial-08.pdf
9 Dec 05–08 Unit 8 tutorial-09.pdf
10 Dec 12–15 exam problems tutorial-10.pdf

Online Tools

We will use the following tools and services in this module.


Campuswire is the main online communication channel. Use it as a question & answer forum, for (social or topical) discussions. (See features of the platform for Q&A and chat).


We will use the university’s official learning management system Canvas for quizzes (class tests and online exams) and assessments. You are automatically enrolled for COMP526 on Canvas when you are registered for the module.


During the live lectures, I will use Slido to for interactive parts.

Exam & Assessment

The final grade for the module is the weighted average of

  • the final exam (60%) and
  • several continuous assessments:
    • programming puzzle 1 (10%),
    • programming puzzle 2 (10%),
    • several “class tests” on Canvas (15% in total), and
    • bonus marks for good participation (5%).

More details will be provided in class (see Unit 0).

Note that some past exam papers are made available from the department via the all-student Canvas course.

Further reading

There are many good algorithms textbooks, but no single definitive one that covers all topics of this module (in the way I want them presented!). Indeed, I have been cherrypicking the – in my opinion – most effective descriptions from a variety of sources; check the individual units for details.

Our library’s reading list for the module can help you access the resources.

Other resources