The theory of (artificial) neural networks is motivated by known facts about central neural system (CNS). The theory proposes mathematical models, which, despite great simplification, possess some features of the natural intelligence. Such models are then used for designing non-conventional computational methods for solving many practical problems.

This is a course for the lecture NAIL002 Neural Networks.

Evolutionary robotics is a technique of automatic programming of autonomous robots. The lecture deals with problems how to learn to solve a problem instead of directly program a solution. Programs modeling evolution (mostly genetic algorithms with artificial neural networks) enable robots to develop their abilities themselves during their interaction with an environment. During seminaries, the students work with simulators of robots and a miniature robot called e-puck.

This is a course for the lecture NAIL065 Evolutionary Robotics.

Traditional computer science techniques and algorithms fail to solve complex biological problems. However, machine learning techniques can be applied to analyse and process huge volume of biological data. The lecture presents several areas where machine learning is used to process biological data.

This is a course for the lecture NAIL107 Machine Learning in Bioinformatics.

A rapid development in the area of data mining is motivated by the necessity to "translate" huge amounts of processed and stored data into meaningful information. This lecture is focused on understanding principal concepts and techniques applicable to data mining. The accompanying seminary comprises a term project consisting in an application of one of the data mining methods on real data.

This is a course for the lecture NDBI023 Data Mining.

Principy logického a funkcionálního programování, vyloženy prostřednictvím programovacích jazyků Prolog a Haskell.

Principles of logic and functional programming, explained through programming languages Prolog and Haskell.

A survey of state-of-the-art algorithms used for both lossless and lossy data compression.

Úvodná prednáška venovaná teoretickým modelom tzv. masívne paralelných výpočtov a ich vzťahu k sekvenčným modelom, základným technikám používaným v paralelných algoritmoch a ťažko paralelizovateľným úlohám.

Now, the techniques of macro-molecular biology enable to obtain a huge amount of biological data, mainly in the form of biological sequences (DNA, RNA and proteins). While trying to understand and utilize the data, a lot of mathematical problems arises. Bioinformatics is a fast growing field of the modern computer science, which plays a crucial rôle for further development of biology. This lecture concentrates on introducing basic algorithmic principles used for solving various biological problems. It is supposed knowledge of programming of the extend similar to the bachelor's course NPRG031 Programming II.

This is a course for the lecture NTIN084 Bioinformatics Algorithms.

A survey of algorithms and data structures for efficient computation of patterns in strings with applications.