a) Základních algoritmy, datové struktury a programovací techniky
- základní představa o efektivitě algoritmů
- dělitelnost čísel, Eukleidův algoritmus
- test prvočíselnosti, Eratosthenovo síto
- Hornerovo schéma
- rozklad celého čísla na cifry, poziční číselné soustavy
- algoritmy vyhledávání v poli (sekvenční, binární, zarážka)
- řazení dat v poli (vnitřní třídění)
- práce s maticemi (základní operace)
- implementace zásobníku a fronty v poli
- aritmetika s vyšší přesností ("dlouhá čísla")
- použití rekurze, backtracking, metoda "rozděl a panuj"
- prohledávání do hloubky a do šířky
- algoritmus minimaxu
- halda a operace s haldou
- faktorová množina
- dynamické datové struktury, operace s lineárními spojovými seznamy
- binární stromy, vyhledávací stromy, vyvažování (AVL-stromy)
- vícecestné vyhledávací stromy (B-stromy)
- notace aritmetického výrazu, vyhodnocování
- vnější třídění b) Typické prostředky a nástroje programovacích jazyků ukázané na příkladu programovacího jazyka Pascal (Turbo Pascal) v rozsahu
- proměnné, konstanty, typy, inicializované proměnné
- jednoduché a strukturované datové typy (čísla, char, boolean, výčtový typ, pole, záznam, znakový řetězec)
- jednoduché a strukturované příkazy (dosazovací příkaz, if, while, repeat, for, case, with)
- textové soubory (včetně formátování výstupních dat)
- procedury a funkce (lokalita identifikátorů, způsoby předávání parametrů, rekurze)
- příkazy skoku
- ukazatele a dynamicky alokované proměnné
- základní parametry překladače (paměťová omezení, přepínače provádění kontrol). c) Práce v integrovaném vývojovém prostředí, tvorba a ladění programů - prakticky procvičena na příkladě integrovaného vývojového prostředí Turbo Pascal nebo Free Pascal (editor, překlad, výpočet, ladicí prostředky - trasování, sledování hodnot proměnných atd.).
Základní kurs algoritmizace a programování pro studenty 1. ročníku bakalářského studia informatiky a učitelství informatiky. Obsahem kursu jsou principy algoritmizace, základní algoritmy, datové struktury a programovací techniky, typické prostředky programovacích jazyků, praktický návrh a ladění programů.