Název:

Seminář Java

Zkratka:IJAe
Ak.rok:2012/2013
Semestr:zimní
Vyučovací jazyk:angličtina
Aktuální informace:This course is prepared for LLP/Erasmus students only, and it is instructed in English.
Informace pro zapsané:http://www.fit.vutbr.cz/study/courses/IJAe/private/
Kredity:5 kreditů
Ukončení:klasifikovaný zápočet
Výuka:
hod./sempřednáškasem./cvičenílab. cvičenípoč. cvičeníjiná
Rozsah:26001214
 zkouškatestycvičenílaboratořeostatní
Body:02002060
Garant:Kočí Radek, Ing., Ph.D., UITS
Přednášející:Letko Zdeněk, Ing., Ph.D., VCIT
Cvičící:Hrubá Vendula, Ing., 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 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.
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 návrhových vzorů.
Osnova přednášek:
  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.
Osnova ostatní - projekty, práce:
  1. domácí úkoly
  2. projekt (malá síťová aplikace s grafickým rozhraním v Javě)
Literatura referenční:
  1. Internetové zdroje: http://java.sun.com/javase/6/docs/ ; http://java.sun.com/docs/books/tutorial/index.html
  2. T. Pitner: Java - začínáme programovat, Grada Publishing, 2002, ISBN 80-247-0295-9
  3. Rudolf Pecinovský: Myslíme objektově v jazyku Java 5.0 - knihovna programátora, Grada Publishing, 2004, ISBN 8024709414
  4. Eckel, B.: Myslíme v jazyku Java: knihovna programátora, Grada Publishing, 2001, ISBN 80-247-9010-6
Literatura studijní:
  1. Joshua Bloch: Java efektivně - 57 zásad softwarového experta, Grada Publishing, 2002, ISBN 80-247-0416-1
  2. Eckel, B.: Myslíme v jazyku Java: knihovna zkušeného programátora, Grada Publishing, 2001, ISBN 80-247-0027-1
  3. Bogdan Kiszka: 1001 tipů a triků pro programování v jazyce Java, ComputerPress, 2003, ISBN 80-7226-989-5
  4. Chan, M. C., Griffith, S. W., Iasi, A. F.: 1001 tipů Java, UNIS publishing, 1997, ISBN 80-86097-11-0
Kontrolovaná výuka:
  • Vypracování domácích úkolů a projektu.
Podmínky zápočtu:
  • Odevzdat funkční úkoly.
  • Získat nejméně 50% bodů z projektu.