Detail předmětu

Objektově orientované programování

FSI-VOBAk. rok: 2026/2027

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

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

Základní literatura

Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.
Weisfeld, M.: The Object-Oriented Thought Process. Addison-Wesley Professional, 2008.

Doporučená literatura

Prata, S.: Mistrovství v C++, 2. vydání. Computer Press, 2004
Stroustrup, B.: The C++ Programming Language. 3rd Edition. Addison-Wesley Professional, 2000.

Zařazení předmětu ve studijních plánech

  • Program B-STR-P bakalářský

    specializace AIŘ , 2 ročník, letní semestr, povinný

  • Program N-MAI-P magisterský navazující 1 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

13 hod., nepovinná

Vyučující / Lektor

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í

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

26 hod., povinná

Vyučující / Lektor

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