Předmět: Objektové programování II

« Zpět
Název předmětu Objektové programování II
Kód předmětu UAI/520
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia nespecifikován
Četnost výuky V každém akademickém roce, jen v letním semestru.
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk čeština
Statut předmětu Povinný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Jelínek Jiří, Ing. CSc.
Obsah předmětu
Obsah přednášek: 1. Genericita a její podpora vprogramovacím jazyce - typ jako parametr 2. Tvorba grafického rozhraní 1 - základní nástroje 3. Tvorba grafického rozhraní 2 - pokročilé frameworky 4. Multivláknové aplikace - paralelismus a synchronizace 5. Programování síťových aplikací - TCP 6. Programování síťových aplikací - UDP, HTML 7. Funkcionální programování 8. Lambda výrazy - redukce, paralelismus 9. Aplikace s databázemi 10. Zpracování specifických formátů dat - XML, JSON 11. Návrhové vzory 12. Aplikace s AI 13. Týmová spolupráce - repozitáře, Git Obsah cvičení: 1. - 2. Genericita - použití standardních komponent, tvorba vlastních tříd a metod 3. - 4. Tvorba GUI - návrh a implementace GUI pomocí různých frameworků 5. - 6. Multivláknové aplikace - návrh, implementace, nástroje pro řešení synchronizace 7. - P8. Síťové aplikace - protokoly HTTP, TCP, UDP, návrh klienta i serveru 9. Užití funkcionálního programování, použití lambda výrazů ke tvorbě efektivního kódu 10. Práce sdatabází - vstup a výstup dat, objektové mapování 11. Zpracování specifických textových formátů 12. Práce sAI - návrh jednoduché chatovací aplikace 13. Týmová spolupráce - práce sGIT, další možnosti pro podporu teamworku

Studijní aktivity a metody výuky
Monologická (výklad, přednáška, instruktáž), Dialogická (diskuze, rozhovor, brainstorming), Demonstrace, Praktická výuka
  • Účast na výuce - 56 hodin za semestr
  • Příprava na zkoušku - 26 hodin za semestr
  • Semestrální práce - 26 hodin za semestr
  • Domácí příprava na výuku - 22 hodin za semestr
Výstupy z učení
Předmět je druhou částí úvodního kurzu objektového programování, je zaměřen na rozšíření znalostí z první části kurzu a na praktické uplatnění v něm získaných znalostí. Studenti jsou seznamováni se základy OOP a typickými koncepty s touto technikou spojenými (dědičnost, polymorfismus, atd.). Následuje seznámení s principy genericity, kolekcemi, s prací s vlákny, datovými toky a vytváření síťové aplikace s čímž souvisí i použití funkcionálního programování a tvorba GUI.
Absolvent kurzu bude schopen navrhovat a implementovat pokročilé aplikace s grafickým rozhraním využívající knihovny z probíraných témat. Naučí se, jak používat třídy a rozhraní pro práci s vlákny, datovými toky a pro tvorbu síťových aplikací. Absolvent bude dále umět používat pokročilé techniky programování a některé vybrané návrhové vzory.
Předpoklady
Vstupním doporučením pro tento předmět je úspěšné absolvování předmětu OBP I (UAI/510).

Hodnoticí metody a kritéria
Rozbor produktů pracovní činnosti studenta (technické práce), Kombinovaná zkouška, Test, Průběžné hodnocení

Pro úspěšné absolvování předmětu je potřeba řešit průběžné úkoly ve cvičeních, absolvovat dva teoretické testy, vypracovat praktický úkol a absolvovat ústní zkoušku. Na řádném a opravném termínu zápočtu, stejně jako na každém termínu zkoušky jsou zakázány všechny pomůcky, kromě těch, které jsou povoleny vyučujícím.
Doporučená literatura
  • ALBAHARI, Joseph; MUTH, Neil. C# 13 in a Nutshell: The Definitive Reference.. O'Reilly Media, Inc., 2024.
  • JONES, Oliver. unctional Programming in C#: Classic Programming Techniques for Modern Projects. Manning Publications, 2022. ISBN 9781617299827.
  • PRICE, Mark J. C# 13 and .NET 9 ? Modern Cross-Platform Development Fundamentals. Packt Publishing Ltd, 2024.
  • SMYTH, Neil. C# 13 Programming Essentials: .NET 9 Edition. 1. vyd.. Neill Smyth, 2024. ISBN 9781965764015.
  • VIRUS, Miroslav. Programování v C# od základů k profesionálnímu použití. Cosmopolis, 2020. ISBN 891092777.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr