|
Vyučující
|
-
Křivda Pavel, Ing.
-
Le David, Ing.
-
Šimerda Karel, Ing.
-
Diviš Roman, Ing. Ph.D.
-
Karták Štěpán, Ing.
-
Rak Josef, RNDr. Ph.D.
|
|
Obsah předmětu
|
Program přednášek a cvičení: 1. Úvodní informace; UML - class diagram, základní relace; návrh a implementace kolekce ArrayList založené na dynamicky rostoucím poli 2. Jednotkové testování (unit testing); dědičnost; polymorfizmus; návrh a implementace frameworku pro jednotkové testování 3. Výjimky; unit testing - test doubles; aplikace výjimek pro realizaci třídy Assert 4. Reflexe - základy, použití; genericita - typové parametry, omezené typové parametry, type erasure; implementace generické kolekce ArrayList 5. Funkcionální programování - lambda výrazy, funkcionální interface, Stream API, Optional, Record; Implementace podpory pro Stream API v ArrayList; 6. Unit testing - návrh a implementace frameworku založeného na reflexi; JUnit framework - použití, vytváření testů 7. Vytváření objektů, Singleton, Factory, Clone, Dependency Injection 8. Java IO; Java NIO - buffers, channels, nonblocking IO; Návrh a implementace webserveru založeném na Java IO/NIO 9. Návrh a implementace webserveru založeném na middleware pipeline; Spojový seznam - LinkedList 10. Rozšíření webserveru založeném na middleware pipeline - aplikace pokročilých konceptů (DI, MVC, Stream, ...) 11. Textové a binární soubory - čtení a zápis dat; serializace; json/xml 12. Classpath; Ant; Maven; Gradle; Java moduly 13. Opakování teoretických a praktických poznatků Program cvičení odpovídá programu přednášek, na cvičení jsou vypracovávány úlohy zaměřené na procvičení probíraných témat.
|
|
Studijní aktivity a metody výuky
|
Přednášení, Dialogická (diskuze, rozhovor, brainstorming), Demonstrace, Nácvik dovedností
- Domácí příprava na výuku
- 65 hodin za semestr
- Příprava na zkoušku
- 30 hodin za semestr
- Semestrální práce
- 50 hodin za semestr
- Účast na výuce
- 65 hodin za semestr
|
|
Výstupy z učení
|
Seznámit se s praktickou aplikací konceptů objektově orientovaného přístupu v jazyce Java, základy UML diagramů pro popis objektového modelu, principy a praktickým použitím jednotkového testování.
Po úspěšném absolvování předmětu umí absolvent uplatňovat objektově orientovaný přístup v jazyce Java.
|
|
Předpoklady
|
Předpokladem jsou znalosti a dovednosti z předmětu BZAPR (Základy programování).
|
|
Hodnoticí metody a kritéria
|
Ústní zkouška, Didaktický test, Rozhovor
Podmínkou k udělení zápočtu je vypracování a obhajoba průběžně zadaných 10 úkolů na cvičeních v jednotlivých týdnech semestru. V průběhu zkouškového období jsou realizovány minimálně 2 termíny na opravné zápočty, pro zisk opravného zápočtu je třeba dodatečně splnit všechny podmínky pro zisk řádného zápočtu a na opravném termínu rovněž vypracovat praktický příklad v časovém limitu (1:30 hod). Pro splnění zkoušky je třeba zvládnout písemný test z teoretických i praktických otázek (na min. 60 % bodů) a splnit ústní zkoušku (zaměřenou na teoretické i praktické poznatky OOP v Javě a schopnost uplatnit tyto poznatky při návrhu či úpravách kódu). Pro splnění zkoušky je třeba dosáhnout alespoň 60 % bodů v ústní části zkoušky (hodnotící stupeň E). Detailní požadavky včetně termínů odevzdání jednotlivých částí jsou zveřejněny na začátku semestru a poskytnuty studentům v systému Moodle.
|
|
Doporučená literatura
|
-
PECINOVSKÝ, Rudolf. Java 8: Úvod do objektové architektury pro mírně pokročilé.. raha: Grada Publishing, 2014. ISBN 978-80-247-4638-8.
-
Pecinovský, Rudolf. Myslíme objektově v jazyku Java : kompletní učebnice pro začátečníky. Praha: Grada, 2009. ISBN 978-80-247-2653-3.
-
SCHILDT, Herbert. Java 8: výukový kurs.. Brno: Computer Press, 2016. ISBN 80-251-0615-2.
|