|
Vyučující
|
|
|
|
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.
|