We will learn the field of algorithm engineering which

guiding principle is to bridge the gap between theory and practice. There

are many well-known cases where classical theory of algorithms

inadequately describes behavior of algorithm in practice such as

simplex algorithm, quicksort, graph planarity, graph minor etc.

Consequently it is of great importance to obtain good implementation

and to experimentally examine the algorithm. During the course we

will look at the algorithm engineering process and its phases:

realistic models of computation, algorithm design, algorithm

implementation, beyond worst-case analysis, experiments, generating

realistic inputs, and creating algorithmic libraries.

- nosilec: Jurij Mihelič