Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Programování v JAVA

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
B0B36PJV Z,ZK 6 2P+3C+7D česky

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:
Jiří Vokřínek
Přednášející:
Martin Mudroch, Ladislav Serédi, Jiří Vokřínek
Cvičící:
Miroslav Balík, Miroslav Jarý, Martin Mudroch, Ladislav Serédi, Rudolf Jakub Szadkowski, Herbert Ullrich, Jan Vanke, Jiří Vokřínek, Jan Zídek
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
Rozvrh na zimní semestr 2023/2024:
Rozvrh není připraven
Rozvrh na letní semestr 2023/2024:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
místnost T2:H1-130
Serédi L.
08:15–10:45
(přednášková par. 1
paralelka 101)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Mudroch M.
11:00–13:30
(přednášková par. 1
paralelka 102)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:A4-405
Mudroch M.
16:15–18:45
(přednášková par. 1
paralelka 113)

Dejvice
Laborator
místnost T2:H1-130
Mudroch M.
13:30–16:00
(přednášková par. 1
paralelka 115)

Dejvice haly
AlgDejvice - Veřejná
Út
místnost T2:H1-130
Zídek J.
Vanke J.

07:30–10:00
(přednášková par. 1
paralelka 103)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Zídek J.
Vanke J.

10:00–12:30
(přednášková par. 1
paralelka 104)

Dejvice haly
AlgDejvice - Veřejná
místnost KN:E-307
Serédi L.
08:15–10:45
(přednášková par. 1
paralelka 109)

Karlovo nám.
HW-lab K307
St
místnost T2:H1-130
Jarý M.
07:30–10:00
(přednášková par. 1
paralelka 105)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Jarý M.
10:00–12:30
(přednášková par. 1
paralelka 106)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Mudroch M.
14:30–17:00
(přednášková par. 1
paralelka 107)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:H1-130
Mudroch M.
17:00–19:30
(přednášková par. 1
paralelka 108)

Dejvice haly
AlgDejvice - Veřejná
místnost T4:D2-256
Vokřínek J.
Serédi L.

12:45–14:15
(přednášková par. 1)
Dejvice
Posluchárna 256
Čt
místnost T2:H1-131
Serédi L.
07:30–10:00
(přednášková par. 1
paralelka 110)

Dejvice haly
AlgDejvice
místnost T2:H1-131
Serédi L.
10:00–12:30
(přednášková par. 1
paralelka 111)

Dejvice haly
AlgDejvice

místnost T2:H1-130
Szadkowski R.
09:15–11:45
(přednášková par. 1
paralelka 116)

Dejvice haly
AlgDejvice - Veřejná
místnost T2:A4-405
Balík M.
13:30–16:00
(přednášková par. 1
paralelka 114)

Dejvice
Laborator
místnost T2:A4-405
Balík M.
11:00–13:30
(přednášková par. 1
paralelka 112)

Dejvice
Laborator
místnost T2:H1-130
Szadkowski R.
11:45–14:15
(přednášková par. 1
paralelka 117)

Dejvice haly
AlgDejvice - Veřejná
Předmět je součástí následujících studijních plánů:
Platnost dat k 18. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet5010706.html