====== 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]].