Detail předmětu
Seminář Java
IJAe Ak. rok 2010/2011 zimní semestr 5 kreditů
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
Jazyk výuky
Zakončení
Rozsah
- 26 hod. přednášky
- 13 hod. pc laboratoře
- 26 hod. projekty
Zajišťuje ústav
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ů.
Základy objektově orientovaného programování, znalost základních návrhových vzorů.
Cíle předmětu
Cílem je naučit studenty základy objektově orientovaného programování v jazyce Java.
Doporučené prerekvizity
- Základy programování (IZP)
Požadované prerekvizitní znalosti a dovednosti
Základní znalosti imperativního programování (jazyk C) a algoritmizace.
Literatura studijní
- Joshua Bloch: Effective Java, Prentice Hall; 2 edition (May 28, 2008), ISBN-13: 978-0321356680
- The Java Tutorials. https://docs.oracle.com/javase/tutorial/
- Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW]
Literatura referenční
- Bruce Eckel: Thinking in Java (4th Edition), 2006, ISBN-13: 978-0131872486 [some editions are available electronically on WWW]
Osnova přednášek
- Úvod do jazyka Java: historie, nástroje, distribuce, Java Virtual Machine (JVM). Základy OO: objekt, třída, rozhraní, abstrakce, zapouzdření, konstruktory.
- Datové typy. Deklarace třídy, modifikátory přístupu. Sestavení a spuštění aplikace, struktura aplikace (balíky), import tříd.
- Základy OO: dědičnost, polymorfismus. Inicializace objektu. Pole. Příkazy, základní operátory. Ladění programu (assert).
- Hierarchie dědičnosti, typová kontrola, typová konverze, porovnávání objektů. Rozhraní v Javě. Ladění programu.
- Výjimky. Abstraktní třídy, vnořené třídy, výčtový typ, statické třídy a proměnné.
- Kontejnery: iterátor, kolekce, seznam, množina, mapa. Generické kontejnery. For-each loop, autoboxing.
- Vlákna (threads): sdílení, plánování, synchronizace.
- Grafické uživatelské rozhraní JFC/Swing. Technika návrhu aplikace.
- Vstup/Výstup: práce se soubory, proudy, komprimace, serializace.
- Znovupoužitelnost, návrhové vzory.
- Generics. Zásady programování v Javě.
- JVM: zavádění tříd, správa paměti, garbage collector, profiling.
- Java 2 Enterprise Edition: základní přehled.
Průběžná kontrola studia
- Odevzdat funkční úkoly.
- Získat nejméně 50% bodů z projektu.
Kontrolovaná výuka
- Vypracování domácích úkolů a projektu.