[[https://www.fel.cvut.cz/en/education/rozvrhy-ng.B192/public/html/predmety/57/20/p5720406.html|Timetable at FEE]] [[https://www.fel.cvut.cz/en/education/rozvrhy-ng.B192/public/html/paralelky/P57/20/par5720406.1.html|Students of PGE]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] [[https://cw.felk.cvut.cz/forum/forum-1637.html|Discussion board]] [[https://cw.fel.cvut.cz/wiki/courses/be5b33prg/start|PRG]] ====== Lectures ====== ^Lecture^ Day ^ Topics ^ Slides/codes ^ | **1.** | 19.2. | Estimation of execution time of a code, asymptotic complexity. | {{ :courses:be5b33pge:lectures:lesson01_2019.pdf | pdf }} {{ :courses:be5b33pge:lectures:p01.py | p01.py }} | | **2.** | 26.2. | 1D arrays and lists, prefix sum, binary search. | List: {{ :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 }}, {{ :courses:be5b33pge:lectures:arr1prefsum.py | prefix sum}}, {{ :courses:be5b33pge:lectures:arr1search.py | search}} | | **3.** | 4.3. | 2D arrays and matrices. | {{ :courses:be5b33pge:lectures:arrays2d.py | fill, generate, analyse }} | | **4.** | 11.3. | //lost due to the quarantine // | | | **5.** | 18.3. | //lost due to the quarantine // | | **Distance online form of the course** [[https://docs.google.com/forms/d/e/1FAIpQLSdKFSBTyE7ZhE3CKS1R2bzKaqAbGLkJ0MSxxtzLFmhTavgk7w/viewform?usp=sf_link|Online survey]] ^Lecture^ Day ^ Topics ^ Slides/codes ^ | **6.** | 25.3. | Strings and text files. \\ //the 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:climate1.py | climate2 }} | | **7.** | 1.4. | Library support for searching and sorting, complexity of searching and sorting tasks. | {{ :courses:be5b33pge:lectures:searchsort1.py |search1}}, {{ :courses:be5b33pge:lectures:searchsort2.py |search2}}, {{ :courses:be5b33pge:lectures:searchsort3.py |sort1}}, {{ :courses:be5b33pge:lectures:searchsort4.py |sort2}} | | **8.** | 8.4. | Abstract Data Types (ADT) -- stack, queue, tree -- and their implementation. | {{ :courses:be5b33pge:lectures:adt.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}} | | **9.** | 15.4. | Recursion I, principles, simple examples. | {{ :courses:be5b33pge:lectures:recursive1.py| recursive1}} {{ :courses:be5b33pge:lectures:recursive2.py | recursive2}} {{ :courses:be5b33pge:lectures:recursive3.py | recursive3}} | | **10.** | 22.4. | Recursion II, tree processing, backtrack. | {{ :courses:be5b33pge:lectures:adttree2.py |ADT tree 2}}, {{ :courses:be5b33pge:lectures:adttreeexample.py | tree training example}} | | **11.** | 29.4. | 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 }} | | **12.** | 6.5. | Debugging, testing, writing clean code | | | **13.** | 13.5. | //moved to extended weeks// | | | **14.** | 20.5. | //moved to extended weeks// | | ====== Extended PGE course ====== Decide if the lessons take part in classical personal (classroom) form here: [[https://forms.gle/hZPjARgJ9sXbDN5x5|Reply in poll]]. **Previous year programming exam examples:**\\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2019l_be5b33pge/pge19/evaluation/input.php?task=secure|Secure Matrix Areas]], {{ :courses:be5b33pge:lectures:zksecuremx.py | example solution}} \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2019l_be5b33pge/pge19/evaluation/input.php?task=lpaths|L-paths in a Matrix]], {{ :courses:be5b33pge:lectures:zklpaths.py | example solution}} \\ [[https://cw.felk.cvut.cz/brute/data/ae/release/2019l_be5b33pge/pge19/evaluation/input.php?task=sensitive|Parity Sensitive Matrix Elements]], {{ :courses:be5b33pge:lectures:zkparity.py | example solution }} \\ **More programming exam examples:**\\ [[https://cw.fel.cvut.cz/wiki/courses/be5b33pge/practices/examexample1 |Best Train Connection ]] {{ :courses:be5b33pge:lectures:datapub_besttrain.zip | public data}} {{ :courses:be5b33pge:lectures:example1.py | example solution}}\\ {{ :courses:be5b33pge:lectures:correctsquares.pdf | Correct Squares Identification }}, {{ :courses:be5b33pge:lectures:datapub_correctsq.zip | public data}}, {{ :courses:be5b33pge:lectures:corrsquares.py | solution}} \\ {{ :courses:be5b33pge:lectures:correctrect.pdf |Correct Rectangles Identification }} {{ :courses:be5b33pge:lectures:datapub_correctrect.zip | public data}}, {{ :courses:be5b33pge:lectures:corrrects.py | solution }} | **15.** | Tue 2.6., 13:30 | Programming repetitions I - strings, text files | {{ :courses:be5b33pge:lectures:textfiles.py | text files -repetition}}\\ {{ :courses:be5b33pge:lectures:textfiles2.py | text files 2 }}\\ {{ :courses:be5b33pge:lectures:textfiles3.py | text files 3 - to complete }} \\ {{ :courses:be5b33pge:lectures:climate1a.py | coldest year on record }} \\ (all updated after the lecture) | | **15.** | Wed 3.6., 12:45 | 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 }} | | **16.** | Tue 9.6., 13:30 | Programming repetitions II & III - sorting searching, trees, recursion | check more pgm examples above \\ {{ :courses:be5b33pge:lectures:recursive_101.py | recursion short repetition }} \\ {{ :courses:be5b33pge:lectures:adttreeexample2.py | Tree Examples 2}} \\ {{ :courses:be5b33pge:lectures:adttreeexample3.py | Tree Examples 3}} \\ {{ :courses:be5b33pge:lectures:adttreeexample4.py | Tree Examples 4}} \\ [[https://cw.felk.cvut.cz/courses/a4b33alg/task.php?task=searchnodes|search nodes problem]] {{ :courses:be5b33pge:lectures:searchnodes.py | solution}} \\ [[https://cw.felk.cvut.cz/courses/a4b33alg/task.php?task=sumleaves_py|Sum of Leaves Keys]] {{ :courses:be5b33pge:lectures:sumleaves.py | solution }} \\ [[https://cw.felk.cvut.cz/courses/a4b33alg/task.php?task=pary_py| Neighbour Pairs]] {{ :courses:be5b33pge:lectures:pary.py | solution }}| | **16.** | ?? ?? | Python application libraries SageMath, NetworkX, with examples of use. | //in preparation// | https://cw.felk.cvut.cz/courses/a4b33alg/task.php?task=searchnodes {{ :courses:be5b33pge:lectures:res.txt | list of all expeditions in public data}}