Vyučující
|
-
Barabáš Vít, Mgr. Bc.
-
Konopa Michal, Mgr.
-
Jelínek Jiří, Ing. CSc.
|
Obsah předmětu
|
Obsah a osnova předmětu: 1. OOP - základní principy a mechanismy. 2. Vztahy mezi objekty - dědičnost, polymorfismus, interface, abstraktní třída, výjimky, diagram tříd. 3. Genericita a její podpora v Javě - typ jako parametr. 4. Kolekce - Java Collection Framework, iterátory. 5. Vlákna, paralelismus synchronizace. 6. Funkcionální programování, lambda funkce. 7. GUI - událostmi řízený program, javax.swing, JavaFX. 8. Síťování - podpora síťové komunikace v jazyce Java, klient, server. 9. Kritéria kvality návrhu tříd koheze a soudržnost. 10. Týmova spolupráce - repozitáře, Git. Praktická část předmětu (cvičení) kopíruje obsahově přednášky. V rámci cvičení budou studenti v praxi uplatňovat a procvičovat teoretické poznatky z přednášek. Předpokládá se i využití práce v týmech a projektová výuka.
|
Studijní aktivity a metody výuky
|
Monologická (výklad, přednáška, instruktáž), Demonstrace, Projekce (statická, dynamická), Praktická výuka, Případová studie
- Úč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
|
Předpokladem pro tento předmět je úspěšné absolvování předmětu OBP I (UAI/510).
|
Hodnoticí metody a kritéria
|
Písemná zkouška, Rozbor produktů pracovní činnosti studenta (technické práce), Kombinovaná zkouška, Test, Seminární práce, 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 semestrální projekt a absolvovat ústní zkoušku.
|
Doporučená literatura
|
-
DHURI, Debasish Ray. Java 9 Data Structures and Algorithms. Packt Publishing Ltd, 2017. ISBN 9781785888076.
-
EVANS, Ben; FLANAGAN, David. Java in a Nutshell: A Desktop Quick Reference. O'Reilly Media, 2018. ISBN 9781492037224.
-
PECINOVSKÝ, Rudolf. Java 14 - Kompletní příručka jazyka. Grada, 2020. ISBN 978-80-271-1369-9.
-
VIRIUS, Miroslav. Java 2. díl - Knihovny. CVUT Praha, 2020. ISBN 978-80-01-06753-6.
|