[[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B232/public/html/predmety/57/20/p5720406.html|Timetable at FEE]] [[https://intranet.fel.cvut.cz/en/education/rozvrhy-ng.B232/public/html/paralelky/P57/20/par5720406.1.html|Students of PGE]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] ====== Lectures ====== ^Lecture^ Day ^ Topics ^ Codes/slides ^ | **1.** | 21.2. | Lists, arrays, dictionaries | {{ :courses:be5b33pge:lectures:arr1create.py | create }}, {{ :courses:be5b33pge:lectures:arr1access.py | access }}, {{ :courses:be5b33pge:lectures:arr1append.py | append }}, {{ :courses:be5b33pge:lectures:arr1insert.py | insert }}, {{ :courses:be5b33pge:lectures:arr1delete.py | delete }} | | **2.** | 28.2. | 2D arrays, prefix sum, 1Dim search | {{ : courses:be5b33pge:lectures:arrays2d.py | 2D fill, generate, analyze }} {{ :courses:be5b33pge:lectures:arr1search.py | search}} {{ :courses:be5b33pge:lectures:prefixsum.py | prefixsum.py }} | | **3.** | 6.3. | Strings and text files \\ //Data are available in the practices section// | {{ :courses:be5b33pge:lectures:strings1.py | strings1 }} {{ :courses:be5b33pge:lectures:strings2.py | strings2}} {{ :courses:be5b33pge:lectures:strings3.py | strings3 }} {{ :courses:be5b33pge:lectures:strings4.py | strings4 }} {{ :courses:be5b33pge:lectures:strings5.py | strings5 }} {{ :courses:be5b33pge:lectures:textfiles.py | textfiles}} {{ :courses:be5b33pge:lectures:climate1.py | climate1 }} {{ :courses:be5b33pge:lectures:climate2.py | climate2 }} | | **4.** | 13.3. | Sliding window, speed issues overview | {{ :courses:be5b33pge:lectures:binsearch.py |binsearch.py }}, {{ :courses:be5b33pge:lectures:sentinel.py|sentinel.py }}, {{ :courses:be5b33pge:lectures:slidingwindow.py | slidingwindow.py }}, {{ :courses:be5b33pge:lectures:sorts.py |sorts.py}} | | **5.** | 20.3. | Library support for searching and sorting, complexity of searching and sorting and other tasks. | {{ :courses:be5b33pge:lectures:05combinations.py | combinations.py}}, {{ :courses:be5b33pge:lectures:05maxsumsubseq.py | maxsumsubseq.py}}, {{ :courses:be5b33pge:lectures:05nestedloops.py | nestedloops.py }}, {{ :courses:be5b33pge:lectures:05searchspeeds.py |searchspeeds.py}}, {{ :courses:be5b33pge:lectures:05sorts.py | sorts.py }}, {{ :courses:be5b33pge:lectures:05sortspeeds.py |sortspeeds.py}} | | **6.** | 27.3. | Trees and recursion I, principles, simple examples | {{ :courses:be5b33pge:lectures:recursive1.py| recursive1}} {{ :courses:be5b33pge:lectures:recursive2.py | recursive2}} {{ :courses:be5b33pge:lectures:recursive3.py | recursive3}} | | **7.** | 3.4. | //Midterm week// | | | **8.** | 10.4. | Trees and recursion II | {{ :courses:be5b33pge:lectures:binarytree1.py | binarytree1.py }},{{ :courses:be5b33pge:lectures:binarytree2.py | binarytree2.py }} {{ :courses:be5b33pge:lectures:binarytree3.py | binarytree3.py }}, {{ :courses:be5b33pge:lectures:nodeclass.py | nodeclass.py}}, more below in the notes | | **9.** | 17.4. | Python application libraries Numpy, Matplotlib, Scipy with examples of use | {{ :courses:be5b33pge:lectures:numpy0.py | numpy example}} {{ :courses:be5b33pge:lectures:matplotlib0.py | display with mathplotlib }} {{ :courses:be5b33pge:lectures:climate1b.py | display climate data }} {{ :courses:be5b33pge:lectures:climate_data.zip | climate data files}} | | **10.** | 24.4. | Processing Internet data sources | {{ :courses:be5b33pge:lectures:csv0.py | csv0}}, {{ :courses:be5b33pge:lectures:csv1.py | csv1}}, {{ :courses:be5b33pge:lectures:csv2.py | csv2}}, {{ :courses:be5b33pge:lectures:csv3.py |}}, {{ :courses:be5b33pge:lectures:scatterplot.py | matplotlib }}, [[https://www.gapminder.org/data/|Gapminder data source]], [[https://www.kaggle.com/datasets/sudalairajkumar/undata-country-profiles?resource=download|Kaggle data source]] | | **11.** | 1.5. | //State Holiday// | //classes suspended// | | **12.** | 9.5. \\ **Thursday** | Abstract Data Types (ADT) -- stack, queue, tree -- and their implementation | {{ :courses:be5b33pge:lectures:adt2023.pdf | stack, queue,tree - slides }}\\ {{ :courses:be5b33pge:lectures:adtqueue.py | ADT queue }} {{ :courses:be5b33pge:lectures:adtstack.py | ADT stack}} {{ :courses:be5b33pge:lectures:adttree.py | ADT tree }} {{ :courses:be5b33pge:lectures:adtqueuec.py | cyclic queue }} {{ :courses:be5b33pge:lectures:adttreeextnd.py | ADT tree extended examples}} \\ [[https://www.youtube.com/watch?v=x-VTfcmrLEQ|BFS demo video]] , [[https://www.youtube.com/watch?v=NUgMa5coCoE|DFS demo video]] | | **13.** | 15.5. | Package Numpy, speed-up, precision, limitations | {{ :courses:be5b33pge:lectures:numpydemo.py| numpydemo.py }}, {{ :courses:be5b33pge:lectures:integers.py |integers.py}},{{ :courses:be5b33pge:lectures:floats.py| floats.py}}, {{ :courses:be5b33pge:lectures:rotatespeed.py | rotatespeed.py}}, {{ :courses:be5b33pge:lectures:columns.py| columns.py }}, [[https://numpy.org/doc/1.21/numpy-user.pdf|User Guide]] | | **14.** | 22.5 | Repetitions and exam examples | {{ :courses:be5b33pge:lectures:examples2021.pdf | set 1 }}, {{ :courses:be5b33pge:lectures:examtrees.py | set 2}}, {{ :courses:be5b33pge:lectures:arrays.py | arrays_tasks}}, {{ :courses:be5b33pge:lectures:recbasic.py | recursion_tasks}} \\ Programming exam examples: \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2021l_be5b33pge/pge2021/evaluation/input.php?task=gallery_py|Gallery Guards]] \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2021l_be5b33pge/pge2021/evaluation/input.php?task=rectanglesarea|Rectangles area]] \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2020l_be5b33pge/pge2020/evaluation/input.php?task=cooppairs_py|Cooperating Robot Pairs]] \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2019l_be5b33pge/pge19/evaluation/input.php?task=secure|Secure Matrix Areas]] | | --- | --- | -- | --- | | **15.** | // not applied in 202$ // | Processing Internet data sources | {{ :courses:be5b33pge:lectures:csv0.py | csv0}}, {{ :courses:be5b33pge:lectures:csv1.py | csv1}}, {{ :courses:be5b33pge:lectures:csv2.py | csv2}}, {{ :courses:be5b33pge:lectures:csv3.py |}}, {{ :courses:be5b33pge:lectures:scatterplot.py | matplotlib }} , [[https://www.gapminder.org/data/|Gapminder data source]], [[https://www.kaggle.com/datasets/sudalairajkumar/undata-country-profiles?resource=download|Kaggle data source]]| | **16.** | // not applied in 2024 // | Estimation of execution time of a code, asymptotic complexity. | {{ :courses:be5b33pge:lectures:lesson01_2021.pdf | asymptotic complexity}}, {{ :courses:be5b33pge:lectures:p01.py | nested loop examples }}, \\ also, consult the example codes in related to speed effectivity in lessons 01-04 mainly | **Notes** Lecture 2. [[https://www.cs.usfca.edu/~galles/visualization/Search.html|Binary search visualisation]] Lecture 4. {{ :courses:be5b33pge:lectures:binsearchdemo.py | binsearchdemo.py }}, using small display module{{ :courses:be5b33pge:lectures:display.py|display.py}}. Lecture 5. {{ :courses:be5b33pge:lectures:05searchsort1.py | 05searchsort1.py}}, {{ :courses:be5b33pge:lectures:05searchsort2.py |05searchsort2.py}}, {{ :courses:be5b33pge:lectures:05searchsort3.py |05searchsort3.py}}, {{ :courses:be5b33pge:lectures:05searchsort4.py |05searchsort4.py}}\\ {{ :courses:be5b33pge:lectures:05combinations.py | combinations.py}}, {{ :courses:be5b33pge:lectures:05maxsumsubseq.py | maxsumsubseq.py}}, {{ :courses:be5b33pge:lectures:05nestedloops.py | nestedloops.py }}, {{ :courses:be5b33pge:lectures:05searchspeeds.py |searchspeeds.py}}, {{ :courses:be5b33pge:lectures:05sorts.py | sorts.py }}, {{ :courses:be5b33pge:lectures:05sortspeeds.py |sortspeeds.py}} Lecture 8. {{ :courses:be5b33pge:lectures:treeincludes.zip |treeincludes }} must be downloaded separately. Lecture 10. [[https://www.gapminder.org/tools/#$model$markers$bubble$encoding$frame$value=1885;;;;;&chart-type=bubbles&url=v1|Gapminder data visualisation]] {{ :courses:be5b33pge:lectures:population_total.txt | population_total }} Application libraries II, Basics of User Interface, TKinter | {{ :courses:be5b33pge:lectures:codetk2.zip | all.zip}} {{ :courses:be5b33pge:lectures:win1.py | win1}} {{ :courses:be5b33pge:lectures:label1.py | label1}} {{ :courses:be5b33pge:lectures:label2.py | label2}} {{ :courses:be5b33pge:lectures:label3.py | label3}} {{ :courses:be5b33pge:lectures:button1.py | button1}} {{ :courses:be5b33pge:lectures:button2.py | button2}} {{ :courses:be5b33pge:lectures:button3.py | button3 }} {{ :courses:be5b33pge:lectures:button4.py | button4}} {{ :courses:be5b33pge:lectures:entry1.py | entry1 }} {{ :courses:be5b33pge:lectures:entry2.py | entry2}} {{ :courses:be5b33pge:lectures:entry3.py | entry3 }} {{ :courses:be5b33pge:lectures:combo1.py | combo1}} {{ :courses:be5b33pge:lectures:combo2.py | combo2}} {{ :courses:be5b33pge:lectures:checkbu1.py | checkbutton1 }} {{ :courses:be5b33pge:lectures:checkbu2.py | checkbutton2}} {{ :courses:be5b33pge:lectures:radio1.py | radio1 }} {{ :courses:be5b33pge:lectures:scroll1.py | scroll1}} {{ :courses:be5b33pge:lectures:scroll2.py |scroll2}} {{ :courses:be5b33pge:lectures:dialog1.py | dialog1}} {{ :courses:be5b33pge:lectures:calc1.py | calc1 }}