The course is also offered to the students of the fields other than those the course is directly associated with.
Fields of study the course is directly associated with
there are 22 fields of study the course is directly associated with, display
Course objectives
At the end of the course students should be able to:
explain the basics of theory of formal languages and automata;
explain the basics of complexity theory;
apply these theories in common practice;
Syllabus
Finite automata and regular grammars: Pumping lemma, Myhill-Nerode theorem, minimization of finite automata, nondeterministic finite automata
Properties of regular languages: closure properties, regular expressions, Kleene theorem.
Context-free grammars and languages: transformation of context-free grammars, selected normal forms, Pumping lemma, closure properties.
Pushdown automata and their relation to context-free grammars: top-down and bottom-up nondeterministic syntax analysis.
Turing machines, recursive and recursively enumerable languages.
Computational complexity of algorithms and problems.
Complexity classes: polynomial reduction, completeness and hardness of problems, NP-complete problems.
MOLNÁR, L'udovít, Milan ČEŠKA and Bořivoj MELICHAR. Gramatiky a jazyky. 1. vyd. Bratislava: Alfa, 1987. 188 s. info
HOPCROFT, John E. and Jeffrey D. ULLMAN. Introduction to automata theory, languages, and computation. Reading: Addison-Wesley Publishing Company, 1979. 418 s., ob. ISBN 0-201-02988-. info
KOZEN, Dexter C. Automata and computability. New York: Springer, 1997. xiii, 400. ISBN 0-387-94907-0. info
SIPSER, Michael. Introduction to the theory of computation. Boston: PWS Publishing Company, 1997. xv, 396 s. ISBN 0-534-94728-. info
Teaching methods
Lectures and class exercises
Assessment methods
Optional homeworks. Written intrasemestral test and written final test. Results of the intrasemestral test is included in the overall evaluation. Tests are written without any reading materials.