COMP 526 – Applied Algorithmics (Spring 2022)
This is an archived version of this module from Spring 2022.
Click here for the current iteration.
Applied Algorithmics (COMP 526) is a second-term 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.
Quick links
Slido ⋅ Live ⋅ Canvas ⋅ Campuswire ⋅ Units
Teaching Evaluation
Below are the results of the University’s end-of-module survey.
Lectures
There will be synchronous interactive lectures, hopefully face-to-face, starting in the week of Jan 31. Covid permitting, live participation is expected; recordings will be available.
Our regular lecture slots are
- Monday 11:00 – 12:30 in ELEC 203
- Thursday 13:00 – 14:30 in Brodie 108
If you are registered for the module, they will appear on your timetable.
(Trouble finding rooms? Check out this list.)
Units
The module will consist of the following units:
- Unit 0 – Administrativa & Proof Techniques
- Unit 1 – Machines & Models
- Unit 2 – Fundamental Data Structures
- Unit 3 – Efficient Sorting
- Unit 4 – String Matching
- Unit 5 – Parallel String Matching
- Unit 6 – Text indexing
- Unit 7 – Compression
- Unit 8 – Error-Correcting Codes
- CA1: Video Presentation
- CA2: Programming Puzzle 1
- CA3: Programming Puzzle 2
Tutorials
There will be small-group tutorials, run by Ben Smith. The tutorial groups will meet
- Thurdays 15:00 – 16:00,
- Fridays 14:00 – 15:00, resp.
- Fridays 15:00 – 16:00.
Check the Campuswire post for the organization of the tutorial groups.
Tutorial | Date | Content | Worksheet |
---|---|---|---|
1 | Feb 10/11 | Unit 0 | tutorial-01.pdf |
2 | Feb 17/18 | Units 0 & 1 | tutorial-02.pdf |
3 | Feb 24/25 | Units 2 & 3 | tutorial-03.pdf |
4 | Mar 3/4 | Unit 3 | tutorial-04.pdf |
5 | Mar 10/11 | Unit 4 | tutorial-05.pdf |
6 | Mar 17/18 | Unit 6 | tutorial-06.pdf |
7 | Mar 24/25 | Units 6 & 7 | tutorial-07.pdf |
8 | Mar 31/Apr 1 | Unit 7 | tutorial-08.pdf |
9 | Apr 28/29 | Unit 8 | tutorial-09.pdf |
10 | tbd | exam problems | tutorial-10.pdf |
Online Tools
We will use the following tools and services in this module.
Campuswire
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).
Canvas
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 register for the module.
Slido
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 (50%) and
- several continuous assessments:
- a video presentation (10%),
- programming puzzle 1 (10%),
- programming puzzle 2 (10%),
- several “class tests” on Canvas (15% in total), and
- bonus marks for good participation (5%).
More detail will be provided in class (see Unit 0).
Note that some exam papers from long ago are available from the department (intranet). These remain excellent training grounds for the final exam, but watch out for some changes in the covered material.
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 suitable 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 resouces.