Detail předmětu
Praktické aspekty vývoje software
FIT-IVSAk. rok: 2017/2018
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
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Studenti se naučí řešit projekty. Zdokonalí se v praktickém užívání programátorských nástrojů, které se používají v reálném prostředí softwarových týmů.
Prerekvizity
Způsob a kritéria hodnocení
Osnovy výuky
- Osnova přednášek:
- Úvod, praktická pravidla pro psaní udržovatelného kódu, refaktorizace a efektivní využití IDE
- Testování software, TDD (Test-Driven Development) a jeho použití při vývoji v týmu
- Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
- Systémy pro distribuovanou správu verzí, GIT
- 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
- Sestavení programů, Make, Cmake a Qmake
- Uživatelská rozhraní
- Debugging, bugtracking a QA
- Půlsemestrální test
- Nasazení programů
- Urychlování výpočtů, možnosti paralelizace a profiling
- Programovací jazyky a paradigmata, SWIG a práce se starším kódem
- Přednáška pozvaných expertů z firemní praxe
- Definice testů (18 bodů)
- Projekt zaměřený na spolupráci v týmu (52 bodů)
Osnova ostatní - projekty, práce:
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
- Půlsemestrální písemný test (30 bodů)
- Projekty (celkem 70 bodů)
Prerekvizity a korekvizity
- doporučená prerekvizita
Úvod do softwarového inženýrství - doporučená prerekvizita
Základy programování
Základní literatura
Doporučená literatura
S. A. Babkin: The Practice of Parallel Programming. Create Space, 2010. https://www.createspace.com/3438465
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Úvod, praktická pravidla pro psaní udržovatelného kódu, refaktorizace a efektivní využití IDE
- Testování software, TDD (Test-Driven Development) a jeho použití při vývoji v týmu
- Týmová spolupráce, komunikace, sdílení dat v týmu, základy návrhu a plánování projektu
- Systémy pro distribuovanou správu verzí, GIT
- 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
- Sestavení programů, Make, Cmake a Qmake
- Uživatelská rozhraní
- Debugging, bugtracking a QA
- Půlsemestrální test
- Nasazení programů
- Urychlování výpočtů, možnosti paralelizace a profiling
- Programovací jazyky a paradigmata, SWIG a práce se starším kódem
- Přednáška pozvaných expertů z firemní praxe