02282 Algorithms for Massive Data Sets
When and where Monday 8.15-12, Bldg. 324, room 040. The course runs in the DTU spring semester (Feb. 2 to May 15). There is no teaching in the Easter break (March 30 and April 6).
Piazza The course uses Piazza as onlineforum discussion of material. Sign up here
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 Campusnet. The maximum size of the finished pdf must be at most 2 pages. An exercise from week x must be handed in no later than Sunday in week x before 20.00.
Collaboration policy for mandatory exercises
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.
|Approximation Algorithms I: Scheduling, k-center.||1x1 · 4x1||Approximation Algorithms I||Week 1||
|Integer Data Structures I: Dictionaries, Universal and Perfect Hashing.||1x1 · 4x1||Hashing||Mandatory||
|Integer Data Structures II: Predecessor Problem, van Emde Boas, x-Fast and y-Fast Tries||1x1 · 4x1||Predecessor||Mandatory||
|Trees I: Nearest Common Ancestor, Range Minimum Query||NCA+RMQ||Mandatory||
|Trees II: Level Ancestor, Path Decompositions, Tree Decompositions||1x1 · 4x1||Level Ancestor||Mandatory|
|Trees III: Range Reporting, Range Trees, Fractional Cascading, kD Trees||1x1 · 4x1||Range Reporting||Mandatory||
|Strings I: Dictionaries, Tries, Suffix trees, Suffix Sorting||1x1 · 4x1||Suffix Trees||Mandatory||
|Strings II: Approximate String Matching||Part 1, Part 2||Approximate String Matching||Mandatory||
|Strings III: Compression, Lempel-Ziv, Grammar-compression, and Burrows-Wheeler Transform||1x1||Compression||Mandatory|
|Strings IV: Compressed Pattern Matching||1x1||Compressed Pattern Matching||Mandatory||
|External Memory I: I/O Model, Cache-Oblivious Model, External Dynamic Programming||1x1 · 4x1||External Memory||Mandatory||
|External Memory II: B-trees||1x1||External Memory II||Mandatory||
|Course Roundup, Questions, Future Perspectives|
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 peer-reviewed 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.