Lecture materials and weekly plan
Lectures and consultations take place on Wednesdays, 10:15-12:00, in Delta 1019 (Jaak Vilo). Lectures run in teaching weeks 1-16.
The Wednesday meetings use a flipped-classroom format. The notes, slides, and recordings provide the main content. Meeting time is used to guide students toward the right material, explain difficult ideas when needed, answer questions, work through selected examples, and connect the concepts to homework and projects.
We will also introduce upcoming homework early: its purpose, expected work, useful starting points, common difficulties, and selected hints. The meeting will support the work without presenting complete solutions.
This page gives the planned 2026 learning order. Small changes may be made during the semester; changes will be announced in Zulip and updated here.
How to use the materials
- Topic notes are the maintained course readings. Use the HTML version for screen reading and the PDF version for printing, annotation, or offline revision.
- Slide decks are supporting material from earlier course editions. They may contain more detail or follow a different order from the 2026 weekly plan.
- Recordings explain many of the same topics in greater detail. You are not expected to watch every recording from beginning to end.
- Before Wednesday: read the relevant notes, inspect the slides, use recordings selectively, and identify unclear ideas.
- During Wednesday: we select the most important ideas, clarify difficult points, discuss examples, and introduce upcoming homework with initial guidance and hints.
- After Wednesday: complete the reading and homework, test your understanding, and use practice sessions and Zulip for further questions.
- Selected links and external resources contains optional textbooks, courses, visualisations, and reference material.
- Log in to Courses to see the link to the pre-recorded Panopto lectures.
- Algorithmics Zulip channel - questions, announcements, and discussion.
2026 weekly learning plan
Each week below brings the current notes, supporting slides, relevant Panopto recordings, and related homework or project work together. These are resources for guided study; the Wednesday meeting will concentrate on the points that benefit most from explanation and discussion.
Homework is normally due on the Monday after the Wednesday meeting. Where useful, the following homework may be previewed a week earlier so that students can start planning.
The weekly plan may mention forthcoming homework topics and expected deadlines. A homework is considered published only when it is linked from Homework: rules and schedule. That page is authoritative for released task descriptions and deadlines.
Most slide decks come from earlier course editions and may contain more detail or use a different order. The three Week 1 decks below are the current 2026 versions.
Week 1 - Wednesday, 2 September
Start Lecture 1 here: current course organisation
- Focus: Course organisation; algorithmic rigour; growth functions; prediction, measurement, and explanation.
- New lecture notes: Course orientation - HTML (PDF); Growth functions - HTML (PDF).
- Further slides: Algorithmics introduction 2026 - PDF; Growth functions 2026 - PDF.
- Panopto: Course introduction and growth-functions recordings in the folder linked above.
- Homework: HW1. Algorithmic Evidence, due Monday, 7 September, 23:59.
Week 2 - Wednesday, 9 September
- Focus: Linear structures; sorting; binary search; divide-and-conquer; recurrences.
- New lecture notes: Linear structures - HTML (PDF); Sorting, searching, and recurrences - HTML (PDF).
- Slides: Linear structures, sorting, and recurrences PDF (6-up).
- Panopto: 04 Arrays and linked lists; 05 Sorting - merge sort and quicksort analyses; 06 Recurrences and the master method; 07 Linear-time sorting; 08 Order statistics and skip lists.
- Homework: HW2. Dual-Pivot Quicksort, Binary Search, and Divide-and-Conquer, due Monday, 14 September, 23:59.
Week 3 - Wednesday, 16 September
- Focus: Trees; traversal; binary search trees; AVL, Red-Black, and B-trees.
- New lecture notes: Trees - HTML (PDF).
- Slides: Trees PDF (6-up).
- Panopto: 09 Tree data model and traversals; 10 Binary search tree basics; 11 AVL and Red-Black trees; 12 B-trees.
- Homework: HW3. Trees and Balanced Search, due Monday, 21 September, 23:59.
Week 4 - Wednesday, 23 September
- Focus: Binary, binomial, and Fibonacci heaps; priority queues; heap construction; amortised analysis; introduction to succinct representations.
- New lecture notes: Heaps - HTML (PDF); Succinct data structures - HTML (PDF).
- Slides: Heaps PDF (6-up); Succinct Data Structures PDF (6-up); the binary-heap material also appears in the Trees PDF.
- Panopto: 16 Binary heap and heap sort; 19 Binomial heaps, Fibonacci heaps, and van Emde Boas structures; begin 20 Succinct tree representations.
- Homework: HW4. Heaps, Priority Queues, and Succinct Trees, due Monday, 28 September, 23:59.
Week 5 - Wednesday, 30 September
- Focus: Succinct trees and bit vectors; rank/select; hash tables; universal hashing; Bloom filters.
- New lecture notes: Succinct data structures - HTML (PDF); Hashing and Bloom filters - HTML (PDF).
- Slides: Succinct Data Structures PDF (6-up); Hashing PDF (6-up).
- Panopto: 20 Succinct tree representations; 21 Hash functions I; 21 Hashing and Bloom filters II.
- Homework: HW5. Succinct Dictionaries, Hashing, and Bloom Filters, due Monday, 5 October, 23:59.
Week 6 - Wednesday, 7 October
- Focus: Graph representations; BFS and DFS; shortest paths; Dijkstra and A*.
- New lecture notes: Graphs and graph algorithms - HTML (PDF).
- Slides: Graphs I PDF (6-up); Graphs II PDF (6-up).
- Panopto: 22 Graphs I - introduction; 23 Graph terminology; 24 Graph traversals; 27 Shortest-path algorithms; 34 A* algorithm.
- Homework: HW6. Graph Traversal and Shortest Paths, due Monday, 12 October, 23:59.
Week 7 - Wednesday, 14 October
- Focus: Spatial data; k-d trees; random-projection trees; geometric trees; exact and approximate nearest-neighbour search.
- New lecture notes: Trees and spatial structures - HTML (PDF).
- Slides: Trees and spatial structures PDF (6-up).
- Panopto: 13 k-d trees; 14 Random-projection trees; 15 Quadtrees, octrees, and R-trees.
- Homework: HW7. Spatial Data and Nearest-Neighbour Search, due Monday, 19 October, 23:59.
Week 8 - Wednesday, 21 October
- Focus: Directed graphs; topological order; strongly connected components; maximum flow; PageRank and random walks.
- New lecture notes: Graphs and graph algorithms - HTML (PDF).
- Slides: Graphs I PDF (6-up); Graphs II PDF (6-up).
- Panopto: 25 Topological sorting and SCC; 26 Minimum spanning trees; 28 Graph matrices, PageRank, and MCL; 29 Landmark-based distance estimation; 30 Social-network analysis; 31 Maximum-flow networks.
- Homework: HW8. Advanced Graphs: SCC, Flow, and Random Walks, due Monday, 26 October, 23:59.
Week 9 - Wednesday, 28 October
- Focus: TSP; nearest-neighbour graphs; greedy set cover; lower bounds and solution quality.
- New lecture notes: Heuristic search and metaheuristics - HTML (PDF).
- Slides: Heuristic Search I; II; III; 6-up.
- Panopto: 32 Heuristic search introduction; 33 Greedy set cover; 35 Local search and TSP.
- Homework: HW9. TSP, Nearest-Neighbour Graphs, and Set Cover, due Monday, 2 November, 23:59.
Week 10 - Wednesday, 4 November
- Focus: Local and stochastic search; simulated annealing; evolutionary methods; differential evolution.
- New lecture notes: Heuristic search and metaheuristics - HTML (PDF).
- Slides: Heuristic Search I; II; III; 6-up.
- Panopto: 36 Local search, simulated annealing, and SAT; 37 Genetic algorithms and evolutionary strategies; 38 Evolutionary graphics; 39 PSO, ACO, and differential evolution.
- Homework: HW10. Heuristic and Evolutionary Optimisation, due Monday, 9 November, 23:59.
Week 11 - Wednesday, 11 November
- Focus: Dynamic programming; edit distance; reconstruction; dynamic time warping.
- New lecture notes: Dynamic programming - HTML (PDF).
- Slides: Dynamic Programming I; II.
- Panopto: 40 Dynamic-programming principle; 41 Generalised edit-distance examples; 41 String edit distance; 42 Dynamic time warping; 43 Matrix-chain multiplication.
- Homework: HW11. Dynamic Programming, Edit Distance, and DTW, due Monday, 16 November, 23:59.
- Project: Explore project ideas?, discuss the scope, and identify possible teammates.
Week 12 - Wednesday, 18 November
- Focus: Exact text search; suffix arrays; Burrows-Wheeler transform; preprocessing for repeated queries.
- New lecture notes: Exact pattern matching - HTML (PDF); Full-text indexing - HTML (PDF).
- Slides: Exact Pattern Matching PDF (6-up); Full-text Indexing PDF (6-up).
- Panopto: 44 Exact matching I; 45 Boyer-Moore and factor searches; 46 Multiple-string matching; selected parts of 50 Suffix arrays and 51 Burrows-Wheeler transform.
- Homework: HW12. Text Search, Suffix Arrays, and BWT, due Monday, 23 November, 23:59.
- Project: Register the final project team and topic by the HW12 deadline. See the homework and project schedule.
Week 13 - Wednesday, 25 November
- Focus: Project preparation; connecting algorithm choice, experimental design, evaluation, and concise technical reporting.
- New lecture notes: Revisit the notes most relevant to the chosen project topic from the earlier weeks.
- Slides and Panopto: Use the topic-specific material above as needed; there is no separate required recording for this week.
- Project: Project development and feedback; no regular homework. See Projects.
Week 14 - Wednesday, 2 December
- Focus: Automata and regular expressions; project development and feedback.
- New lecture notes: Automata and regular expressions - HTML (PDF).
- Slides: Automata and Regular Expressions PDF (6-up).
- Panopto: 47 Regular-expression languages, automata matching, and minimisation.
- Project: Development and progress-checkpoint preparation. See the homework and project schedule and Projects.
Week 15 - Wednesday, 9 December
- Focus: Approximate matching; project development and consultation.
- New lecture notes: Approximate matching - HTML (PDF).
- Slides: Approximate Matching PDF (6-up).
- Panopto: 48 Approximate matching, parts I and II.
- Project: Project development and consultation. See Projects.
Week 16 - Wednesday, 16 December
- Focus: Full-text indexing in greater depth; course synthesis; project and exam consultation.
- New lecture notes: Full-text indexing - HTML (PDF).
- Slides: Full-text Indexing PDF (6-up).
- Panopto: 49 Suffix trees; 50 Suffix arrays; 51 Burrows-Wheeler transform; optional Travis Gagie on pangenomic FM-indexes.
- Project and exam: Final project submission, poster-session preparation, and exam consultation. See the homework and project schedule, Projects, and Exam.