Úvodní kurz programování v jazyce Java. Číselné soustavy. Booleovská algebra (unární a binární zákony). Algoritmy, jejich vlastnosti. časová a paměťová složitost. Návrh algoritmu shora/zdola. Základní algoritmické techniky: rekurze, heuristika (greedy algoritmus, rozděl a panuj) . Třídící algoritmy. Úvod do objektově orientovaného programování.