Vyučující
|
-
Bílek Václav, Ing. Ph.D.
-
Macek Vladimír, Ing.
-
Krůs Zdeněk, Ing. Ph.D.
-
Šilhánek Jan, Ing.
-
Mašek René, Ing.
-
Holeček Miloš, Ing.
-
Polášek Pavel, Ing. Ph.D.
-
Hajduch Vladimír, doc. Ing. Ph.D.
-
Van Woensel Libor, Ing. Ph.D.
-
Šlechtová Dana, Ing. Ph.D.
-
Yildiz Vlastimil, Ing.
-
Voříšek Ondřej, Ing.
|
Obsah předmětu
|
Co je programování, algoritmus, vývojové diagramy (jako nástroj myšlení). Myšlení jako programátor. Proč Python (výhody, oblasti použití pro elektrotechniky). Představení vývojových prostředí. Základní stavební kameny Pythonu a Git - proměnné, datové typy (čísla, stringy, booleany). Základní operátory. Vstup a výstup. Úvod do verzovacího systému Git: Co je Git, proč ho používat. Základní workflow (repozitář, clone, add, commit, push, pull). Nastavení a používání pro sdílení materiálů. Řídicí struktury programu a úvod do objektů - podmíněné příkazy (if-elif-else, match-case). Logické operátory. Cykly (for, while), break, continue. Co je objekt a třída? Ukázky na vestavěných typech (listy, stringy) a jejich metodách (.append(), .upper()). Motivace pro pozdější OOP. Datové struktury - seznamy (list), n-tice (tuple). Metody, iterace, slicing. Slovníky (dict), množiny (set). Základní operace. Funkce - stavební bloky programu. Definice a volání funkcí, parametry, návratové hodnoty. Rozsah platnosti. Lambda funkce. Princip DRY a KISS. Rozklad problému na funkce. Algoritmizace komplexnějších úloh. Práce se soubory a ošetřování chyb. Čtení a zápis textových souborů (CSV, JSON). Základní práce se souborovým systémem. Chybové stavy a ošetřování výjimek. AI v programování: Jak AI používat efektivně a zodpovědně jako nástroj. Limity, etika. Detailní pohled na OOP. Třídy, objekty (instance), konstruktor. Atributy a metody. self. Základní pilíře OOP: Zapouzdření (vlastnosti). Dědičnost. Polymorfismus. Principy dobrého návrhu: KISS, DRY, SOLID. Moduly a balíčky: Organizace kódu, importy. Tvorba vlastních modulů. Testování softwaru. Proč testovat? Unit testování. Assertions. Psaní testovacího kódu. Efektivní používání debuggeru v IDE. Dokumentace a čistota kódu - docstringy, komentáře. PEP 8, formátovače kódu. Práce s vybranými knihovnami a praktické aplikace, základy tvorby GUI.
|
Studijní aktivity a metody výuky
|
- Vypracování seminární práce v bakalářském studijním programu [5-40]
- 8 hodin za semestr
- Kontaktní výuka
- 52 hodin za semestr
- E-learning [dáno e-learningovým kurzem]
- 36 hodin za semestr
- Kontaktní výuka
- 16 hodin za semestr
- Příprava na dílčí test [2-10]
- 6 hodin za semestr
- Příprava na souhrnný test [6-30]
- 10 hodin za semestr
- Příprava na zkoušku [10-60]
- 30 hodin za semestr
|
Předpoklady |
---|
Odborné znalosti |
---|
ovládat základní středoškolské znalosti z matematiky |
Odborné dovednosti |
---|
ovládat základní středoškolské dovednosti z matematiky |
ovládat běžně dostupnou výpočetní techniku |
Obecné způsobilosti |
---|
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje, |
bc. studium: kriticky přistupuje ke zdrojům informací, informace tvořivě zpracovává a využívá při svém studiu a praxi, |
bc. studium: efektivně využívá moderní informační technologie, |
Výsledky učení |
---|
Odborné znalosti |
---|
vymezit přehled základních datových typů, řídících struktur |
vysvětlit základní algoritmy, datové struktury (cykly, práce s poli a řetězci, vyhledávání a třídění, operace vstupu a výstupu, použití metod, práce s třídami a objekty) |
Odborné dovednosti |
---|
implementovat základní algoritmy, datové a řídící struktury (cykly, práce s poli a řetězci, vyhledávání a třídění, operace vstupu a výstupu, použití metod, práce s třídami a objekty) |
aplikovat získané znalosti při tvorbě jednodušších aplikací zaměřených na elektrotechniku |
navrhnout, vytvořit a odladit aplikaci na základě slovního zadání |
Obecné způsobilosti |
---|
bc. studium: samostatně a odpovědně se na základě rámcového zadání rozhodují v souvislostech jen částečně známých, |
bc. studium: samostatně získávají další odborné znalosti, dovednosti a způsobilosti na základě především praktické zkušenosti a jejího vyhodnocení, ale také samostatným studiem teoretických poznatků oboru, |
Vyučovací metody |
---|
Odborné znalosti |
---|
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
Výuka podporovaná multimédii, |
Odborné dovednosti |
---|
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
Samostatná práce studentů, |
Výuka podporovaná multimédii, |
Obecné způsobilosti |
---|
Přednáška s diskusí, |
Cvičení (praktické činnosti), |
Výuka podporovaná multimédii, |
Hodnotící metody |
---|
Odborné znalosti |
---|
Kombinovaná zkouška, |
Výstupní projekt, |
Test, |
Odborné dovednosti |
---|
Kombinovaná zkouška, |
Výstupní projekt, |
Test, |
Obecné způsobilosti |
---|
Kombinovaná zkouška, |
Výstupní projekt, |
Test, |
Doporučená literatura
|
-
Bartz, Eva; Bartz-Beielstein, Thomas. Online machine learning : a practical guide with examples in Python. 2024. ISBN 978-981-99-7006-3.
-
Corke, Peter I. Robotics, vision and control : fundamental algorithms in Python. 3rd edition. 2023. ISBN 978-3-031-06468-5.
-
Gupta, Pramod; Bagchi, Anupam. Essentials of Python for artificial intelligence and machine learning. 2024. ISBN 978-3-031-43724-3.
-
Herlihy, Maurice; Shavit, Nir. The art of multiprocessor programming. Boston : Elsevier, 2012. ISBN 978-0-12-397337-5.
-
Liu, Yuxi. Python machine learning by example : unlock machine learning best practices with real-world use cases. Fourth edition. 2024. ISBN 978-1-83508-562-2.
-
Lutz, Mark. Learning Python : powerful object-oriented programming. 6th edition. 2025. ISBN 978-1-098-17130-8.
-
Robbins, Philip. Python programming for beginners : the complete guide to mastering Python in 7 days with hands-on exercises?top secret coding tips to get an unfair advantage and land your dream job!. 2023. ISBN 9798376161821.
-
Rumpe Bernhard. Software Engineering and Formal Methods. Springer Berlin Heidelberg, 2016. ISBN 9783662492239.
|