Předmět: Základy programátorské praxe

« Zpět
Název předmětu Základy programátorské praxe
Kód předmětu KIV/ZPP
Organizační forma výuky Přednáška
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Semestr Letní
Počet ECTS kreditů 3
Vyučovací jazyk Čeština
Statut předmětu Povinný, Povinně-volitelný, Volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Schejbal Tomáš, Ing.
Obsah předmětu
1. Úvod do předmětu & Zahájení týmového projektu (TechTower) Partner: TechTower Obsah: Představení předmětu, prezentace zadání skupinového projektu, rozdělení týmů a nastavení vývojových rolí. 2. Verzovací systémy I: Praktický Git od základu po větvení Partner: Freelancer Obsah: Principy verzování, základní workflows, práce s větvemi (merge, rebase, řešení konfliktů), osvědčené postupy (Git convention). 3. Verzovací systémy II: Projektové řízení v GitLabu & CI/CD Partner: Freelancer Obsah: Issues, Merge Requesty, Boards v GitLabu. Úvod do GitLab CI/CD - automatizace sestavení, testování a nasazení. 4. Kontejnerizace I: Úvod do Dockeru Partner: Freelancer Obsah: Virtualizace vs. kontejnery, Architektura Dockeru, instalace, základní příkazy, tvorba Dockerfile a práce s Docker Hub. 5. Agilní řízení projektů v praxi Partner: Unicorn Obsah: Scrum/Kanban rámce, odhadování pracnosti, řízení rizik, metriky týmového výkonu a efektivní komunikace v týmu. 6. Kontejnerizace II: Pokročilý Docker & Orchestrace Partner: Unicorn Obsah: Práce s multi-container aplikacemi pomocí docker-compose.yml, síťování kontejnerů, persistentní data (volumes) a vývojové prostředí v kontejneru. 7. Moderní vývoj napříč platformami & Zapojení AI do vývoje Partner: GK Software Obsah: Kotlin Multiplatform (KMP) v praxi, efektivní využití AI asistentů (Copilot/Claude/ChatGPT) pro psaní, refaktorování a dokumentaci kódu. 8. Enterprise CI/CD Pipelines & Kvalita kódu Partner: Leuze Engineering Obsah: Pokročilé CI/CD workflow na reálném příkladu GUI knihoven, statická analýza kódu, linting a pokročilé testovací strategie. 9. Embedded SW & Automotive Cyber Security (Blok A) Partner: ZF (Kapacita laboratoře 20 studentů / Ostatní pracují na týmovém projektu) Obsah: Vývoj a analýza SW v prototypových vozidlech, specifika embedded vývoje, kybernetická bezpečnost v automotive. 10. Embedded SW & Automotive Cyber Security (Blok B) Partner: ZF (Prohození skupin: Druhá polovina v labu / První polovina práce na projektu) Obsah: Praktické testování a analýza SW za volantem prototypových aut. 11. Kvalita softwaru: TDD (Test-Driven Development) & Refaktoring Partner: ICONICS Obsah: Metodika TDD v praxi (Red-Green-Refactor), psaní jednotkových testů, techniky bezpečného refaktoringu legacy kódu. 12. Průběžná obhajoba a prezentace týmového projektu Obsah: Feedback k rozpracovaným projektům od vyučujících a zástupců TechToweru, kontrola CI/CD a stavu architektury. 13. Infrastruktura jako kód (IaC) & Cloud Partner: Kadel Data Service Obsah: Úvod do Terraformu, automatizovaná konfigurace a provizorní správa virtuálních strojů na AWS (Amazon Web Services). 14. Závěrečný Hackathon & Prezentace finálních projektů Partner: TechTower Obsah: Závěrečná prezentace fungujících řešení před odbornou porotou v prostorách TechToweru, zhodnocení projektů.

Studijní aktivity a metody výuky
  • Kontaktní výuka - 26 hodin za semestr
  • Projekt týmový [20-60 / počet studentů] - 52 hodin za semestr
Předpoklady
Odborné znalosti
Vysvětlit základní ovládání počítače
Odborné dovednosti
Používat operační systém (Windows/Linux)
Využívat počítač na základní úrovni
Efektivně využívat moderní informační technologie
Obecné způsobilosti
bc. studium: efektivně využívá různé strategie učení k získání a zpracování poznatků a informací, hledá a rozvíjí účinné postupy ve svém učení,
bc. studium: své učení a pracovní činnost si sám plánuje a organizuje,
Výsledky učení
Odborné znalosti
Vysvětlit způsob vykonávání počítačového programu
Popsat základní konstrukce programovacího jazyka
Spravovat zdrojový kód
Sestavení a udržitelnost projektu
Odborné dovednosti
Provést dekompozici problému na dílčí podproblémy
Sestavit obecný postup pro řešení zadaného problému
Využívat základní vlastnosti vývojového prostředí
Z obecného postupu vytvořit funkční zdrojový kód
Používat základní konstrukce programovacího jazyka
Obecné způsobilosti
Provádět analýzu problému a jeho dekompozici Jednoznačně formulovat postup potřebný k vyřešení problému
Vyučovací metody
Odborné znalosti
Přednáška s aktivizací studentů,
Samostudium,
Demonstrace dovedností,
Řešení problémů,
Individuální konzultace,
Odborné dovednosti
Demonstrace dovedností,
Prezentace práce studentů,
Řešení problémů,
Individuální konzultace,
Samostatná práce studentů,
Obecné způsobilosti
Přednáška s demonstrací,
Demonstrace dovedností,
Řešení problémů,
Diskuse,
Prezentace práce studentů,
Hodnotící metody
Odborné znalosti
Demonstrace dovedností (praktická činnost)
Odborné dovednosti
Demonstrace dovedností (praktická činnost)
Obecné způsobilosti
Průběžné hodnocení
Doporučená literatura
  • Chacon, Scott. Pro Git. 2009. ISBN 978-80-904248-1-4.
  • KLEMENT, Milan. Virtualizace a instalace OS Windows. Olomouc: Univerzita Palackého v Olomouci, 2015. ISBN 978-80-244-4568-7.
  • Poulton, Nigel. Docker Deep Dive.. 2020. ISBN 9781800565135.
  • Rankin, Kyle. Linux Knoppix na maximum : [100 tipů a řešení pro náročné]. Vyd. 1. Brno: Computer Press, 2006. ISBN 80-251-0993-3.
  • Ruest, Danielle; Ruest, Nelson. Virtualizace : podrobný průvodce. Vyd. 1. Brno: Computer Press, 2010. ISBN 978-80-251-2676-9.
  • Štefánek, Radoslav. Projektové řízení pro začátečníky. Vyd. 1. Brno: Computer Press, 2011. ISBN 978-80-251-2835-0.
  • Valade, Janet. Linux : jdi do toho. 1. vyd. Praha: Grada, 2006. ISBN 80-247-1455-8.
  • Vytlačil, Dalibor. Projektové řízení a řízení projektů.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr