Předmět je přehledovým úvodem do základních oblastí teoretické informatiky.
Studenty seznámí se základy logiky, formálních jazyků, automatů, algoritmické složitosti, včetně některých jejich aplikací pro řešení praktických programátorských úkolů. Konkrétně se studenti seznámí se se základy výrokové a predikátové logiky. Naučí se formalizovat tvzení v jazyce těchto logik a naučí se používat několik metod logického vyvozování. Dozví se o použití konečných automatů, regulárních výrazů a bezkontextových gramatik při tvorbě překladačů (lexikální a syntaktická analýza) a při vyhledávání v textu.
Studenti se seznámí se základy teorie vyčíslitelnosti a složitosti. Naučí se posuzovat výpočetní složitost algoritmu a používat asymptotickou notaci.
Stručně se také seznámí se složitostí problémů a se třídami složitosti.
Dozví se také, že některé problémy jsou algoritmicky nerozhodnutelné, a jakým způsobem se to dá dokázat.