====== Přednášky ====== Podklady přednášek pro aktuální akademický rok 2022/2023. Jsou dostupné i podklady pro akademický rok [[https://cw.fel.cvut.cz/b191/courses/bab37zpr/lectures/start|2019/2020]], [[https://cw.fel.cvut.cz/b201/courses/bab37zpr/lectures/start|2020/2021]], [[https://cw.fel.cvut.cz/b211/courses/bab37zpr/start|2021/2022]] a [[https://cw.fel.cvut.cz/b221/courses/bab37zpr/start|2022/2023]]. **Podklady tvoří podpůrný materiál a jejich účelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.** Kromě doporučených knih (viz 1. přednáška) doporučujeme on-line knihy: * [[http://openbookproject.net/thinkcs/python/english3e/|How to Think Like a Computer Scientist]] * [[https://pythonnumericalmethods.berkeley.edu/notebooks/Index.html|Python Programming And Numerical Methods: A Guide For Engineers And Scientists]] Jednoduché přiklady včetně řešení: * [[https://www.practicepython.org]], * [[https://www.w3resource.com/python-exercises]], * [[https://www.sanfoundry.com/python-problems-solutions/]] V přednáškách uvedené zdrojové kódy jsou přiloženy v příslušném ''.zip'' archivu. Kromě vyzkoušení programů je též vřele doporučeno si složitější úlohy samostatně naprogramovat a přednáškové příklady využít pro inspiraci. ^ datum ^ č.t. ^ náplň ^ | 25.09.2022 | 01 | [[#informace_o_predmetu_uvod_do_programovani|Informace o předmětu, úvod do programování]] | | 02.10.2022 | 02 | [[#ridici_struktury|Řídicí struktury]] | | 09.10.2022 | 03 | [[#priklady_a_jednoduche_algoritmy|Příklady a jednoduché algoritmy]] | | 16.10.2023 | -- | //Odpadá// | | 23.10.2022 | 04 | [[#slozene_datove_typy|Složené datové typy]] | | 30.10.2022 | 05 | [[#razeni_a_trideni_slozitost|Řazení a třídění, složitost]] | | 06.11.2022 | 06 | [[#slozitejsi_algoritmy_rekurze|Složitější algoritmy, rekurze]] | | 13.10.2022 | 07 | [[#objekty|Objekty]] | | 20.11.2022 | 08 | //Odpadá (děkanský den FEL)// | | 27.11.2022 | 09 | [[#abstraktni_datovy_typ_zasobnik_fronta|Abstraktní datový typ, zásobník, fronta]] | | 04.11.2022 | 10 | [[#stromove_struktury_rozptylovaci_tabulka|Stromové struktury, rozptylovací tabulka]] | | 11.11.2022 | 11 | [[#konecny_automat_regularni_vyrazy|Konečný automat, regulární výrazy]] | | 18.12.2022 | 12 | [[#aplikace_i|Aplikace I.]], [[#aplikace_ii|Aplikace II.]] | | -- | -- | //Zimní prázdniny// | | 08.01.2023 | 13 | [[#predtermin|Předtermín]] | ===== 01. Informace o předmětu, úvod do programování ===== **Témata:** Instalace a správa prostředí. Python v interaktivním režimu. * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2023-lec01.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec01.zip |}} * Cvičení: [[courses:bab37zpr:tutorials:lab01|Úvodní cvičení ze základů programování]] * Zpětná vazba: [[https://docs.google.com/forms/d/e/1FAIpQLSc0xlr9wff4X1Ge-Oiw1C_DbOsW56ZgUVhcFoRrJv1tR4lztg/viewform|formulář]] ===== 02. Řídicí struktury ===== **Témata:** Proměnné a základní datové struktury. Větvení a cykly. Funkce. * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2023-lec02.pdf |}} * Kód z přednášky: {{ :courses:bab37zpr:lectures:zpr-2023-lec02-live.zip |}} * Cvičení: [[courses:bab37zpr:tutorials:lab02|2. Logické výrazy, cykly, podmínky, funkce]] * Příklady: {{ :courses:bab37zpr:lectures:zpr-lec02-codes.zip |}} * Zpětná vazba: [[https://docs.google.com/forms/d/e/1FAIpQLSe_vH8D2XsVVvUeLvA7SETvc0kvKIToJRrlLXaq6ZTXi6Sa_Q/viewform|formulář]] ===== 03. Příklady a jednoduché algoritmy ===== **Témata:** Iterativní algoritmy a algoritmy pracující s náhodnými čísly * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec03.pdf |}} * Příklady: * Zpětná vazba: [[https://docs.google.com/forms/d/e/1FAIpQLSci0ODXfqRLme_JxB7tel-6VBlUBTuEgfy-7V6dtPzAnN2Pwg/viewform|formulář]] ===== 04. Složené datové typy ===== **Témata:** Seznam, pole, textové řetězce. Hodnoty a reference. Globální a lokální proměnné. * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec04.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec04.zip |}} ===== 05. Řazení a třídění, složitost ===== **Témata:** Binární vyhledávání, bubble sort, insertion sort, selection sort, quick sort, časová složitost * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec05.pdf |}} * Příklady: ===== 06. Složitější algoritmy, rekurze ===== **Témata:** Umocňování, součet pole, řetězec pozpátku, detekce palindromu, permutace, hanojské věže * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec06.pdf |}} * Příklady: ===== 07. Objekty ===== **Témata:** Třídy a objekty, přístup k atributům objektu, základní techniky OOP * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec07.pdf |}} * Příklady: ===== 08. Abstraktní datový typ, zásobník, fronta ===== **Témata:** Abstraktní datový typ. Zásobník, fronta, implementace pomocí pole a spojového seznamu * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec08.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec08-codes.zip |}} ===== 09. Stromové struktury, rozptylovací tabulka ===== **Témata:** Binární vyhledávací strom, množiny, mapy * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec09.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec09-codes.zip |}} ===== 10. Konečný automat, regulární výrazy ===== **Témata:** Transformace textu, lexikální analýza * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2020-lec10.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec10-codes.zip |}} ===== 11. Aplikace I. ===== **Témata:** Zpracování časových řad, numerické výpočty, vizualizace dat. * Numpy: {{ :courses:bab37zpr:lectures:zpr-lec11-numpy.pdf |}} * Pandas: {{ :courses:bab37zpr:lectures:zpr-lec11-pandas.pdf |}} * Matplotlib: {{ :courses:bab37zpr:lectures:zpr-lec11-matplotlib.pdf |}} ===== 12. Aplikace II. ===== **Témata:** Zpracování signálu, machine learning (skikit).. * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec12-codes.zip |}} * Prezentace: {{ :courses:bab37zpr:lectures:zpr-2022-lec-13.pdf |}} * Příklady: {{ :courses:bab37zpr:lectures:zpr-2022-lec13-codes.zip |}} * Wokwi projekt: [[https://wokwi.com/projects/380280942145427457|traffic light]] ===== 14. Předtermín ===== Informace o zkoušce [[courses:bab37zpr:zkouska:start|zde]].