Detail předmětu

Seminář Java (v angličtině)

FIT-IJAeAk. rok: 2023/2024

Objektová orientace. Přehled jazyka Java - objekty, třídy, programovací techniky, knihovny, vývojová prostředí. Návrhové vzory. Ladění a údržba programů. Grafická uživatelská rozhraní, vlákna.

Jazyk výuky

angličtina

Počet kreditů

5

Garant předmětu

Vstupní znalosti

Základní znalosti imperativního programování (jazyk C) a algoritmizace.

Pravidla hodnocení a ukončení předmětu

  • Vypracování domácích úkolů a projektu.

Učební cíle

Cílem je naučit studenty základy objektově orientovaného programování v jazyce Java.
Schopnost aplikace objektově orientovaného přístupu k tvorbě aplikací s využitím jazyka Java. Praktická zkušenost s tvorbou grafických uživatelských rozhraní a využitím návrhových vzorů.
Základy objektově orientovaného programování, znalost základních návrhových vzorů.

Prerekvizity a korekvizity

Základní literatura

Harvey Deitel, Paul J. Deitel. Java How to Program, Early Objects. Global edition, 11th edition. PEARSON 2017. ISBN-13: 978-1292223858. 
Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW] 

Doporučená literatura

Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
The Java Tutorials. https://docs.oracle.com/javase/tutorial/
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 & 9 in Action, Second Editition (Lambda, streams, functional and reactive programming). Manning, 2018. 
Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW]

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

  • Program IT-BC-1H bakalářský

    specializace BCH , 0 ročník, zimní semestr, doporučený kurs

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod do jazyka Java: historie, nástroje, distribuce. Základní pojmy: objekt, třída, konstruktor.
  2. Datové typy. Deklarace třídy, modifikátory přístupu. Sestavení a spuštění aplikace, struktura aplikace (balíky), import tříd.
  3. Dědičnost, inicializace objektu, hierarchie dědičnosti (třída Object). Typová konverze.
  4. Abstraktní třída, rozhraní. Typová zaměnitelnost. Pole.
  5. Výjimky. Vnořené třídy, anonymní třídy. Lambda výrazy. Ověřování invariantů (assert).
  6. Kontejnery: iterátor, kolekce, seznam, množina, mapa, komparátory. Výčtový typ.
  7. Vlákna: plánování, sdílení, synchronizace.
  8. Anotace. Ladění programu (JUnit), generování dokumentace, sestavování aplikace (ant, maven), distribuce (java archive).
  9. Objektově orientovaný návrh a implementace v jazyce Java.
  10. Grafické uživatelské rozhraní JFC/Swing a JavaFX. Návrhové vzory MVC, Observer a Command.
  11. Vstup/Výstup. Sokety. Proudové zpracování kolekcí.
  12. Moduly, modulární JDK, runtime image. Generické typy (Generics). Zásady programování v Javě.
  13. JVM: zavádění tříd, správa paměti, garbage collector, profiling.

Cvičení na počítači

12 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Základy jazyka Java, první aplikace, práce s balíčky a třídami, kompilace a spuštění z příkazové řádky.
  2. Řídicí struktury, pole, výčtový typ, datové typy. Základy objektové orientace.
  3. Kolekce.
  4. Vlákna.
  5. Grafické uživatelské rozhraní. Návrhové vzory.
  6. Nástroje (jar, javadoc, ant, maven).

Projekt

14 hod., povinná

Vyučující / Lektor

Osnova

  1. Úkoly procvičující znalosti základních vlastností jazyka Java.
  2. Projekt - malá aplikace v Javě včetně grafického uživatelského rozhraní.