| 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./sem | přednáška | sem./cvičení | lab. cvičení | poč. cvičení | jiná |
|---|
| Rozsah: | 26 | 0 | 0 | 12 | 14 |
|---|
| | zkouška | testy | cvičení | laboratoře | ostatní |
|---|
| Body: | 0 | 20 | 0 | 20 | 60 |
|---|
|
|---|
| 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: | |
|---|
| | | 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: |
|---|
- Ú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.
| | Osnova ostatní - projekty, práce: |
|---|
- domácí úkoly
- projekt (malá síťová aplikace s grafickým rozhraním v Javě)
| | Literatura referenční: |
|---|
- Internetové zdroje: http://java.sun.com/javase/6/docs/ ; http://java.sun.com/docs/books/tutorial/index.html
- T. Pitner: Java - začínáme programovat, Grada Publishing, 2002, ISBN 80-247-0295-9
- Rudolf Pecinovský: Myslíme objektově v jazyku Java 5.0 - knihovna programátora, Grada Publishing, 2004, ISBN 8024709414
- Eckel, B.: Myslíme v jazyku Java: knihovna programátora, Grada Publishing, 2001, ISBN 80-247-9010-6
| | Literatura studijní: |
|---|
- Joshua Bloch: Java efektivně - 57 zásad softwarového experta, Grada Publishing, 2002, ISBN 80-247-0416-1
- Eckel, B.: Myslíme v jazyku Java: knihovna zkušeného programátora, Grada Publishing, 2001, ISBN 80-247-0027-1
- Bogdan Kiszka: 1001 tipů a triků pro programování v jazyce Java, ComputerPress, 2003, ISBN 80-7226-989-5
- 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.
| | |
|