Theoretical Computer Science
Course code
old course code
Course title in Estonian
Teoreetiline informaatika
Course title in English
Theoretical Computer Science
ECTS credits
Assessment form
lecturer of 2023/2024 Autumn semester
Peeter Normak (language of instruction:Estonian)
lecturer of 2023/2024 Spring semester
Not opened for teaching. Click the study programme link below to see the nominal division schedule.
Course aims
The aim is to offer basic knowledge about the main structures of theoretical computer science – finite automata, formal languages, solvability, complexity – and their basic properties as well as skills to apply the knowledge acquired for solving various exercises.
Brief description of the course
Scope of theoretical computer science. Basic notions from graph theory and formal languages. Finite automata and recognizable languages. Regular expressions; correspondence between regular expressions and finite automata. Pumping-lemma for regular languages. Context-free grammars and their normal forms. Pumping-lemma for context-free languages. Pushdown automata. Turing machines and type 0 languages. Chomsky hierarchy. Solvability and complexity of algorithms. Petri nets.
Learning outcomes in the course
Upon completing the course the student:
- knows basic concepts, results and problems of a problem area (finite automata and formal languages) of theoretical computer science;
- is able to solve exercises related to finite automata and formal languages;
- is able to analyse finite automata, grammars and languages.
Peeter Normak, PhD