Table of Contents

Přednášky

Podklady přednášek pro aktuální akademický rok 2021/2022. Podklady se skládají z promítaných slidů, které jsou také k dispozici ve zkrácených verzích šetřnějších k případnému tisku, bez přechodů mezi snímky a ve formátu čtyři snímky na stránku. K většině přednášek jsou k dispozici vide a komentovanými slidy. Tyto materiály nenahrazují přednášku, mohou být nedokonalé, zastaralé a nekompletní.

Poklady tvoří podpůrný materiál a jejich učelem není nahradit vlastní zápisky z přednášky, které slouží také jako prostředek osvojení si studované problematiky.

Podklady mohou být průběžné aktualizovány.

Harmonogram přednášek

Týden Datum Přednáška
1 16.2.2022 01 - Úvod
2 23.2.2022 02 - Objektově orientované programování
3 2.3.2022 03 - Výčtové typy a kolekce v Javě, generické typy
4 9.3.2022 04 - Výjimky a soubory
5 16.3.2022 05 - GUI v Javě
6 23.3.2022 06 - GUI v Javě, událostmi řízené programování
7 30.3.2022 07, 08 - Vícevláknové aplikace 1, 2
8 6.4.2022 Samostudium komentovaných prezentací k tématům 6, 7 a 8.
9 13.4.2022 09 - Sokety a síťování
10 20.4.2022 10 - Výkon a profilování
11 27.4.2022 11 - Uklízení odpadků a analýza úniku
12 4.5.2022 Samostudium doplňujících materiálů
13 11.5.2022 Rektorský den
14 18.5.2022

01 - Úvod

Organizace předmětu; programovací jazyk Java.

Úvod do objektově orientovaného modelování (analýzy a návrhu); objektově orientované programování (OOP); struktura objetu a zapouzdření.

Konstruktor, singleton, metoda main, immutable objekty.

Aktualizace 2020/02/19 9:25

02 - Objektově orientované programování

Objektově orientované programování. Immutable. Dědičnost, kompozice a polymorfismus. Dispatch a double dispatch.

Aktualizace 2019/02/25 12:50 – úprava single-dispatch demonstračního příkladu

03 - Výčtové typy a kolekce v Javě, generický typ

Výčtové typy, kolekce, iterátor, JFC. Generické typy.

Aktualizace 2017/03/09 7:42

04 - Výjimky a soubory

Výjimky. Soubory.

Aktualizace 2020/03/25 8:45 - přidáno video s komentovanou prezentací

05 - GUI

GUI v Javě, komponenty a kontejnery, dialogová okna (modalita).

Aktualizace 2020/04/07 15:35 - přidáno video s komentovanou prezentací

06 - GUI v Javě, událostmi řízené programování

GUI v Javě, Model-View-Controller, Event-Driven Programming, vnitřní třídy.

Aktualizace 2020/04/10 17:02 - přidáno video s komentovanou prezentací

07 - Vícevláknové aplikace 1

Paralelismus, synchronizace výpočetních toků, vícevláknové aplikace.

Aktualizace 2020/04/21 21:55 - přidáno video s komentovanou prezentací

08 - Vícevláknové aplikace 2

Vícevláknové aplikace - příklad GUI, vzor observer. Modely vícevláknových aplikací.

Aktualizace 2020/04/28 20:30 - přidáno video s komentovanou prezentací

09 - Sokety a síťování

Síťování, síťová API - soket, jednoduchý klient a server, boss/worker server/klient.

Aktualizace 2020/05/12 19:48 - přidáno video s komentovanou prezentací

Aktualizace 2021/04/14 10:30 - přidány zjednodušené příklady

10 - Výkon a profilování

Výkon aplikace, profilování v NetBeans, příklady.

11 - Uklízení odpadků a analýza úniku

Správa paměti, Garbage Collection, Escape Analysis a alokace na stacku.

Aktualizace 2019/09/05 11:22 - drobné opravy textu

Samostudium doplňujících materiálů

Concurrency Concepts in Java by Douglas Hawkins

Java Performance Puzzlers 2018 - New by Douglas Hawkins

Podklady budou průběžné aktualizovány