Course detail
Practical Aspects of Software Design
FEKT-CZV-IVSAcad. year: 2025/2026
Not applicable.
Language of instruction
Czech
Number of ECTS credits
5
Mode of study
Not applicable.
Guarantor
Department
Study aids
Not applicable.
Rules for evaluation and completion of the course
Not applicable.
Aims
Not applicable.
Prerequisites and corequisites
Not applicable.
Basic literature
Not applicable.
Recommended reading
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)
PECINOVSKÝ, Rudolf; HAVELKA, Arnošt.: JUnit 5 : jednotkové testování na platformě Java, Grada, 2019, ISBN: 978-80-271-0733-9. (CS)
Classification of course in study plans
- Programme CZV3-Cyber Lifelong learning - long-term course 2 year of study, winter semester, compulsory-optional
Type of course unit
Lecture
26 hod., optionally
Teacher / Lecturer
Syllabus
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
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