Přehled studia |
Přehled oborů |
Všechny skupiny předmětů |
Všechny předměty |
Seznam rolí |
Vysvětlivky
Návod
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/b0b36pjv
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í.
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 19.5.2024 15:50:46, semestry: Z/2024-5, Z,L/2023-4, 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) |