Courses

02282 Algorithms for Massive Data Sets, Spring 2017
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02105 Algorithms and Data Structures I, Spring 2017
DTU Compute BSc course. [official description]

02326 Algorithms and Data Structures, Spring 2017
DTU Compute BEng course. [official description]

02110 Algorithms and Data Structures II, Fall 2016
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

Big Data Business Academy, Fall 2016
DTU Business and DTU Compute Executive education course. Joint with multiple teachers from academia and industry.

02106 Algorithms and Data Structures I, Summer 2016
DTU Compute BSc course. Repetition course for 02105 Algorithms and Data Structures I. [official description]

02339 Algorithms and Data Structures, Summer 2016
DTU Compute BEng course. Repetition course for 02326 Algorithms and Data Structures. [official description]

02282 Algorithms for Massive Data Sets, Spring 2016
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02105 Algorithms and Data Structures I, Spring 2016
DTU Compute BSc course. [official description]

02326 Algorithms and Data Structures, Spring 2016
DTU Compute BEng course. [official description]

02940 Algorithms and Data Structures for Compressed Data, Fall 2015
DTU Compute PhD course. Joint with Inge Li Gørtz, Hjalte Wedel Vildhøj, and Patrick Hagge Cording. [official description]

02110 Algorithms and Data Structures II, Fall 2015
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02106 Algorithms and Data Structures I, Summer 2015
DTU Compute BSc course. Repetition course for 02105 Algorithms and Data Structures I. [official description]

02339 Algorithms and Data Structures, Summer 2015
DTU Compute BEng course. Repetition course for 02326 Algorithms and Data Structures. [official description]

02933 Advanced Topics in String Matching, Spring 2015
DTU Compute PhD course. Joint with Inge Li Gørtz.

02282 Algorithms for Massive Data Sets, Spring 2015
DTU Compute MSc course. Joint with Inge Li Gørtz, Hjalte Wedel Vildhøj, and Patrick Hagge Cording. [official description]

02105 Algorithms and Data Structures I, Spring 2015
DTU Compute BSc course. [official description]

02326 Algorithms and Data Structures, Spring 2015
DTU Compute BEng course. [official description]

02110 Algorithms and Data Structures II, Fall 2014
DTU Compute MSc course. Joint with Inge Li Gørtz.

02282 Algorithms for Massive Data Sets, Spring 2014
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02105 Algorithms and Data Structures I, Spring 2014
DTU Compute BSc course. Joint with Inge Li Gørtz. [official description]

02326 Algorithms and Data Structures, Spring 2014
DTU Compute BEng course. Joint with Inge Li Gørtz. [official description]

02121 Introduction to Software Technology, Fall 2013
DTU Compute BSc course.

02282 Algorithms for Massive Data Sets, Spring 2013
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02908 Design of Approximation Algorithms, Fall 2012
DTU Compute PhD course. Joint with Inge Li Gørtz.

02121 Introduction to Software Techology, Fall 2012
DTU Compute BSc course.

02283 Algorithms for Massive Data Sets, Spring 2012
DTU Compute MSc course. Joint with Inge Li Gørtz. [official description]

02933 Advanced Topics in String Matching, Fall 2011
DTU Compute PhD course. Joint with Inge Li Gørtz.

02121 Introduction to Software Techology, Fall 2011
DTU Compute BSc course.

02283 Algorithms for Massive Data Sets, Spring 2011
DTU Compute MSc course. Joint with Inge Li Gørtz and Carsten Witt. [official description]

02122 Software Techology Project, Spring 2011
DTU Compute BSc course.

02121 Engineering Practice, Fall 2010
DTU Compute BSc course.

02283 Algorithms for Massive Data Sets, Spring 2010
DTU Compute MSc course. Joint with Inge Li Gørtz and Carsten Witt. [official description]

02122 Software Techology Project, Spring 2010
DTU Compute BSc course.

Advanced Algorithms, Fall 2008
ITU MSc course. Joint with Thore Husfeldt.

Advanced Algorithms, Fall 2007
ITU MSc course.

Advanced Algorithms, Fall 2006
ITU MSc course. Joint with Anna Pagh and Srinivasa Rao Satti.

Advanced Topics in String Algorithms, Fall 2005
ITU PhD course.

Advanced Algorithms, Fall 2005
ITU MSc course. Joint with Anna Pagh and Srinivasa Rao Satti.

Search Engine Project, Dec. 2004
ITU MSc course. 3-week project course. Joint with Bodil Biering and Søren Debois.

Search Engine Project, Dec. 2003
ITU MSc course. 3-week project course.

Search Engine Project, May 2003
ITU MSc course. 3-week project course. Joint with Nina Bohr.

Distributed Systems, Spring 2003
ITU MSc course. Joint with Christian Worm Mortensen.

Completed MSc., BSc, and B.Eng. Theses

Cache-Concious Dynamic Scheduling for Fast Connected Components Labelling, Spring 2017.
Emil Høiriis Wegener Nielsen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Data Structures for Road Maps, Spring 2017.
Lisa Kirsten Andersen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Data Structures for the Level Ancestor Problem, Fall 2016.
Signe Kudsk Colding-Jørgensen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Random Access to Grammar Compressed Strings, Spring 2016.
Jacopo Fabiani, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Scalable Plagiarism Detection, Spring 2016.
Asger Juul Brunshøj, DTU Compute MSc Thesis. Joint with Inge Li Gørtz and David Kofoed Wind.
In collaboration with Peergrade.io.

Filesystems and Graph Drawing, Spring 2016.
Emad Jacob Maroun, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Ricochet Robots, Spring 2016.
Tobias Slott Jensen, DTU Compute BSc Thesis.

Data Compression of Vibration Signals, Spring 2016.
Signe Kudsk Colding-Jørgensen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Colding A/S.

Algorithms for Dynamic Relative Compression, Spring 2016.
Josefine Tusindfryd and Andreas David Lauritzen, DTU Compute MSc Thesis. Joint with Patrick Hagge Cording and Anders Roy Christiansen.

Algorithms for Analomaly Detection, Spring 2016.
Tobias Tuxen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Milestone Systems.

Implementation and Evaluation of Algorithms for Grammar Compression, Spring 2016.
Simon Holst Albrechtsen and Christian Hildebrand Grevil, DTU Compute BSc Thesis. Joint with Patrick Hagge Cording.

Algorithms for Road Systems Service, Spring 2016.
Niels Christian Kirk, DTU Compute BEng Thesis.
In collaboration with Danish Road Directorate.

Algorithms for Genome Compression, Spring 2016.
Gert Qin Hansen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Department of Clinical Genetics, Rigshospitalet.

Indexing Medical Data, Spring 2016.
Philip Metin Özari, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.
In collaboration with BioBeacon.

Algorithms for Ricochet Robots, Fall 2015.
Anders Rydbirk, DTU Compute BEng Thesis. Joint with Inge Li Gørtz.

Difference Cover Algorithms, Spring 2015.
Oguz Demir, DTU Compute MSc Thesis. Joint with Patrick Hagge Cording and Hjalte Wedel Vildhøj.

Random Access in Grammar Compressed Strings, Spring 2015.
Rasmus David Helmer Pihl, DTU Compute MSc Thesis. Joint with Inge Li Gørtz and Patrick Hagge Cording.

Algorithms for Re-Pair Compression, Spring 2015.
Philip Bratt Ørum and Nicolai Christian Christensen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Search Trees in Practice, Spring 2015.
Theis Frederiksen Hinz, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Multi-String Matching, Spring 2015.
Jonas Holger Hansen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Constructing Small Grammars, Spring 2015.
Sebastian Aleksander Thomsen and Simon Graverholt Søkilde, DTU Compute BSc Thesis. Joint with Patrick Hagge Cording.

Algorithms in Metagenomic Sequencing, Spring 2015.
Tobias Bertelsen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz and Manimozhiyan Arumuga.
In collaboration with The Novo Nordisk Foundation Center for Basic Metabolic Research.

Relative Lempel-Ziv Compression, Spring 2015.
Emil Klarskov Kristensen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Department of Clinical Genetics, Rigshospitalet.

Implementation of Dynamic Trees, Spring 2015.
Imre Dobo, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Compact Representation of Web Graphs, Spring 2015.
Martin Kasban Tange and Mikkel Riber Bojsen, DTU Compute MSc Thesis.

Fast Connected Components Labelling for GPGPU, Fall 2014.
Emil Høiriis Wegener Nielsen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Visiontrace IS.

Personalized Itenerary Planner, Fall 2014.
Ruxandra Nistor and Marius Constantinescu, DTU Compute MSc Thesis.

Algorithms for articles duplication detection, Fall 2014.
Brian Lynnerup Pedersen, DTU Compute BEng Thesis. Joint with Inge Li Gørtz.
In collaboration with Infomedia.

Tree Compression and DAGs, Spring 2014.
Anders Roy Christiansen and Henrik Hannemose, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Educational Planning, Spring 2014.
Christian Valdemar Mathiesen and Alexander Birch Jensen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Edcom A/S.

Constructing Top Trees, Spring 2014.
Frederik Rye Skjoldjensen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for DNA Compression, Fall 2013.
Ditlev Hinnerskov, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Diagram Layout, Fall 2013.
Lars Friberg, DTU Compute BEng Thesis.
In collaboration with The Danish State Archives.

Clustering with MapReduce, Fall 2013.
Daniel Volder Guarnieri, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Microsoft.

Approximation of a Capacitated Network Design Problem, Fall 2013.
Jaspur Højgaard, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Compression on GPUs, Fall 2013.
Anders Nicolaisen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Graph Theory Editor, Spring 2013.
Andreas Ullits Graulund, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Confluent Persistent Data Structures and Version Control, Spring 2013.
Theis Frederiksen Hinz, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Persistence in Practice, Fall 2012.
Sune Keller, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Efficient Plagiarism Detection, Fall 2012.
Kristoffer Henry Hansen and Morten Frøhlich, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with MaCom.

Algorithms for String Comparison on GPUs, Fall 2012.
Kenneth Skovhus Andersen and Lasse Bach Nielsen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Fall 2012.
Anders Bruun Nørring, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Programming Contest, Spring 2012.
Gert Qin Hansen and Anders Roy Christiansen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Spring 2012.
Cæcilie Bach Kjærulf, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Spring 2012.
Rene Folkmann Mouritsen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Set-Set Longest Common Subsequence, Spring 2012.
Helge Munk Jacobsen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Fall 2011.
Morten Scheutz Wiberg Hansen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Web Scraping, Fall 2011.
Patrick Hagge Cording, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Kapow Technologies.

Algorithms for Extended String Matching, Fall 2011.
Hjalte Wedel Vildhøj and Søren Juhl Vind, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms for Longest Common Extensions, Fall 2011.
Jesper Kristensen, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.

Algorithms and Data Structures for Massive Internet Data Sets, Fall 2011.
Jens Henrik Hertz and Martin Ancher Müller Neiiendam, DTU Compute MSc Thesis. Joint with Inge Li Gørtz.
In collaboration with Unispeed A/S.

Search Engine Project, Spring 2011.
Du Nguyen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Efficient Dynamic Programming for Large Scale Biological Sequence Comparison, Spring 2011.
Morten Stöckel, DTU Compute MSc Thesis.

Search Engine Project, Spring 2011.
Lam Thoai Nguyen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Fall 2010.
Renè Ahrenfeldt Weber, DTU Compute BEng Thesis. Joint with Inge Li Gørtz.

Route Similarity, Fall 2010.
Martin Gjaldbæk, DTU Compute MSc Thesis.
In collaboration with Endomondo.

Search Engine Project, Spring 2010.
Jesper Bach and Daniel Svendsen, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Search Engine Project, Spring 2010.
Ditlev Hinnerskov, DTU Compute BSc Thesis. Joint with Inge Li Gørtz.

Regular Expression Matching Using Bit-Parallelism, Fall 2006.
Martin Røpcke, DIKU MSc Thesis. Joint with David Pisinger.

Solutions to CLR(S)

Many years ago I wrote up some solutions to the exercises in the book Introduction to Algorithms by Cormen, Leiserson, Rivest (, and Stein). Solutions were done for edition 1 and 2. Thanks to the many people who have sent me corrections and suggestions.