Detail předmětu

Seminář Java (v angličtině)

IJAe Ak. rok 2024/2025 zimní semestr 5 kreditů

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.

Garant předmětu

Koordinátor předmětu

Jazyk výuky

anglicky

Zakončení

klasifikovaný zápočet (písemná)

Rozsah

  • 26 hod. přednášky
  • 12 hod. pc laboratoře
  • 14 hod. projekty

Bodové hodnocení

  • 20 bodů půlsemestrální test (12 bodů písemná část, 8 bodů testová část)
  • 40 bodů projekty
  • 40 bodů domácí úkoly

Zajišťuje ústav

Přednášející

Cvičící

Cíle předmětu

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ů.

Doporučené prerekvizity

Požadované prerekvizitní znalosti a dovednosti

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

Literatura studijní

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

Literatura referenční

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

Osnova přednášek

  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.

Osnova počítačových cvičení

  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).

Osnova ostatní - projekty, práce

  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í.

Průběžná kontrola studia

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

Rozvrh

DenTypTýdnyMístn.OdDoKapacitaPSKSkupInfo
Út přednáška 1., 2., 5., 6., 7., 8., 9., 10., 11., 12., 13. výuky E105 08:0009:5070 INTE xx Kočí
Út poč. lab 2., 5., 6., 7., 9., 10., 12. výuky N104 N105 10:0011:5020 INTE xx Kočí
Nahoru