- Orientované a neorientované grafy, izomorfismus, podgrafy, pojmy k cestování, souvislost, stupně vrcholů
- Hledání nejkratší cesty, Dijkstrův algoritmus
- Minimální kostra grafu, Kruskalův algoritmus
- Stromy, alternativní definice stromu
- Kořenové stromy, vztah mezi výškou, počtem vrcholů a počtem listů
- Algoritmus, problém, časová složitost algoritmu v nejhorším a průměrném případě
- O-notace a růst funkcí, definice, vlastnosti, příklady použití
- Lineární datové struktury - seznam, zásobník, fronta
- Problém třídění, rozdělení třídících algoritmů, dolní mez složitosti třídění porovnáváním
- Základní metody třídění - insert sort, select sort, bubble sort
- Quick sort a jeho složitost
- Merge sort a jeho složitost
- Heap sort a jeho složitost
- Další metody třídění - counting sort, radix sort, bucket sort
- Vnější třídění
- Pořádkové statistiky
- Vyhledávání v lineárních datových strukturách
- Binární vyhledávací stromy, operace a jejich složitosti
- AVL stromy, operace a jejich složitost
- B stromy, operace a jejich složitost
- Hashovací tabulky, metody řešení kolizí
- Základní grafové algoritmy - průchod do šířky, průchod do hloubky, topologické uspořádání
- Přehled a základní rysy programovacích paradigmat - funkcionální, procedurální, objektové
- Symbolické výrazy a jejich vyhodnocování v jazyce Common Lisp
- Rekurzivní funkce a rekurzivní výpočetní proces
- Funkce vyššího řádu
- Lexikální a dynamický rozsah platnosti proměnných
- Makra
- Líné vyhodnocování v datových strukturách, přísliby a proudy
- Líné vyhodnocování v programovacích jazycích, aplikativní a normální model vyhodnocení
- Zásobníkový model vyhodnocování
- Objektově orientované programování - třídy a objekty, zprávy a metody
- Zapouzdření, polymorfismus, rozhraní, dědičnost (jednoduchá i vícenásobná)
- Pravidlo is-a, princip B. Liskovové, kontraktové programování
- OOP založené na prototypech
- Příklad jednoho nebo více objektově orientovaných jazyků (Java, C
- Relační model databáze - atributy, n-tice, relace, relační proměnné
- Relační algebra - množinové operace, restrikce, projekce, přirozené spojení, přejmenování atributů, relační dělení
- Operace rozšíření
- SELECT výraz v SQL
- Kontrola integrity - primární a alternativní klíče, cizí klíče
- Funkční závislosti, Boyceho-Coddova normální forma, normalizace
- Pohledy - pohledy vSQL, měnitelné pohledy
- Agregace - slučování a rozdělování atributů, agregace v SQL