| Date | Lecture | Topic | Slides | Code |
|---|---|---|---|---|
| 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 | Scientific Python libraries - data loading and processing | Lecture 9 | Notebook 9 |
| 29.04.2026 | 11 | Scientific Python libraries - visualization | Lecture 10 | Notebook 10 |
| 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.