Detail předmětu

Seminář Java (v angličtině)

FIT-IJAeAk. rok: 2019/2020

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

Výsledky učení předmětu

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

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

Doporučená nebo povinná literatura

Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 in Action (Lambdas, streams, and functional-style programming). Manning, 2015.
The Java Tutorials. https://docs.oracle.com/javase/tutorial/
Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486
Bruce Eckel's Free Electronic Books. http://www.ibiblio.org/pub/docs/books/eckel/

Způsob a kritéria hodnocení

  • Vypracovat úkoly.
  • Vypracovat a prezentovat projekt.
  • Získat nejméně 20 bodů z projektu a 50 bodů celkem.

Jazyk výuky

angličtina

Cíl

Cílem je naučit studenty základy objektově orientovaného programování v jazyce Java.

Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky


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

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

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

    obor BCH , libovolný ročník, zimní semestr, 5 kreditů, doporučený

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, Java Virtual Machine (JVM). Základy OO: Objekt, třída, rozhraní, abstrakce, zapouzdření, konstruktory.
  2. Datové typy. Deklarace třídy, modifikátory přístupu. Sestavení a spuštění aplikace, struktura aplikace (balíky), import tříd.
  3. Základy OO: Dědičnost, polymorfismus. Inicializace objektu. Pole. Příkazy, základní operátory. Ladění programu (assert).
  4. Hierarchie dědičnosti, typová kontrola, typová konverze, porovnávání objektů. Rozhraní v Javě. Ladění programu.
  5. Výjimky. Abstraktní třídy, vnořené třídy, výčtový typ, statické třídy a proměnné.
  6. Kontejnery: Iterátor, kolekce, seznam, množina, mapa. Generické kontejnery. For-each loop, autoboxing.
  7. Vlákna (threads): Sdílení, plánování, synchronizace.
  8. Grafické uživatelské rozhraní JFC/Swing. Technika návrhu aplikace.
  9. Vstup/Výstup: Práce se soubory, proudy, komprimace, serializace.
  10. Znovupoužitelnost, návrhové vzory.
  11. Generics. Zásady programování v Javě.
  12. JVM: zavádění tříd, správa paměti, garbage collector, profiling.
  13. Java 2 Enterprise Edition: Základní přehled.

Cvičení na počítači

12 hod., povinná

Vyučující / Lektor

Projekt

14 hod., povinná

Vyučující / Lektor

Osnova


  1. Domácí úkoly,
  2. projekt (malá aplikace s grafickým rozhraním v Javě).

eLearning