Programování v JAVA
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
B0B36PJV | Z,ZK | 6 | 2P+3C+7D | česky |
- Vztahy:
- Předmět B0B36PJV může při kontrole studijních plánů nahradit předmět B4B36PJV
- Předmět B0B36PJV nesmí být zapsán, je-li v témže semestru zapsán anebo již dříve absolvován předmět A0B36PR2 (vztah je symetrický)
- Předmět B0B36PJV nesmí být zapsán, je-li v témže semestru zapsán anebo již dříve absolvován předmět B4B36PJV (vztah je symetrický)
- Předmět B0B36PJV může při kontrole studijních plánů nahradit předmět A0B36PR2
- Garant předmětu:
- 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ů:
-
- Softwarové inženýrství a technologie (povinný předmět programu)
- Otevřená informatika - Informatika a počítačové vědy 2016 (povinný předmět programu)
- Otevřená informatika - Internet věcí 2016 (povinný předmět programu)
- Otevřená informatika - Software 2016 (povinný předmět programu)
- Otevřená informatika - Počítačové hry a grafika 2016 (povinný předmět programu)
- Otevřená informatika - před rozřazením do oborů (povinný předmět programu)
- Otevřená informatika - před rozřazením do specializací (povinný předmět programu)
- Otevřená informatika - Základy umělé inteligence a počítačových věd 2018 (povinný předmět programu)
- Otevřená informatika - Internet věcí 2018 (povinný předmět programu)
- Otevřená informatika - Software 2018 (povinný předmět programu)
- Otevřená informatika - Počítačové hry a grafika 2018 (povinný předmět programu)
- Softwarové inženýrství a technologie - specializace Enterprise systémy (povinný předmět programu)
- Softwarové inženýrství a technologie - specializace Technologie pro multimédia a virtuální realitu (povinný předmět programu)
- Softwarové inženýrství a technologie - specializace Business informatics (povinný předmět programu)
- Softwarové inženýrství a technologie - specializace Technologie internetu věcí (povinný předmět programu)
- Softwarové inženýrství a technologie - společný 1. ročník (povinný předmět programu)