Název:

Seminář Java

Zkratka:IJA
Ak.rok:2018/2019
Semestr:letní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
BIT-2.povinně volitelný - skupina T
IT-BC-3BIT2.povinně volitelný - skupina T
Vyučovací jazyk:čeština
Kredity:4 kredity
Ukončení:zápočet
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:0260013
 zkouškatestycvičenílaboratořeostatní
Body:0000100
Garant:Kočí Radek, Ing., Ph.D. (UITS)
Zástupce garanta:Janoušek Vladimír, doc. Ing., Ph.D. (UITS)
Přednášející:Kočí Radek, Ing., Ph.D. (UITS)
Cvičící:Kočí Radek, Ing., Ph.D. (UITS)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav inteligentních systémů FIT VUT v Brně
Prerekvizity: 
Základy programování (IZP), UIFS
Rozvrh:
DenVýukaTýdenMístnostOdDoPSKSkupiny
PoIJA obhajoby2019-05-20A218 13:0017:50
ÚtIJA obhajoby2019-06-04A211 09:0011:50
ÚtIJA obhajoby2019-05-21A218 13:0016:50
StIJA obhajoby2019-05-15A218 08:0018:50
StIJA obhajoby2019-05-22A218 13:0017:50
 
Cíle předmětu:
  Cílem je naučit studenty základy objektově orientovaného programování v jazyce Java.
Anotace:
  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.
Požadované prerekvizitní znalosti a dovednosti:
  Základní znalosti imperativního programování (jazyk C) a algoritmizace.
Získané dovednosti, znalosti a kompetence z 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ů.
Dovednosti, znalosti a kompetence obecné:
  Základy objektově orientovaného programování, znalost základních programovacích technik v Javě a návrhových vzorů.
Proč je předmět vyučován:
  Současná praxe vyžaduje alespoň základní znalosti principů objektově orientovaného programování, programovacích technik a návrhových vzorů. Předmět probírá a cvičí uvedené aspekty na jazyku Java, který je v praxi rozšířeným jazykem pro tvorbu středně složitých až náročných aplikací.
Osnova seminářů:
 
  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, 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.
Osnova ostatní - projekty, práce:
 
  1. domácí úkoly
  2. projekt (malá aplikace v Javě)
Literatura referenční:
 
  • Eckel, B.: Thinking in Java (4th Edition), 2006, ISBN: 978-0131872486 [starší edice dostupné elektronicky na WWW]
  • Cay S. Horstmann: Java SE8 for the Really Impatient: A Short Course on the Basics, Addison-Wesley Professional, 2014, ISBN-13: 978-0321927767
  • Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
Literatura studijní:
 
Kontrolovaná výuka:
  
  • Vypracování domácích úkolů a projektu.
Podmínky zápočtu:
  
  • Získat nejméně 1 bod z každého domácího úkolu.
  • Získat nejméně 50% bodů z projektu
 

Vaše IPv4 adresa: 34.207.82.217