Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
Detail předmětu
FSI-VCPAk. rok: 2025/2026
Předmět si klade za cíl naučit studenty používaným metodám a návykům při vytváření softwarových řešení používaných v průmyslu. Student se dozví co je DevOps, kontejner, Unit-testing, apod. a tím ovládne nejpotřebnější znalosti, které jsou již průmyslovým standardem.
Předmět se zabývá výukou algoritmizace a programování. Pro praktickou výuku jsou používány programovací jazyk C#. Jazyk C# je v současnosti jedním z nejužívanějších programovacích jazyků. K jeho velkým výhodám patří jeho univerzální použitelnost pro nejrůznější aplikační oblasti a dostupnost pro většinu existujících platforem. Jazyk C# se vykazuje velmi vysokým stupněm implementace rysů objektově orientovaného programování. Překladač jazyka C# bývá k dispozici pro různě platformy, samotný jazyk je velmi dobře standardizován. Tyto rysy činí jazyk C# jedním z nejvhodnějších jazyků pro tvorbu rozsáhlých aplikací v současné době.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Pravidla hodnocení a ukončení předmětu
Zápočet: Účast na cvičeních a zpracování zadaných programů v C#.
Zkouška: ústní, diskuse nad zpracovanými projekty s možnými doplňujícími otázkami. Klasifikace je plně v kompetenci vyučujícího podle platných směrnic VUT v Brně.
Přítomnost na přednáškách je doporučená, na cvičeních povinná. Výuka probíhá podle rozvrhu. Stanovení formy náhrady zameškaných cvičení je v kompetenci vyučujícícho.
Učební cíle
Hlavním cílem kurzu je naučit se programovat profesionálně v prostředí průmyslu. Student se naučí používat základní a pokročilé prostředky pro profesionální softwarový vývoj, včetně potřebných návyků.
Výuka je prováděna na podkladu programování v jazyce C# jako prostředku softwarového vývoje. Student se naučí formulovat algoritmy pro širokou škálu inženýrských úloh, programovat v jazyku C# a pochopit rysy objektově orientovaného programování a metodiku návrhu a tvorby programu s využitím OOP.
Studenti získají základní dovednosti a zkušenosti při psaní a ladění programů středního stupně obtížnosti s využitím programovacího jazyka C# s využitím DevOps prostředků. Studenti zvládnou technologii OOP pro návrh a realizaci projektů v jazyce C#.
Studijní opory
KIM, G., WILLIS, J., The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, 2016, 1942788002
SMART, J. F., JENKINS, 2011, 1449305350
CHACON, S., STRAUB, B., Pro Git, Second Edition, Available https://git-scm.com/book/en/v2 [cited: 21.11.2024]
Základní literatura
Doporučená literatura
Zařazení předmětu ve studijních plánech
specializace AIŘ , 2 ročník, zimní semestr, povinný
Přednáška
Vyučující / Lektor
Osnova
1. Softwarové inženýrství, terminologie, specifika vývoje softwaru ve strojním inženýrství.2. Životní cyklus SW. DevOps. CI/CD. Version control.3. Koncept testování, analýzy a review. TDD.4. Používané paradigmata vývoje softwaru. Role softwarového specialisty ve všech etapách životního cyklu softwaru.5. Základní problémy a používané metody při vývoji softwaru. Metody vývoje v týmu z hlediska spolupráce více vývojářů, metriky a kvalita softwaru. Používané nástroje.6. Vývojová prostředí, lintery, normy - tooling.7. Provoz a údržba softwaru.8. Implementace softwaru.9. Používané metody modelování softwaru, UML.10. Must-have znalosti softwarového vývojáře - Kontejnery, Caching, Logging11. Must-have znalosti softwarového vývojáře - Messaging, Monitoring, Telemetrie12. Must-have znalosti softwarového vývojáře - Orchestrace/Choreografie, Trasovatelnost13. Must-have znalosti softwarového vývojáře - Použití AI při vývoji softwaru
Cvičení s počítačovou podporou
1. Vývojové prostředí Visual Studio/ VS Code. Jednoduchá konzolová aplikace.2. Principy a typy programovacích jazyků. Společné řídicí struktury programovacích jazyků.3.-5. Základy OOP, datové struktury. Návrh a realizace konzolové aplikace v jazyce C#.6. Refaktorizace I: rozdělení projektu do funkčních bloků. SW balíčky.7. Refaktorizace I: verzování projektu, práce v týmu. GIT.8. Refaktorizace II: koncept TDD, unit-testing.9. Refaktorizace III: Statická analýza kódu. Čitelnost kódu. Použití linterů.10. Kontejnerizace softwaru.11. Refaktorizace IV: základní metody monitoringu stavu aplikace, telemetrie.12. Refaktorizace IV: trasovatelnost.13. Případové studie, konzultace.