Podklady přednášek pro aktuální akademický rok 2014/2015. 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.
Organizace předmětu; výpočty a výpočetní prostředky; program a programovací jazyk; syntaxe a sémantika; programovací jazyk Java a základní datové typy.
Číselné typy, výrazy, přiřazení a operátory; výstup programu a matematické funkce; algoritmus a jeho popis; přehled řídicích struktur, složený příkaz; větvení if, cykly while a for
Reprezentace znaku, textových řetězec a vstup programu; řídicí struktury větvení a cykly.
Základní typy a reprezentace dat v počítači, typové konverze, pole, funkce a procedury.
Funkce, jejich jména a předání návratové hodnoty příkazem return
; lokální proměnné a alokace paměti; cykly a řízení průchodu cyklu, příkazy break
a continue
; příklady dekompozice problému a jeho řešení.
Rekurze a rekurzivní algoritmy; příklady rekurzivních algoritmů; peprezentace množiny polem; příklad rekurze v řazení.
Úvod do objektově orientovaného modelování (analýzy a návrhu); objektově orientované programování (OOP); struktura objetu a zapouzdření; vztahy mezi objekty: agregace, dědičnost, polymorfismus; OOP v Javě: metody a datové položky třídy a instance, řízení přístupu k položkám, konstruktor třídy.
Třídy a objekty, metoda main
, objekty základních typů, immutable objekty, dědičnost a hierarchie tříd; příklad geometrických objektů, jednoduchých operací s nimi a jejich vykreslení.
Dědičnost, kompozice, balíky a organizace tříd; kompilace a spuštění třídy v balíku; Příklad geometrických objektů a jejich vykreslení (jednoduchý kontejner).
Lineární spojové struktury - spojové seznamy a stromy: jednosměrný spojový seznam (operace vkládání a odebírání prvku, průchod seznamem, vyhledávání prvku v seznamu); kruhový jednosměrný spojový seznam; obousměrný spojový seznam; kruhový obousměrný spojový seznam.
Nelineární spojové struktury: stromy a binární strom. Abstraktní datový typ (ADT), datové struktury a jejich popis. Abstraktní datové typy zásobník a fronta a příklady a jejich implementací.
Soubory a přístup k souborům; textový a binární soubory; práce se soubory v Javě; ošetření chyb mechanismem výjimek
Kolekce, revize úlohy lab07, revize 10. domácí úlohy (lab12).