Programování v Pythonu
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
BI-PYT.21 | KZ | 5 | 3C | česky |
- Garant předmětu:
- Vojtěch Vančura
- Přednášející:
- Cvičící:
- Mohamed Bettaz, Ondřej Bouchala, Jiří Hanuš, Jan Šafařík, Martin Šlapák, Vojtěch Vančura
- Předmět zajišťuje:
- katedra softwarového inženýrství
- Anotace:
-
Předmět nemá přednášky, výuka probíhá v počítačové učebně. Cílem předmětu je naučit se efektivně používat základní řídící a datové struktury jazyka Python pro zpracování textů a binárních dat. Budou vysvětleny rozdíly mezi filozofií programů v Pythonu a v jiných programovacích jazycích. Každé téma je studentům k dispozici předem ve formátu Jupyter notebook, což umožní dát větší důraz na samostatnou práci studentů. Před každou kontaktní výukou studenti absolvují krátký test zejména na látku probíranou v předchozí hodině, dále budou řešit 4 domácí úkoly většího rozsahu a semestrální práci.
- Požadavky:
-
Předmět předpokládá znalost verzovacího systému git na úrovni předmětu BI-GIT a základní znalost programování v jiném programovacím jazyce (C, C++, Java) alespoň na úrovni předmětu BI-PA1.
- Osnova přednášek:
-
Předmět nemá přednášky.
- Osnova cvičení:
-
1. Úvod do Pythonu. Virtuální prostředí. Syntaxe.
2. Základní typy a operátory. Podmínky, cykly.
3. Seznamy, n-tice, množiny, slovníky. Výřezová a generátorová notace.
4. Funkce. Anotace funkcí, Dekorátory.
5. Generátory. Třídy, Iterátory.
6. Souborový systém, příkazová řádka
7. Moduly. Balíčky.
8. Numpy. Dimenze, tvar, osy, velikost. N-rozměrná výřezová notace. Broadcasting, vektorizace funkce.
9. Grafické operace s Numpy. Konvoluce.
10. Pandas. Podmínky, seskupování, řazení, spojování. SQL a pandas.
11. Streamlit a webové miniaplikace pro data science.
12. Unit testy. Pytest. Asserting, Fixtures.
13. Obhajoba semestrální práce.
- Cíle studia:
- Studijní materiály:
-
1. McKinney W. : Python for Data Analysis (2nd Edition). O'Reilly, 2017. ISBN 978-1491957660.
2. Lutz M. : Learning Python. O'Reilly, 2013. ISBN 978-1-449-35573-9.
3. Necaise R. D. : Data Structures and Algorithms Using Python. John Wiley & Sons, 2011. ISBN 978-047061829.
4. Horstmann C.S., Necaise R.D. : Python for Everyone (2nd Edition). John Wiley & Sons, 2016. ISBN 978-1-119-18665-6.
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://courses.fit.cvut.cz/BI-PYT/
Na cvičení budou studenti potřebovat vlastní notebook (alespoň jedno cvičení v počítačové učebně zajištěno).
Na tento předmět navazuje v magisterském studiu předmět Pokročilý Python.
- Další informace:
- https://courses.fit.cvut.cz/BI-PYT/
- Rozvrh na zimní semestr 2024/2025:
- Rozvrh není připraven
- Rozvrh na letní semestr 2024/2025:
- Rozvrh není připraven
- Předmět je součástí následujících studijních plánů:
-
- Bc. specializace Informační bezpečnost, 2021 (volitelný předmět)
- Bc. specializace Manažerská informatika, 2021 (volitelný předmět)
- Bc. specializace Počítačová grafika, 2021 (PS)
- Bc. specializace Počítačové inženýrství, 2021 (volitelný předmět)
- Bc. program, pro fázi studia bez specializace, 2021 (VO)
- Bc. specializace Webové inženýrství, 2021 (povinně volitelný předmět, volitelný předmět)
- Bc. specializace Umělá inteligence, 2021 (povinně volitelný předmět, volitelný předmět)
- Bc. specializace Teoretická informatika, 2021 (volitelný předmět)
- Bc. specializace Softwarové inženýrství, 2021 (volitelný předmět)
- Bc. specializace Počítačové systémy a virtualizace, 2021 (volitelný předmět)
- Bc. specializace Počítačové sítě a Internet, 2021 (volitelný předmět)
- Bc. specializace Informační bezpečnost, 2024 (volitelný předmět)
- Bc. program, pro fázi studia bez specializace, 2024 (VO)
- Bc. specializace Manažerská informatika, 2024 (volitelný předmět)
- Bc. specializace Počítačová grafika, 2024 (PS)
- Bc. specializace Softwarové inženýrství, 2024 (volitelný předmět)
- Bc. specializace Webové inženýrství, 2024 (povinně volitelný předmět, volitelný předmět)
- Bc. specializace Počítačové sítě a Internet, 2024 (volitelný předmět)
- Bc. specializace Počítačové inženýrství, 2024 (volitelný předmět)
- Bc. specializace Počítačové systémy a virtualizace, 2024 (volitelný předmět)
- Bc. specializace Umělá inteligence, 2024 (povinně volitelný předmět, volitelný předmět)
- Bc. specializace Teoretická informatika, 2024 (volitelný předmět)