Název:

Seminář Java

Zkratka:IJA
Ak.rok:2017/2018
Semestr:letní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
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)
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
 
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ů.
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]
  • Rudolf Pecinovský: Myslíme objektově v jazyku Java, 2. vydání, Grada Publishing, 2008, ISBN 978-80-247-2653-3
  • 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: 52.23.234.7