General Info

Teachers

Teaching Assistants

When and where Fridays 8.15-12.00 in Bldg. 208, Aud.054.

Prerequisites Undergraduate level courses in algorithms and data structures (comparable to 02105 + 02110) and mathematical maturity. You should have a working knowledge of algorithm analysis (e.g. asymptotic notation, worst case analysis, amortized analysis, basic analysis of randomized algorithms), data structures (e.g. trees, heaps, priority queues, hash tables, balanced binary search trees), graph algorithms (e.g. BFS, DFS, single source shortest paths, minimum spanning trees, topological sorting), dynamic programming, divide-and-conquer, and NP-completeness (e.g. basic reductions).

Weekplan

The weekplan is preliminary. It will be updated during the course. Under each week there is a number of suggestions for reading material regarding that weeks lecture. It is not the intention that you read all of the papers. It is a list of papers and notes where you can read about the subject discussed at the lecture.

Week Topics Teacher Slides Weekplans Materials
Approximate Data Structures I: Bloom filters. Christian 1x1 Bloom Filters
Approximate Data Structures II: Distance Oracles Christian
Approximate Data Structures III: Approximate Near Neighbor Search (Locality Sensitive Hashing) Inge 1x1 · 4x1 LSH
Distributed Computing I: Introduction, Coloring on a path. Inge
Distributed Computing II: SSSP and APSP Christian
Distributed Computing III: Randomized graph coloring. Christian
Streaming I:
Introduction, majority, Misra-Gries, Approx counting.
Inge 1x1 · 4x1 Streaming I
Streaming II:
Approximate Counting and Frequency estimation.
Christian
Streaming III:
Sketching, CountMin sketch.
Inge 1x1 · 4x1 Streaming III
Streaming IV:
Graph Streaming.
Christian
Massively Parallel Computing Christian mpc
TBA Christian
Course Roundup, Questions, Future Perspectives Christian & Inge N/A N/A Note: class starts 9:15.

Frequently Asked Questions

How can I access the listed reading material? Why are some of the links are behind a paywall? We typically link to material using standard doi's or publication venue links. We do this since these are stable over time and allow you to uniquely identify the material. To access these (at no cost) you sometimes need to use academic search engines or library services provided by DTU. Ask your teacher if you are unfamiliar with how to use these tools.

What do I do if I want to do a MSc/BSc thesis or project in Algorithms? Great! Algorithms is an excellent topic, and our algorithms courses are designed to prepare you to write a strong thesis. Some basic tips and points.