Detail předmětu

Objektově orientované programování

FSI-VOB Ak. rok: 2025/2026 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.

Garant předmětu

Výsledky učení předmětu

Prerekvizity

Plánované vzdělávací činnosti a výukové metody

Způsob a kritéria hodnocení

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.

Jazyk výuky

čeština

Cíl

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#.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky

Použití předmětu ve studijních plánech

Program N-MAI-P: Matematické inženýrství, magisterský navazující
obor ---: bez specializace, 3 kredity, volitelný

Program B-STR-P: Strojírenství, bakalářský
obor AIŘ: Aplikovaná informatika a řízení, 3 kredity, povinný

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Osnova

1. Klasifikace programovacích jazyků. Vývoj technologie programování. Charakteristika OOP. TDD.
2. Opakování – jazyk C#, základní pojmy, objektové datové typy, přístup k položkám objektů.
3. Objekt, inicializace instance, konstruktor a destruktor, metody, pole, modifikátory.
4. Dědičnost, hierarchie a vzájemné vztahy objektů, delegát, událost.
5. Přetížení, abstraktnost, virtuální metody,
6. Casting – explicitní a implicitní, converze.
7. Anonymní funkce, serializace apod.
8. IO, proudy dat, task a thread.
9. Vyjímky, LINQ.
10. Návrh aplikace v .NET 8 a vyšším.
11.-12. Objektový návrh, obecná metodika OOP, návrhové vzory.
13. Realizace rozsáhlých projektů.

Cvičení s počítačovou podporou

26 hod., povinná

Osnova

1. Opakování algoritmizace, práce s vývojovým prostředím.
2. Příklady bez využití objektových vlastností.
3.-10. Příklady k tématům probíraným na přednáškách v jazyce C# (Messaging SW s SignalR, Aplikace s Kafka/RabbitMQ).
11., 12. Implementace serverové aplikace v C# (API, Controllers, Minimal API) .
13. Závěrečný test.