Detail předmětu

Praktické aspekty vývoje software

FEKT-CZV-IVSAk. rok: 2024/2025

Základní koncepty použití unixové filosofie při vlastním programování, role testování kódu a vývoj řízený testy, vytváření komponentově orientovaného kódu, odhalování výkonnostních problémů, distribuovaná správa verzí, možnosti paralelizace výpočtů, zpracování velkých objemů dat, praktické zkušenosti vývojářů z firem.

 

Jazyk výuky

čeština

Počet kreditů

5

Studijní opory

Materiály k předmětu jsou k dispozici v e-learningu.

Pravidla hodnocení a ukončení předmětu

Předmět je zakončen zápočtem a zkouškou. Podmínky ukončení jsou upřesněny ve vyhlášce garanta.

Učební cíle

Poznat praktické aspekty vývoje programového vybavení v týmu, porozumět principům aplikací, které usnadňují vytváření a dokumentování projektů skládajících se z komponent, seznámit se možnostmi snadného prototypování grafických uživatelských rozhraní, pochopit předpoklady vzniku úspěšného svobodného software a měření upotřebitelnosti.

 

Doporučená literatura

FOWLER, Martin. Refactoring: Improving the Design of Existing Code. 2nd ed. ADDISON–WESLEY, 2018. ISBN 9780134757681. (CS)
PECINOVSKÝ, Rudolf; HAVELKA, Arnošt.: JUnit 5 : jednotkové testování na platformě Java, Grada, 2019, ISBN: 978-80-271-0733-9. (CS)

Zařazení předmětu ve studijních plánech

  • Program CZV3-Cyber celoživotní vzdělávání - dlouhodobý kurz 2 ročník, zimní semestr, povinně volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod, praktická pravidla pro psaní udržovatelného kódu, refaktorizace a efektivní využití IDE
2. Testování software, TDD (Test-Driven Development) a jeho použití při vývoji v týmu
3. Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
4. Systémy pro distribuovanou správu verzí, GIT
5. Typy dokumentace, generování programové dokumentace z kódu, identifikace existujících komponent a využívání knihoven dostupných na různých platformách
6. Sestavení programů, Make, Cmake a Qmake
7. Uživatelská rozhraní
8. Debugging, bugtracking a QA
9. Nasazení programů
10. Urychlování výpočtů, možnosti paralelizace a profiling 

Laboratorní cvičení

13 hod., povinná

Vyučující / Lektor