Pokročilé programovací techniky

Studijní plán: Aplikovaná informatika - kombi, platný od ZS 2024/2025

PředmětPokročilé programovací techniky (PPT)
GarantujeKatedra technických studií (KTS)
GarantIng. Marek Musil
Jazykčesky
Počet kreditů4
Prezenční studium
Přednáška1 h
Cvičení2 h
Kombinované studium
Cvičení12 h
Studijní plán Typ Sem. Kred. Ukon.
Aplikovaná informatika - kombi, platný od ZS 2024/2025 PV 5 4 kr. KZ
Aplikovaná informatika - platný od ZS 2024/2025 PV 5 4 kr. KZ

Sylabus

  • Principy a techniky extrémního programování 
  • Pokročilá práce s IDE, pracovní prostředí, GIT 
  • Vývoj aplikace s GUI, vrstvy aplikace, předávání dat, obsluha chybových stavů 
  • Mechanismus výjimek (exceptions) – praktické uplatnění 
  • Pokročilé datové struktury, jejich implementace a využití 
  • Datové kolekce programovacích jazyků, implementace složitých datových struktur (seznam seznamů) 
  • Hromadné zpracování dat – metodika, postupy, ošetření chyb, logování 
  • XML 
  • Dokumentace kódu, dokumentační komentáře 
  • Refaktoring a generování kódu 
  • Ladění aplikace, krokování, ladící výstupy 
  • Testování jednotek, testy řízený vývoj, testování UI 
  • Integrační testy, kontinuální integrace 
  • Čistý kód 
  • Programování v páru 
  • Návrhové vzory, programování proti rozhraní 
  • Knihovny 
  • Dynamické programování 
  • Projekt. 

Doporučená literatura

  • Studijní opora v LMS Moodle.
  • KHORIKOV, Vladimir. Unit testing: principles, practices, and patterns. Shelter Island, NY: Manning, [2020]. ISBN 9781617296277.
  • KOUSHIK, Das. Create an Enterprise-Level Test Automation Framework with Appium: Using Spring-Boot, Gradle, Junit, ALM Integration, and Custom Reports with TDD and BDD Support. Apress; 1st ed. edition (12 Aug. 2022), 2022. ISBN 1484281969.
  • TIBI, Adam. Pragmatic Test-Driven Development in C# and .NET: Write loosely coupled, documented, and high-quality code with DDD using familiar tools and libraries. Packt Publishing, 2022. ISBN 9781803230191.
  • SIMION, Adelina. Test-Driven Development in Go: A practical guide to writing idiomatic and efficient Go tests through real-world examples. Packt Publishing (21 April 2023), 2023. ISBN 1803247878.
  • HAVELKA, Arnošt a PECINOVSKÝ, Rudolf. JUnit 5: jednotkové testování na platformě Java. Knihovna programátora (Grada). Praha: Grada Publishing, 2018. ISBN 978-80-271-0733-9.
  • VIRIUS, Miroslav. Java: programování podprocesů (vláken). Praha: Grada Publishing, 2021. Knihovna programátora (Grada). ISBN 978-80-271-3266-9.
  • BECK, Kent Extrémní programování. Praha: Grada, 2002. Moderní programování. ISBN 80-247-0300-9.
  • BECK, Kent Programování řízené testy. Praha: Grada, 2004. Moderní programování. ISBN 80-247-0901-5.
  • ROY, Uttam K.Advanced Java Programming. 1. vyd. India: Oxford Unviersity Press, 2015, ISBN 978-0-19-9455.50-8.
  • HEROUT, Pav.el Testování pro programátory. České Budějovice: Kopp, 2016. ISBN 978-80-7232-481-1
  • STEPHENS, Matt a Doug ROSENBERG Testování softwaru řízené návrhem. Brno: Computer Press, 2011. ISBN 978-80-251-3607-2.
  • FREEMAN, Eric a Elisabeth ROBSON. Head First Design Patterns: A Brain-Friendly Guide: Building Extensible and Maintainable Object-Oriented Software. O'Reilly (WILEY UK); 2nd edition (5 Jan. 2021), 2021. ISBN 149207800X.

Anotace

Předmět se zaměřuje na plné pochopení role programátora ve vývojovém týmu. Student si především ujasní vhodné praktiky a pravidla pro maximalizaci vlastního programátorského výkonu od plného využití vlastností vybraného IDE přes pravidla systematické restrukturalizace kódu až k pochopení smyslu kontinuální integrace. Současně s tím budou také nastíněny techniky a postupy pro získání plné kontroly nad vyvíjenou aplikací. Pro programování a vývoj je v rámci předmětu využito více programovacích jazyků (C++, Java, .NET/C#, …). Součástí týmové práce je využití verzovacího prostředí (GIT). 



Znalosti: Student zná principy a techniky extrémního programování, zná vývojová prostředí pro vývoj aplikací, zná datové kolekce a jejich vnitřní implementace. Student zná principy testování a zná jednotlivé typy testů, zná nástroje xUnit pro implementaci testů. Student zná význam dokumentačních komentářů a nástroje pro generování dokumentace. Student zná principy dynamického programování. Student zná podstatu návrhových vzorů, kriteriální dělení návrhových vzorů a zástupce jednotlivých kategorií. Student zná techniky vytváření programových modulů a knihoven, zná nástroje používané pro předávání informace mezi vrstvami aplikace. 


 


Dovednosti: Student umí popsat principy a techniky extrémního programování, umí vyjmenovat jednotlivé techniky a umí je aplikovat v řadě reálných příkladů (aplikací). Student umí používat nástroj xUnit pro implementaci testů, umí vyjmenovat a popsat jednotlivé typy testů, umí využít jednotlivé typy testů v reálných problémech programování. Student umí použít dokumentační komentáře, umí aplikovat nástroje generování dokumentace. Student umí používat programové moduly a knihovny, umí implementovat knihovnu a využít nástrojů mechanismu výjimek („exceptions”) pro předávání informace mezi vrstvami aplikace. Student umí programovat proti rozhraní a vytvářet moduly nezávislé na uživatelském rozhraní aplikace. Student je schopen implementovat problém hromadného zpracování dat, načíst data seznamů a naplnit datovou strukturu, zpracovat data a uložit výsledky kategorizace do souboru textového nebo souboru xml.  


 


 


Obecné způsobilosti: Student má přehled o extrémního programování a je schopen využít techniky extrémního programování při realizaci projektu a také jako plnohodnotný člen týmu. Student je schopen pracovat v týmu a uplatnit se jako plnohodnotný člen týmu při realizaci projektu. Student umí používat nástroje určené pro vývoj aplikací.  Student je schopný získané znalosti prezentovat a obhájit.


^ nahoru ^

Pracuji, vyčkejte prosím