====== Lectures ====== ^ Date ^ Lecture ^ Topic ^ Slides ^ Code ^ Video ^ | 18.02.2026 | 1 | [[courses:be5b33pge:lectures:lecture_1|Basic data structures - arrays, sets, dictionaries, algorithmic complexity motivation]] | {{ :courses:be5b33pge:lectures:l1_intro_strctures.pdf | Lecture 1}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_01/l1_intro_strctures.ipynb?ref_type=heads | Notebook 1}} | {{youtube>gzlxDZBEINM?medium}} | | 25.02.2026 | 2 | [[courses:be5b33pge:lectures:lecture_2|2D arrays (matrices), array processing (search, cumulative sum)]] | {{ :courses:be5b33pge:lectures:l2_matrices_processing.pdf | Lecture 2}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_02/l2_matrices_processing.ipynb?ref_type=heads | Notebook 2}} | | 04.03.2026 | 3 | [[courses:be5b33pge:lectures:lecture_3|Strings, text processing, string edit distance, files]] | {{ :courses:be5b33pge:lectures:l3_strings_io.pdf | Lecture 3}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_03/l3_strings_io.ipynb?ref_type=heads | Notebook 3}} | | 11.03.2026 | 4 | [[courses:be5b33pge:lectures:lecture_4|Numpy arrays]] | {{ :courses:be5b33pge:lectures:l4_numpy_arrays.pdf | Lecture 4}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_04/l4_numpy_arrays.ipynb?ref_type=heads | Notebook 4}} | | 18.03.2026 | 5 | [[courses:be5b33pge:lectures:lecture_5|Array processing II (sliding window, sorting, convolution, sparse matrices)]] | {{ :courses:be5b33pge:lectures:l5_array_processing.pdf | Lecture 5}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_05/l5_array_processing.ipynb?ref_type=heads | Notebook 5}} | | 25.03.2026 | 6 | [[courses:be5b33pge:lectures:lecture_6|ADT - trees, stacks, queues]] | {{ :courses:be5b33pge:lectures:l6_adt.pdf | Lecture 6}} {{ :courses:be5b33pge:lectures:calculator.pdf | Example}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_06/l6_adt.ipynb?ref_type=heads | Notebook 6}} {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_06/example/calculator.ipynb?ref_type=heads | Example}} | | 01.04.2026 | 7 | Refresher lecture (preparation for midterm) | | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/tree/main/src/pge_lectures/midterm_examples?ref_type=heads | Midterm examples }} | | 08.04.2026 | 8 | [[courses:be5b33pge:lectures:lecture_7|Trees and recursion I]] | {{ :courses:be5b33pge:lectures:l7_recursion.pdf | Lecture 7}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_07/l7_recursion.ipynb?ref_type=heads | Notebook 7}} | | 15.04.2026 | 9 | [[courses:be5b33pge:lectures:lecture_8|Trees and recursion II]] | {{ :courses:be5b33pge:lectures:l8_recursion.pdf | Lecture 8}} {{ :courses:be5b33pge:lectures:l8b_trees.pdf | Tree examples}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_08/l8_recursion.ipynb?ref_type=heads | Notebook 8}} | | 22.04.2026 | 10 | [[courses:be5b33pge:lectures:lecture_9|OOP, PyGame]] | {{ :courses:be5b33pge:lectures:l9_oop_pygame.pdf | Lecture 9}} {{ :courses:be5b33pge:lectures:pygame_basics_demo.py | pygame demo}}| {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_09/l9_oop_pygame.ipynb?ref_type=heads | Notebook 9}} | | 29.04.2026 | 11 | [[courses:be5b33pge:lectures:lecture_10|Scientific Python libraries - data loading, processing and visualization]] | {{ :courses:be5b33pge:lectures:l10_scipy_sciviz.pdf | Lecture 10}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_10/l10_scipy_sciviz.ipynb?ref_type=heads | Notebook 10}} | | 06.05.2026 | 12 | [[courses:be5b33pge:lectures:lecture_11|Run time estimation, profiling, asymptotic complexity]] | {{ :courses:be5b33pge:lectures:l11_algorithmic_complexity.pdf | Lecture 11}} | {{ https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures/-/blob/main/src/pge_lectures/lecture_11/l11_algorithmic_complexity.ipynb?ref_type=heads | Notebook 11}} | | 13.05.2026 | 13 | Rector's day | | | | 20.05.2026 | 14 | Reserve, preparation for exam | | | ====== Supplementary material for lectures ====== {{https://cw.fel.cvut.cz/b242/_media/courses/be5b33pge/lectures/py_cheatsheet.pdf || NumPy (& string + list) cheatsheet }} The supplementary materials (interactive Jupyter notebooks) for the lectures are located here: [[https://gitlab.fel.cvut.cz/pge-student-materials/pge_lectures|pge_lectures@FEL Gitlab]] 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, [[https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html|Conda]] or [[https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html|Mamba]]. Video guide on how to use the lectures: {{youtube>x8oHhoLuytY?medium}} Slides and supplementary materials to lectures will be added progressively during the semester, as this course is going through changes.