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

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