Experimental algorithmics and its relation to the theoretical analysis of algorithms.
Software systems for the experimental analysis of algorithms: libraries of efficient implementations, test sets (generators), tools for vizualization and animation.
A survey of statistical methods for working with experimental data: A random sample from normal distribution, parameter estimates and tests of hypotheses about parameters, methods for determination of the necessary sample size. Sequential analysis. Tests of normality, influence of non-normality on the results, robust methods. Tests of independence.
Obtaining data for experiments with algorithms, random generators, methods for sampling from existing collections.
Software systems for statistical data analysis.
Examples of experimental analysis of the time complexity of algorithms (sorting, graph algorithms, hashing and others), interpretation of results and comparison with theoretical results.
Individual elaboration of an experimental study of behavior of some algorithm (depending on the student's own choice).
Major goals, basic methods and software tools of experimental algorithmics. An illustration of using statistical methods in experimental studies of algorithm behavior. Sampling methods and simulation of data sets for experiments with algorithms.
Individual students' project: the experimental study of some algorithm. Basic knowledge of statistics is required.