Course detail

# Theoretical Computer Science

FIT-TINAcad. year: 2023/2024

An overview of the applications of the formal language theory in modern computer science and engineering (compilers, system modelling and analysis, linguistics, etc.), the modelling and decision power of formalisms, regular languages and their properties, minimalization of finite-state automata, context-free languages and their properties, Turing machines, properties of recursively enumerable and recursive languages, computable functions, undecidability, undecidable problems of the formal language theory, and the introduction to complexity theory.

Language of instruction

Number of ECTS credits

Mode of study

Guarantor

Department

Entry knowledge

Basic knowledge of discrete mathematics concepts including algebra, mathematical logic, graph theory and formal languages concepts, and basic concepts of algorithmic complexity.

Rules for evaluation and completion of the course

The evaluation of the course consists of the test in the 4th week (max. 15 points) and the test in the 9th week (max. 15 points), the assignments (max 3-times 5 points), and the final exam (max 60 points).

The written test in the 4th week focuses on the regular languages and on a basic knowledge of the context-free languages. The written test in the 9th week focuses on advance topics in the context-free languages, and on the area of decidability and undecidability including constructions of Turing machines.

**The requirements to obtain the accreditation that is required for the final exam: The minimal total score of 18 points achieved from the assignments and from the tests in the 4th and 9th week (i.e. out of 40 points).**

**The final exam has 4 parts. Students have to achieve at least 4 points from each part and at least 25 points in total, otherwise the exam is evaluated by 0 points.**

** **

Aims

To acquaint students with more advanced parts of the formal language theory, with basics of the theory of computability, and with basic terms of the complexity theory.

The students are acquainted with basic as well as more advanced terms, approaches, and results of the theory of automata and formal languages and with basics of the theory of computability and complexity allowing them to better understand the nature of the various ways of describing and implementing computer-aided systems.

The students acquire basic capabilities for theoretical research activities.

Study aids

Prerequisites and corequisites

Basic literature

Kozen, D.C.: Automata and Computability, Springer-Verlag, New Yourk, Inc, 1997. ISBN 0-387-94907-0

Martin, J.C.: Introduction to Languages and the Theory of Computation, McGraw-Hill, Inc., 3rd ed., 2002. ISBN 0-072-32200-4

Brookshear, J.G. : Theory of Computation: Formal Languages, Automata, and Complexity, The Benjamin/Cummings Publishing Company, Inc, Redwood City, California, 1989. ISBN 0-805-30143-7

Aho, A.V., Ullmann, J.D.: The Theory of Parsing,Translation and Compiling, Prentice-Hall, 1972. ISBN 0-139-14564-8

Recommended reading

Češka, M., Rábová, Z.: Gramatiky a jazyky, Nakl. VUT Brno, 1992. ISBN 80-214-0449-3

Češka, M., Vojnar, T.: Studijní text k předmětu Teoretická informatika (http://www.fit.vutbr.cz/study/courses/TIN/public/Texty/TIN-studijni-text.pdf), 165 str. (in Czech)

Kozen, D.C.: Automata and Computability, Springer-Verlag, New Yourk, Inc, 1997. ISBN 0-387-94907-0

Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2nd ed., 2000. ISBN 0-201-44124-1

Aho, A.V., Ullmann, J.D.: The Theory of Parsing,Translation and Compiling, Prentice-Hall, 1972. ISBN 0-139-14564-8

Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.

Martin, J.C.: Introduction to Languages and the Theory of Computation, McGraw-Hill, Inc., 3rd ed., 2002. ISBN 0-072-32200-4

Brookshear, J.G. : Theory of Computation: Formal Languages, Automata, and Complexity, The Benjamin/Cummings Publishing Company, Inc, Redwood City, California, 1989. ISBN 0-805-30143-7

eLearning

**eLearning:**currently opened course

Classification of course in study plans

- Programme IT-MGR-2 Master's
branch MBI , 1. year of study, winter semester, compulsory

branch MPV , 1. year of study, winter semester, compulsory

branch MGM , 1. year of study, winter semester, compulsory

branch MSK , 1. year of study, winter semester, compulsory

branch MIS , 1. year of study, winter semester, compulsory

branch MBS , 1. year of study, winter semester, compulsory

branch MIN , 1. year of study, winter semester, compulsory

branch MMM , 1. year of study, winter semester, compulsory - Programme MITAI Master's
specialization NADE , 1. year of study, winter semester, compulsory

specialization NBIO , 1. year of study, winter semester, compulsory

specialization NGRI , 1. year of study, winter semester, compulsory

specialization NNET , 1. year of study, winter semester, compulsory

specialization NVIZ , 1. year of study, winter semester, compulsory

specialization NCPS , 1. year of study, winter semester, compulsory

specialization NSEC , 1. year of study, winter semester, compulsory

specialization NEMB do 2021/22 , 1. year of study, winter semester, compulsory

specialization NEMB , 1. year of study, winter semester, compulsory

specialization NHPC , 1. year of study, winter semester, compulsory

specialization NISD , 1. year of study, winter semester, compulsory

specialization NIDE , 1. year of study, winter semester, compulsory

specialization NISY do 2020/21 , 1. year of study, winter semester, compulsory

specialization NISY , 1. year of study, winter semester, compulsory

specialization NMAL , 1. year of study, winter semester, compulsory

specialization NMAT , 1. year of study, winter semester, compulsory

specialization NSEN , 1. year of study, winter semester, compulsory

specialization NVER , 1. year of study, winter semester, compulsory

specialization NSPE , 1. year of study, winter semester, compulsory

#### Type of course unit

Lecture

Teacher / Lecturer

Syllabus

- An introduction to the theory of formal languages, regular languages and grammars, finite automata, regular expressions.
- Minimization of finite-state automata, pumping theorem, Nerod's theorem, decidable problems of regular languages.
- Context-free languages and grammars, push-down automata, transformations and normal forms of context-free grammars.
- Advanced properties of context-free languages, pumping theorem for context-free languages, decidable problems of context-free languages, deterministic context-free languages.
- Turing machines (TMs), the language accepted by a TM, recursively enumerable and recursive languages and problems.
- TMs and type-0 languages, properties of recursively enumerable and recursive languages, linearly bounded automata and type-1 languages.
- The Church-Turing thesis, undecidability, the halting problem, reductions, Post's correspondence problem, undecidable problems of the formal language theory, diagonalization.
- Predicate logic and its axiomatization.
- Gödel's incompleteness theorems.
- An introduction to the computational complexity, Turing complexity, asymptotic complexity.
- P and NP classes, polynomial reduction, completeness.
- Amortized complexity, problems beyond NP.

Fundamentals seminar

Teacher / Lecturer

Syllabus

- Basics of discrete mathematics, Formal languages, and operations over them. Grammars, the Chomsky hierarchy of grammars and languages.
- Regular languages and finite-state automata (FSA) and their determinization.
- Conversion of regular expressions to FSA. Minimization of FSA. Pumping lemma
- Context-free languages and grammars. Transformations of context-free grammars.
- Operations on context-free languages and their closure properties. Pumping lemma for context-free languages.
- Push-down automata, (nondeterministic) top-down and bottom-up syntax analysis. Deterministic push-down languages.
- Turing machines.
- Decidability, semi-decidability, and undecidability of problems, reductions of problems I.
- Decidability, semi-decidability, and undecidability of problems, reductions of problems II.
- Predicate logic I.
- Predicate logic II.
- Complexity classes. Properties of space and time complexity classes.
- P and NP problems. Polynomial reduction.

Project

Teacher / Lecturer

Syllabus

- Assignment in the area of regular and contex-free languages.
- Assignment in the area of context-free languages and Turing machines.
- Assignment in the area of undecidability and complexity.

eLearning

**eLearning:**currently opened course