| Date | Lecture | Topic | Slides | Code | Video |
|---|---|---|---|---|---|
| 18.02.2026 | 1 | Basic data structures - arrays, sets, dictionaries, algorithmic complexity motivation | Lecture 1 | Notebook 1 | |
| 25.02.2026 | 2 | 2D arrays (matrices), array processing (search, cumulative sum) | Lecture 2 | Notebook 2 | |
| 04.03.2026 | 3 | Strings, text processing, string edit distance, files | Lecture 3 | Notebook 3 | |
| 11.03.2026 | 4 | Numpy arrays | Lecture 4 | Notebook 4 | |
| 18.03.2026 | 5 | Array processing II (sliding window, sorting, convolution, sparse matrices) | Lecture 5 | Notebook 5 | |
| 25.03.2026 | 6 | ADT - trees, stacks, queues | Lecture 6 Example | Notebook 6 Example | |
| 01.04.2026 | 7 | Refresher lecture (preparation for midterm) | Midterm examples | ||
| 08.04.2026 | 8 | Trees and recursion I | Lecture 7 | Notebook 7 | |
| 15.04.2026 | 9 | Trees and recursion II | Lecture 8 | Notebook 8 | |
| 22.04.2026 | 10 | OOP, PyGame intro | coming soon… | coming soon… | |
| 29.04.2026 | 11 | Scientific Python libraries - data loading, processing and visualization | coming soon… | coming soon… | |
| 06.05.2026 | 12 | Run time estimation, profiling, asymptotic complexity | Lecture 11 | Notebook 11 | |
| 13.05.2026 | 13 | Rector's day | |||
| 20.05.2026 | 14 | Reserve, preparation for exam |
| NumPy (& string + list) cheatsheet
The supplementary materials (interactive Jupyter notebooks) for the lectures are located here:
Download the repository and read the instruction for installation in the `README.md` file. It is assumed that you already have Python installed, ideally (but not necessarily) with some Python environment management. For example, Conda or Mamba.
Video guide on how to use the lectures: