Popis předmětu - B0B36PJV
B0B36PJV | Programování v JAVA | ||
---|---|---|---|
Role: | P | Rozsah výuky: | 2P+3C+7D |
Katedra: | 13136 | Jazyk výuky: | CS |
Garanti: | Vokřínek J. | Zakončení: | Z,ZK |
Přednášející: | Mudroch M., Serédi L., Vokřínek J. | Kreditů: | 6 |
Cvičící: | Osob je mnoho | Semestr: | L |
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/b0b36pjvAnotace:
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 13.10.2024 09:50:36, semestry: L/2023-4, L/2024-5, Z/2025-6, Z/2024-5, 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) |