COMP526: Efficient Algorithms

course materials for Fall 2025

Welcome to the Fall 2025 iteration of COMP526: Efficient Algorithms! This site will serve as the public-facing source for course materials. Please see the COMP526 Module Syllabus for more specific information about course policies.

Quick links: COMP526 Canvas Site . Poll Everywhere . UoL Timetables

Coordinates

Lectures

Lectures will be held twice weekly. Lectures are scheduled for 120 minutes. See your timetable on the UoL Timetabling page for up-to-date timing and locations of lectures.

Note that the lectures for Week 01 (22–26 September) will be held on Thursday and Friday (rather than the usual Monday/Thursday schedule), and there are no lectures during Week 02 (29 September–3 October)

Tutorials

In addition to the lectures, you should attend one tutorial session each week. The tutorials start in Week 03 (06–10 October). See your time table on the UoL Timetabling page for the time and location of your assigned tutorial.

My Office

My office is located in George Holt, Room 2.16B. My office hour schedule is TBD.

Resources

Software and Administrative Tools

Textbooks

There is no single textbook for this course. Instead, I have drawn materials mostly from the following sources, available from the University of Liverpool library (either in print or electronically). The following two books cover much of the material covered in COMP526:

  • CLRS: Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein.
  • SW: Algorithms by Sedgewick and Wayne.

CLRS is the probably the “modern standard” reference text on algorithms. SW is less expansive, but focuses more on the text processing algorithms that we will study in this module. (Is is also the more accessible of these two books.) Additionally, I have used the sections of the following texts in preparing materials for this module:

  • Gusfield: Algorithms on Strings, Trees, and Sequences by Gusfield.
  • KT: Algorithm Design by Kleinberg and Tardos.
  • MacKay: Information Theory, Inference, and Learning Algorithms by MacKay.
  • SMDD: Sequential and Parallel Algorithms and Data Structures by Sanders, Mehlhorn, Dietzfelbinger, and Dementiev.

Occasionally, I will also link to other resources. See the weekly schedule below for relevant readings for each lecture.

Lecture Materials

Week 01 (22 Sept - 26 Sept)
Week 02 (29 Sept - 3 Oct)
  • No meetings this week!!

Final Exam Revision Materials

Posted in final week of module

Assignments

Programming Assignments

  • Programming Assignment 1: Due 14 November
    • assignment released in Week 05
  • Programming Assignment 2: Due 05 December
    • assignment released in Week 08

Quizzes

  • Quiz 01 (10 October): Logic & Proof Techniques
  • Quiz 02 (17 October): Asymptotic Notation
  • Quiz 03 (24 October): Fundamental Data Structures
  • Quiz 04 (31 October): Graph Search
  • Quiz 05 (07 November): Sorting, Divide & Conquer
  • Quiz 06 (21 November): Data Compression
  • Quiz 07 (28 November): Error Correcting Codes
  • Quiz 08 (12 December): String Matching and Text Indexing