Vyučující
|
-
Vařacha Pavel, Ing. Bc. Ph.D.
|
Obsah předmětu
|
V oblasti čistého kódu předmět probírá následující koncepty: Smysluplná jména Funkce Komentáře Formátování Objekty a datové struktury Zpracování chyb Hranice Jednotkové testy Třídy Systémy Vývoj Souběžnost Postupné vylepšování V oblasti profesionalismu předmět probírá následující koncepty: Saying No Saying Yes Coding Test Driven Development Practicing Accptance Testing Testing Strategies Time Management Estimation Pressure Collaboration Teams and Projects V oblasti aplikovaných návrhových vzorů předmět probírá především: Command Flyweight Observer Prototype Singleton State Double Buffer Game Loop Update Method Bytecode Subclass Sandbox Type Object Component Event Queue Service Locator V oblasti open-source engine Godot si studenti prakticky osvojují práci s následujícími koncepty: Základní architektura engine Godot editor GDScript Signály Scény Animace Široká rodina uzlů používaných pro vývoj 2D aplikací Závěrečný projekt Studenti řeší závěrečný projekt na zadané téma, které je unikátní pro každá ročník. Pomocí praktického programování v prostředí Godot engine a jazyků GDSript nebo C#. Při této práci studenti prakticky aplikují teoretické poznatky obsažené v předchozích čtyřech sekcích.
|
Studijní aktivity a metody výuky
|
Cvičení na počítači
- Účast na výuce
- 42 hodin za semestr
|
Předpoklady |
---|
Odborné znalosti |
---|
Předpokladem je znalost algoritmizace, programování a orientace v jazycích C++, C# a Python. Očekává se, že student získal zápočet z odborné angličtiny na úrovni předmětu AP7A1 a je schopen se běžne orientovat v anglicky psaných textech. Další znalosti a dovednosti studenta musí odpovídat minimální úrovní nezbytné pro zvládnutí předmětů: AP1PA Programování a algoritmizace AP1DS Databázové systémy AP1VS Nástroje pro vývoj softwarových projektů AP2OP Objektové programování a návrhové vzory AP3AF Aplikační frameworky AP4TS Testování software |
Předpokladem je znalost algoritmizace, programování a orientace v jazycích C++, C# a Python. Očekává se, že student získal zápočet z odborné angličtiny na úrovni předmětu AP7A1 a je schopen se běžne orientovat v anglicky psaných textech. Další znalosti a dovednosti studenta musí odpovídat minimální úrovní nezbytné pro zvládnutí předmětů: AP1PA Programování a algoritmizace AP1DS Databázové systémy AP1VS Nástroje pro vývoj softwarových projektů AP2OP Objektové programování a návrhové vzory AP3AF Aplikační frameworky AP4TS Testování software |
Výsledky učení |
---|
Vysvětlit pravidla psaní čistého kódu. |
Vysvětlit pravidla psaní čistého kódu. |
Popsat architekturu open-source engine Godot. |
Popsat architekturu open-source engine Godot. |
Charakterizovat skriptovací jazyk GDScript. |
Charakterizovat skriptovací jazyk GDScript. |
Vysvětlit pravidla profesní etiky programátora. |
Vysvětlit pravidla profesní etiky programátora. |
Popsat návrhové vzory aplikované v počítačových hrách. |
Popsat návrhové vzory aplikované v počítačových hrách. |
Odborné dovednosti |
---|
Psát software odolný vůči změnám dle pravidel čistého kódu. |
Psát software odolný vůči změnám dle pravidel čistého kódu. |
Programovat 2D aplikaci s využitím open-source engine Godot. |
Programovat 2D aplikaci s využitím open-source engine Godot. |
Vytvářet skripty v jazyce GDSrcipt. |
Vytvářet skripty v jazyce GDSrcipt. |
Aplikovat návrhové vzory v praktických situacích. |
Aplikovat návrhové vzory v praktických situacích. |
Přejímat legacy kód do vlastního týmového projektu. |
Přejímat legacy kód do vlastního týmového projektu. |
Vyučovací metody |
---|
Odborné znalosti |
---|
Analýza prezentace |
Analýza prezentace |
Individuální práce studentů |
Individuální práce studentů |
Práce studentů ve dvojicích |
Práce studentů ve dvojicích |
Odborné dovednosti |
---|
Práce studentů ve dvojicích |
Práce studentů ve dvojicích |
Cvičení na počítači |
Cvičení na počítači |
Týmová práce |
Týmová práce |
Hodnotící metody |
---|
Odborné znalosti |
---|
Analýza prezentace studenta |
Analýza prezentace studenta |
Známkou |
Známkou |
Analýza výkonů studenta |
Analýza výkonů studenta |
Doporučená literatura
|
-
Erich GAMMA, Richard HELM, Ralph JOHNSON, John VLISSIDES. Design Patterns: Elements of Reusable Object-Oriented Software. 1994. ISBN 0201633612.
-
Michael C. FEATHERS. Working Effectively with Legacy Code. 2004. ISBN 9780131177055.
-
Robert C. MARTIN. Clean Agile: back to basics.. Boston, 2020. ISBN 978-0-13-578186-9.
-
Robert C. MARTIN. Clean architecture: a craftsman's guide to software structure and design.. London, 2018. ISBN 978-0-13-449416-6.
-
Robert C. MARTIN. Čistý kód: návrhové vzory, refaktorování, testování a další techniky agilního programování.. Brno, 2009. ISBN 9788025122853.
-
Robert C. MARTIN. The clean coder: a code of conduct for professional programmers.. Upper Saddle River, 2011. ISBN 978-0-13-708107-3.
-
Robert NYSTROM. Game Programming Patterns Autor Robert Nystrom. 2014. ISBN 0990582906.
|