Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2019/2020

Programování v JAVA

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
B0B36PJV Z,ZK 6 2P+3C česky
Předmět nesmí být zapsán současně s:
Programování 2 (A0B36PR2)
Programování v JAVA (B4B36PJV)
Předmět je náhradou za:
Programování 2 (A0B36PR2)
Programování v JAVA (B4B36PJV)
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra počítačů
Anotace:

Předmět navazuje na základy algoritmizace a programování z prvního semestru a uvádí studenty do prostředí Java. Předmět je vybudován na znalosti objektové koncepce jazyka Java. Součástí seznámení s koncepcí jazyka Java jsou výjimky, zpracování událostí a budování grafického rozhraní. Budou představeny základní knihovní metody, práce se soubory a použití generických typů. Důležitým tématem jsou modely vícevláknových aplikací a jejich implementaci.

Praktická cvičení praktických dovedností a znalostí Java formou řešení dílčích úloh a semestralní práce, které budou odevzdávány průběžně prostřednictvím systému pro správu zdrojových souborů. Bodové hodnocení úlohy se skládá z bodů za správnost a efektivitu kódu, dále pak z bodů zohledňující kvalitu zdrojových kódů, jejich čitelnost a znovu použitelnost.

Požadavky:

Základní znalost algoritmizace a programování.

Osnova přednášek:

1. Koncepce, historie jazyka a jeho vývoj - Java Virtual Machine, instalace vývojového prostředí, překlad a interpretace, syntaxe, primitiva a základní konstrukty.

2. Objektově orientované programování v programovacím jazyku Java, třídy, rozhraní a objekty; struktura programu, kompilace a spuštění, předávání parametrů, aplikace a aplety.

3. Řízení běhu programu, základní datové typy, proměnné, operátory, výjimky.

4. Pole, řetězce, základní datové kolekce a iterátory.

5. Principy objektového přístupu, třídy a dědičnost, řízení přístupu, hierarchie tříd, dědění, kompozice, abstraktní třídy, polymorfismus.

6. Datové kolekce a generické datové typy.

7. Práce se soubory, datové proudy, modely I/O operací.

8. Síťování - způsoby a modely komunikace, síťová API v programovacím jazyku Java, protokoly UDP, TCP a HTTP. Aplikace klient / server.

9. Paralelní programování - vlákna a modely vícevláknových aplikací, synchronizační primitiva.

10. Příklad vícevláknové aplikace a komunikace mezi vlákny; rozhraní JNI.

11. Grafické uživatelské rozhraní, události a listenery, Java 2D/3D, knihovny AWT a Swing.

12. Ovládání uživatelských rozhraní, multimediální rozhraní.

13. Distribuované programování - serializace, propojování modulů (middleware) a vzdálené volání funkcí, rozhraní Java RMI a další, např. ICE.

14. Kódovací konvence a styly, nástroje pro řízení překladu, logování; rezerva.

Osnova cvičení:

1. Vývojové prostředí a odevzdávání úloh.

2. Překlad a spuštění programu, dokumentace (javadoc), základy Java kódovací konvence a stylu.

3. Nástroje pro sestavení programu (ant, maven), základní dostupné třídy v Java Class Library.

4. Proměnné, výrazy, předávání parametrů programu a spuštění programu.

5. Řízení běhu programu, řetězce, cykly, prioritní fronta

6. Zadání semestrální práce

7. Třídy, objekty a dědičnost; struktura programu, incializace objektů a správa paměti

8. Polymorphismus

9. Generické datové typy

10. Načítání a ukládání souborů

11. Síťování

12. Vícevláknové aplikace

13. Grafické uživatelské rozhraní

14. Serializace a distribuované programování

Cíle studia:

Cílem předmětu je rozvinutí programovacích dovedností studentů a rozšíření jejich znalostí o programovacích jazycích o základy a specifika programovacího jazyka Java. Předmět vychází z objektového přístupu, studenti si prohloubí znalosti o způsobech programování a seznámí se s Java programovým rozhraním pro vícevláknové programování, s využitím datových kolekcí, zpracováním výjimek, tvorbou grafického uživatelského rozhraní a událostmi řízeným programováním.

Studijní materiály:

Doporučená literatura:

1. Herout, P.: Učebnice jazyka Java, Kopp, Č. Budějovice, 2000, s. 350.

2. Herout, P.: Učebnice jazyka Java II, Kopp, Č. Budějovice, 2001, s. 350.

3. Eckel, B.: Thinking in Java, Prentice Hall, 2006, s. 1150.

Poznámka:
Další informace:
https://cw.fel.cvut.cz/wiki/courses/b0b36pjv
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 21. 9. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet5010706.html