Detail předmětu
Objektově orientované programování
FSI-VOB-K Ak. rok: 2026/2027 Letní semestr
Předmět je zaměřen na objektově orientované programování a jeho použití při návrhu a realizaci softwarových systémů, které odpovídají aktuálním softwarovým požadavkům. Výklad technik OOP je z hlediska metodiky částečně držen v obecné rovině, detaily implementace a praktické příklady používají jazyk C# (volitelně C++). Vývoj softwarových řešení je souladu s požadavky DevOps.
Jazyk výuky
čeština
Počet kreditů
3
Garant předmětu
Zajišťuje ústav
Vstupní znalosti
Předpokládají se základní znalosti algoritmizace a programování v některém procedurálním programovacím jazyce. Znalost jazyka C je výhodou.
Pravidla hodnocení a ukončení předmětu
Pro udělení zápočtu je nutná aktivní účast na cvičeních, vypracování závěrečného testu (max. 50 bodů) a zpracování semestrálního projektu (max. 50 bodů). Studenti si sami volí téma projektu v rámci definovaných témat, projekt je ohodnocen vyučujícím. Pro úspěšné zakončení kursu je nutné získat v součtu alespoň 50 bodů.
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
Cílem je pochopení rysů objektově orientovaného programování a metodiky návrhu a tvorby programu s využitím OOP, které je aplikováno na nejpoužívanější vývojové patterny v průmyslovém prostředí. Seznámit se s podporou objektové technologie v jazyce C# a způsobem jeho vývoje v prostředí DevOps.
Absolvent bude schopen používat technologii objektově orientovaného programování pro návrh a implementaci softwarových systémů s použitím programovacího jazyka C#.
Použití předmětu ve studijních plánech
Program B-STR-K: Strojírenství, bakalářský
specializace AIŘ: Aplikovaná informatika a řízení, povinný
Typ (způsob) výuky
Konzultace v kombinovaném studiu
13 hod., povinná
Osnova
1) Moderní ekosystém C# a .NET
2) Pokročilá práce s třídami
3) Zapouzdření a návrh API
4) Dědičnost – kdy ji použít a kdy ne
5) Polymorfismus a rozhraní
6) Generické typy do hloubky
7) Delegáti, lambda výrazy a události
8) Kolekce a LINQ (v praxi)
9) Zpracování výjimek na úrovni aplikace
10) SOLID a Clean Code v praxi
11) Asynchronní programování (úvod do kontextu OOP)
12) Práce s daty a serializace
13) Aktuální trendy v programování
Konzultace
26 hod., nepovinná
Osnova
1. Tvorba jednoduché doménové aplikace
2. Návrh a implementace vlastních objektů
3. Tvorba API tříd v rámci malé knihovny
4. Modelování hierarchie objektů
5. Návrh modulárního systému pomocí rozhraní
6. Konstrukce generických struktur a služeb
7. Událostmi řízený systém
8. Datové zpracování pomocí kolekcí a LINQ
9. Robustní aplikace s výjimkami
10. Refaktoring miniaplikace dle SOLID
11. Asynchronní mini-aplikace
12. Datová perzistence v reálné aplikaci
13. Samostatný projekt — malá plně OOP aplikace