Search
Podklady přednášek pro akademický rok 2015/2016. 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.
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.
Organizace předmětu; objektově orientované programování a polymorfismus v Javě; Příklad polymorfismu a návrhový vzor Double Dispatch
— Jan Faigl 2016/03/08 11:59 Aktualizace: neměnitelné objekty (48-50) a dynamická vazba při volání nadřazeného konstruktoru (60-61).
Ošetření výjiměčných situací, kontrolované a nekontrolované výjimky, try-catch-finally, try-with-resources; výčtový typ; datové kolekce v Javě, Java Collection Framework (JFC), návrhový vzor Iterátor.
— Jan Faigl 2016/03/08 14:41 Aktualizace: Přesun generického typu na 3. přednášku.
Grafické uživatelské rozhraní v Javě; AWT; Swing; Komponenty, kontejnery a správce rozvržení; kreslení grafických primitiv; dialogová okna; modální dialogy.
Příklady GUI v Javě z předchozích běhů předmětu pr2-03-gui.zip (pro inspiraci, neaktualizováno, kódovací konvence dle tehdejších zvyklostí).
— Jan Faigl 2016/03/10 09:11 Aktualizace: Přesun generického typu ze 2. přednášky, opakování iterátoru.
— Jan Faigl 2016/04/01 10:39 Aktualizace: Upřesnění HTML rendering engine v Java FX .
Grafické uživatelské rozhraní v Javě; Swing; návrhář GUI; Příklad aplikace, Model-View-Controller (MVC); Události a událostmi řízené programování (Event-Driven-Programming); vnitřní a vnitřní anonymní třídy.
— Jan Faigl 2016/03/24 15:22
Paralení programování, procesy a role operačního systému; vlákna v operačním systému; problém souběhu, synchronizace vláken a monitor. Vlákna v Javě, vytvoření, synchronizace a komunikace mezi vlákny. Příklad vláken v GUI (Swing), návrhový vzor pozorovatel (observer) a SwingWorker.
— Jan Faigl 2016/03/22 17:56
Modely vícevláknových aplikací. Paralelní programování a ladění, problém uváznutí a problém souběhu. Příklad kreslení do plátna, síťové komunikace a aplikací klient/server. Přednášky je koncipována seminární formou s demonstrací příklad, konkrétní náplň tak bude přizpůsobena dle dotazů.
Demonstrační programy budou zvěřejněny po přednášce na základě dotazů a interakce během přednášky.
— Jan Faigl 2016/03/30 18:20
Jazyk C - překlad zdrojových kódů a linkování programu; příklad překladu programu a příklad programu s výstupem na standardní výstup.
— Jan Faigl 2016/04/06 08:23
Jazyk C - syntax, proměnné, základní typy a literály; výrazy a operátory; příkazy a řízení běhu programu; pole, ukazatele, funkce a předávání parametrů; ukazatele a pole.
— Jan Faigl 2016/04/14 15:27 Aktualizace: binární zápis celočíselného literálu (21-22).
Jazyk C - modifikátor const; ukazatel na konstantní proměnnou; konstantní ukazatel; ukazatel na funkci; definice typu typedef; struktury a uniony; dynamická alokace paměti; práce se soubory; funkce standardní knihovny C.
— Jan Faigl 2016/04/20 18:32
Přednáška je věnována praktickým ukázkám programování v C.
Předpokládaný příklad v jazyce C:
— Jan Faigl 2016/04/27 18:47
Na přednášce si projdeme zadání testů a očekávané odpovědi. Diskuse na testem, Dále se na přednášce seznámíme se základní filozofií verzovacích systému (centralizovaných a distribuovaných). Vykládaná látka je informativní.
— Jan Faigl 2016/05/04 18:21
Učebnic návrhových vzorů je celá řada, avšak většina z nich se zaměřuje na teoretické vysvětlení konceptu, jeho demonstraci pomocí diagramu, případně AHA příkladu. Tato přednáška nemá za cíl důkladně vysvětlit konkrétní návrhové vzory, všechny jejich výhody a nevýhody, ani možné implementace. To si lze přečíst v knihách. Během přednášky společně navrhneme architekturu jednoduché aplikace Piškvorky, na které si demonstrujeme praktické využití návrhových vzorů. Ukážeme si, proč je dobré je ovládat a jak nám to může pomoci při řešení reálných problémů. Seznámíme se i s využitím několika často používaných vzorů a zjistíme, že většina běžných problémů má již kvalitní a ověřené řešení.
Lambda funkce, closures, defaultní metody, streamy, optional datatype.
Přednáška bude věnován zkouškovému testu.