Detail předmětu

Seminář Java

FIT-IJAAk. rok: 2019/2020

Objektová orientace. Přehled vlastností jazyka Java. Objektový model,
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 programovacích technik v Javě a návrhových vzorů.

Prerekvizity

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

Doporučená nebo povinná literatura

Internetové zdroje: http://download.oracle.com/javase/8/docs/ ; http://download.oracle.com/javase/tutorial/ (EN)
Rudolf Pecinovský: Myslíme objektově v jazyku Java, 2. vydání, Grada Publishing, 2008, ISBN 978-80-247-2653-3 (CS)
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft: Java 8 in Action (Lambdas, streams, and functional-style programming). Manning, 2015.
Eckel, B.: Thinking in Java (4th Edition), 2006, ISBN: 978-0131872486 [starší edice dostupné elektronicky na WWW] (EN)
Cay S. Horstmann: Java SE8 for the Really Impatient: A Short Course on the Basics, Addison-Wesley Professional, 2014, ISBN-13: 978-0321927767 (EN)
Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680

Způsob a kritéria hodnocení


  • Získat nejméně 1 bod z každého domácího úkolu.
  • Získat nejméně 50% bodů z projektu
  • Získat alespoň 50 bodů v celkovém součtu.

Jazyk výuky

čeština, 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 BIT bakalářský, 2. ročník, letní semestr, 4 kredity, povinně volitelný

  • Program IT-BC-3 bakalářský

    obor BIT , 2. ročník, letní semestr, 4 kredity, povinně volitelný

Typ (způsob) výuky

 

Seminář

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Úvod do jazyka Java: historie, nástroje, distribuce. Základní pojmy: objekt, třída, rozhraní, 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. Assert.
  4. Abstraktní třída, rozhraní. Typová zaměnitelnost. Pole.
  5. Objektově orientovaný návrh a implementace v jazyce Java.
  6. Nástroje: generování dokumentace, Java Archive (JAR), Apache Ant, JUnit (ladění programu). Anotace.
  7. Výjimky. Vnořené třídy, výčtový typ, varargs. Lambda výrazy.
  8. Kontejnery: iterátor, kolekce, seznam, množina a mapa. Generické kontejnery. For-each loop, autoboxing.
  9. Vlákna (threads): plánování, sdílení, synchronizace.
  10. Grafické uživatelské rozhraní JFC/Swing. Vzory MVC, Observer a Command.
  11. Vstup/Výstup. Sokety. Proudové zpracování kolekcí.
  12. Java 8: rozhraní, generics. Zásady programování v Javě.
  13. JVM: zavádění tříd, správa paměti, garbage collector, profiling.

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova


  1. domácí úkoly
  2. projekt (malá aplikace v Javě)

eLearning