Algorithms are at the core of every computer application. Traditionally, the emphasis in algorithms research has been on the theory behind efficient algorithms. While this has had profound impact in many application areas, the step from theoretically efficient algorithms to effective practical solutions is far from trivial. Algorithm Engineering is a new paradigm that unifies the design, analysis, implementation and experimental evaluation of practical algorithms. Its aim is to bridge the gap between algorithmic theory and the software tools running on modern computers. This is achieved by combining traditional theoretical methods with realistic models for both application-specific problems and computer hardware. Success stories of good Algorithm Engineering practice exist in many fields of economy, technology and science and include the development of the Google search engine, route planning algorithms in navigation devices and the assembly of the human genome.
Date: Nov 4 – Dec 23, 2014
Target audience: Computer Science students
Program: This course will introduce the basic Algorithm Engineering principles and illustrate the power of practice-oriented algorithm design by means of several examples from different applications including Google’s pagerank algorithm, clustering in data analysis and network modules in
bioinformatics. Form: lectures, theoretical and practical exercises, and final project.