Popis předmětu - B0B36PJV

Přehled studia | Přehled oborů | Všechny skupiny předmětů | Všechny předměty | Seznam rolí | Vysvětlivky               Návod
B0B36PJV Programování v JAVA Rozsah výuky:2+3c
Garanti:Vokřínek J. Role:P Jazyk výuky:CS
Vyučující:Vokřínek J. Zakončení:Z,ZK
Zodpovědná katedra:13136 Kreditů:6 Semestr:L

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.

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.

Osnovy 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.

Osnovy 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í

Literatura:

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.

Požadavky:

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

Webová stránka:

https://cw.fel.cvut.cz/wiki/courses/b0b36pjv

Předmět je zahrnut do těchto studijních plánů:

Plán Obor Role Dop. semestr
BPSIT Před zařazením do oboru P 2
BPOI_BO_2018 Před zařazením do oboru P 2
BPOI4_2018 Počítačové hry a grafika P 2
BPOI3_2018 Software P 2
BPOI2_2018 Internet věcí P 2
BPOI1_2018 Základy umělé inteligence a počítačových věd P 2
BPOI1_2016 Informatika a počítačové vědy P 2
BPOI_BO_2016 Před zařazením do oboru P 2
BPOI4_2016 Počítačové hry a grafika P 2
BPOI3_2016 Software P 2
BPOI2_2016 Internet věcí P 2


Stránka vytvořena 19.4.2019 17:48:28, semestry: Z,L/2020-1, L/2019-20, Z,L/2018-9, Z/2019-20, připomínky k informační náplni zasílejte správci studijních plánů Návrh a realizace: I. Halaška (K336), J. Novák (K336)
Za obsah odpovídá: doc. Ing. Ivan Jelínek, CSc.