| Date | Lecture | Topic | Slides | Code |
|---|---|---|---|---|
| 19.02.2025 | 1 | Basic data structures - arrays, sets, dictionaries, algorithmic complexity motivation | Lecture 1 | Notebook 1 |
| 26.02.2025 | 2 | 2D arrays (matrices), array processing (search, cumulative sum) | Lecture 2 | Notebook 2 |
| 05.03.2025 | 3 | Strings, text processing, string edit distance, files | Lecture 3 | Notebook 3 |
| 12.03.2025 | 4 | Numpy arrays | Lecture 4 | Notebook 4 |
| 19.03.2025 | 5 | Array processing II (sliding window, sorting, convolution, sparse matrices) | Lecture 5 | Notebook 5 |
| 26.03.2025 | 6 | ADT - trees, stacks, queues | Lecture 6 Example | Notebook 6 Example |
| 02.04.2025 | 7 | Refresher lecture (preparation for midterm) | Midterm examples | |
| 09.04.2025 | 8 | Trees and recursion I | Lecture 7 | Notebook 7 |
| 16.04.2025 | 9 | Trees and recursion II | Lecture 8 | Notebook 8 |
| 23.04.2025 | 10 | Scientific Python libraries - data loading and processing | Lecture 9 | Notebook 9 |
| 30.04.2025 | 11 | Scientific Python libraries - visualization | Lecture 10 | Notebook 10 |
| 07.05.2025 | 12 | Run time estimation, profiling, asymptotic complexity | Lecture 11 | Notebook 11 |
| 14.05.2025 | 13 | Rector's day | ||
| 21.05.2025 | 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.