Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024

Pokročilé programování v jazyce Java

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
A4B77JVA Z,ZK 6 2P+2C česky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra kybernetiky
Anotace:

Cílem předmětu je poskytnout studentum ucelenou výuku programovacího jazyka

Java. Vyuka bude postupovat od základu jazyku na bázi virtualního stroje,

memory managementu s garbage collectorem, datových struktur, exception

handlingu, classloaders a bootclassloader, a objektového programováni.

Mimoto bude podán výklad o struktuarilizaci programu, tvorbě aplikace a

appletu, debugováni, odhalováni deadlocku, nástrojích pro programováni v

týmech, analyzátory kódu a základních optimalizačních technikách. Budou

představeny také základní moduly pro tvorbu uživatelského rozhraní, práci s

vlákny, synchronizaci, a souborovém a síťovém rozhraní.

Požadavky:

Programování 1 a 2, Algoritmizace

Osnova přednášek:

1. koncepce jazyků na bázi virtualního stroje, srovnáni s jinými

jazyky, přehled výhod a nevýhod; kompilace, decompilery,

obfuscatory

2. struktuarilizace programu, packages, základní programy: aplikace,

applet

3. datové struktury - primitiva, pole; memory management s garbage

collectorem

4. objekty - dědičnost, metody, modifikátory, generics; iterfaces

5. práce s vyjímkami, ošetření vyjímek

6. streamy, vstupně/výstupní operace, síťová komunikace

7. vlákna, synchronizace, atomické typy, non-blocking algoritmy

8. komponenty pro tvorbu grafického rozhraní, popis základních

konstrukcí

9. rohraní pro práci s akcelerovanou grafikou - OpenGL, Java3D

10. classloaders, reflektivní operace, serializace, externalizace

11. popis RMI - architektura, podpurné komponenty, vztah k jiným

technologiím CORBA, atd.

12. rozhraní pro nativní volání, jejich užitečnost pro specializované

operace - hardware, grafika

13. nástroje pro programovaní v týmech, odlaďovaní chyb, testovaní

14. analyzatory kódu, základní optimalizační techniky

Osnova cvičení:

1. spouštění kompiléru, spouštění JVM, konfigurační atributy spouštění

se zaměřením na optimalizaci, ladění, režimy zobrazující interní

stavy JVM jako je JIT, heap states

2. seznámení se základním vývojovým prostředím, vytváření aplikací a

appletu

3. demonstrace chování JVM na složitějších programech s důrazem na

memory management a jeho vnitřní stavy

4. zadání semestrální úlohy a jejích jednotlivých podčástí, práce na 1. části

5. odevzdání 1.části, přestavení vzorového řešení, práce na 2.části

6. odevzdání 2.části, přestavení vzorového řešení, práce na 3.části

7. odevzdání 3.části, přestavení vzorového řešení, práce na 4.části

8. odevzdání 4.části, přestavení vzorového řešení, práce na 5.části

9. odevzdání 5.části, přestavení vzorového řešení, práce na 6.části

10. odevzdání 6.části, přestavení vzorového řešení, práce na poslení

části

11. odevzdání poslední části, profilovaní kompletní aplikace -

performace i paměť

12. prezentace provedených měření, identifikace kritických části

vzhledem k provedenému měření, optimalizace aplikace

13. představení a zdůvodnění provedených změn a jejich vlivu na

komplexní chování

14. rezerva, udělení zápočtu

Cíle studia:
Studijní materiály:

- W. C. Richardson, D. Avondolio, S. Schrager, M. W. Mitchell,

J. Scanlon: Professional Java JDK 6 Edition

- A. Silberschatz, P. B. Galvin, G. Gagne: Operating System COncepts

with Java

- C. Austin, M. Pawlan: Advanced Programming for the Java 2 Platform

- K. Beck: Test Driven Development: By Example

Poznámka:

Rozsah výuky v kombinované formě studia: 14p+6c

Další informace:
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 16. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet12583204.html