1. Řízení vykonávání programu v jazyce Python - bloky, cykly, větvení, funkce
  2. Výrazy a jejich vyhodnocování v jazyce Python
  3. Základní datové typy v jazyce Python
  4. Základy systému výjimek v jazyce Python
  5. Typy chyb a jejich hledání v jazyce Python
  6. Práce se soubory v jazyce Python
  7. Binární data v jazyce Python
  8. Moduly v jazyce Python a jejich importování

  1. Základy objektového programování - třídy, objekty zasílání zpráv
  2. Principy objektového programování - zapouzdření, polymorfismus a dědičnost
  3. Události v objektovém programování
  4. Funkce vyšších řádů - mapování, filtrování, redukce a anonymní funkce
  5. Rekurze a rekurzivní datové struktury (spojové seznamy, stromy)
  6. Iterátory a generátory
  7. Synchronizace vláken - problém kritické sekce, zámky, semafory
  8. Producenti a konzumenti
  9. Večeřící filozofové

  1. Přehled typového systému jazyka C
  2. Principy správy paměti v jazyce C
  3. Principy adresování a práce s pointery v jazyce C
  4. Typy chyb a jejich hledání v jazyce C
  5. Organizace kódu v jazyce C
  6. Zařazení jazyka C mezi ostatní jazyky, výhody a nevýhody

  1. Webové aplikace a přehled technologií používaných při jejich tvorbě
  2. Architektura webové aplikace a problematika škálovatelnosti
  3. Zpracování HTTP požadavků - předávání dat mezi webovým a aplikačním serverem, příklady realizace
  4. REST API - popis a příklady realizace
  5. JavaScript na webovém frontendu a jeho možnosti
  6. Technologie AJAX a její použití
  7. Knihovna React - charakteristika, použití
  8. Možnosti tvorby nativních aplikací pomocí webových technologií
  9. Node.js - charakteristika, použití

1. Teoretické základy informačních technologií 2. Informační technologie 3. Programovací jazyky a programování