Teachers
When and where Monday 8.1512, building 303A, auditorium 49. The course runs in the DTU fall semester. There is no teaching during the autumn break.
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. stacks, queues, linked lists, trees, heaps, priority queues, hash tables, balanced binary search trees, tries), graph algorithms (e.g. BFS, DFS, single source shortest paths, minimum spanning trees, topological sorting), dynamic programming, divideandconquer, and NPcompleteness (e.g. basic reductions).
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  Slides  Weekplan  Mandatory  Material 

Streaming I: Introduction, majority, MisraGries, Approx counting. 
1x1 · 4x1  w1 
Data
Stream Algorithms (lecture notes) R. Morris: Counting Large Numbers of Events in Small Registers 

Streaming II: frequency estimation. 
1x1 · 4x1  wp2 
Data Stream Algorithms (lecture notes) Streaming Algorithms (lecture notes, uni Saarland) Space lower bounds for streaming algorithms P. Flajolet: Approximate Counting: A Detailed Analysis J. S. Vitter: Random Sampling with a Reservoir 

Streaming III: Sketching, CountMin sketch. 
1x1 · 4x1  wp3  A.1 
CountMin
(lecture notes, Moses Charikar, Stanford) Data Stream Algorithms (lecture notes) Lecture notes 

External Memory I: I/O Model, Scanning, Sorting, and Searching.  1x1 · 4x1  External Memory I 


Cancelled  
External Memory II: Bεtrees and String Btrees.  1x1 · 4x1  External Memory II 


External Memory III: CacheOblivious Model, Algorithms, and Data Structures.  1x1 · 4x1  External Memory III  See DTU Learn 


Approximate Data Structures I: Distance Oracles.  1x1 · 4x1  Distance oracles 
distance oracles See weekplan. 

Cancelled  See DTU Learn  
Approximate Data Structures II: Bloom filters.  1x1 · 4x1  Bloom Filters 


Distributed Computing I: Distributed Data Structures and Labeling Schemes.  1x1 · 4x1  Distributed Data Structures  Nearest Common Ancestors: A Survey and a New Algorithm for a Distributed Environment, S. Alstrup, C. Gavoille, H. Kaplan, T. Rauhe.  
Distributed Computing II: Distributed Graph Algorithms  1x1 · 4x1  Distributed Algorithms  See DTU Learn  Distributed Algorithms (section 1.1., 1.2, 1.3, 5.1, 6.1, 6.2, 6.4, 6.5, 6.6), Jukka Suomela  
Question session.  Note: class starts at 10:00. 
Use the template.tex file to prepare your hand in exercises. Do not repeat the problem statement in your hand in. Compile using LaTeX. Upload the resulting pdf file (and only this file) via DTU Learn. The maximum size of the finished pdf must be at most 2 pages (exception: 3 pages for the very first exercise). An exercise from week x must be handed in no later than Sunday in week x before 20.00.
Collaboration policy for mandatory exercises
How should I write my mandatory exercises? The ideal writing format for mandatory exercises is classical scientific writing, such as the writing found in the peerreviewed articles listed as reading material for this course (not textbooks and other pedagogical material). One of the objectives of this course is to practice and learn this kind of writing. A few tips:
How much do the mandatory exercises count in the final grade? The final grade is an overall evaluation of your mandatory exercise and the oral exam combined. Thus, there is no precise division of these part in the final grade. However, expect that (in most cases, and under normal circumstances) the mandatory exercises account for a large fraction of the final grade.
Can I write my assignments in Danish? Ja. Du er meget velkommen til at aflevere på dansk.
What do I do if I want to do a MSc/BSc thesis or project in Algorithms? Great! Algorithms is an excellent topic to work on :) and Algorithms for Massive Data Sets is designed to prepare you to write a strong thesis. Some basic tips and points.