Course details

# Theoretical Computer Science (in English)

TINe Acad. year 2023/2024 Summer semester 5 credits

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.

Guarantor

Language of instruction

Completion

Time span

- 39 hrs lectures
- 13 hrs projects

Assessment points

- 60 pts final exam (written part)
- 20 pts mid-term test (written part)
- 20 pts projects

Department

Lecturer

Learning objectives

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 are capable of applying the acquainted knowledge when solving complex theoretical as well as practical problems in the areas of system modelling, programming, formal specification and verification, and artificial intelligence.

The students acquire basic capabilities for theoretical research activities.

Prerequisite knowledge and skills

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

Study literature

- Kozen, D.C.: Automata and Computability, Springer-Verlag, New York, 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
- Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.
- Aho, A.V., Ullmann, J.D.: The Theory of Parsing,Translation and Compiling, Prentice-Hall, 1972. ISBN 0-139-14564-8

Fundamental literature

- 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
- 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

Syllabus of lectures

- An overview of the applications of the formal language theory, the modelling and decision power of formalisms, operations over languages.
- Regular languages and their properties, Kleene's theorem, Nerod's theorem, Pumping lemma.
- Minimization of finite-state automata, the relation of indistinguishability of automata states, construction of a reduced finite-state automaton.
- Closure properties of regular languages, regular languages as a Boolean algebra, decidable problems of regular languages.
- Context-free languages and their properties, normal forms of context-free grammars, unambiguous and deterministic context-free languages, Pumping lemma for context-free languages.
- Closure properties of context-free languages, closedness wrt. substitution and its consequences, decidable problems of context-free languages.
- Turing machines (TMs), the language accepted by a TM, recursively enumerable and recursive languages and problems, TMs and functions, methods of constructing TMs.
- Modifications of TMs, TMs with a tape infinite on both sides, with more tapes, nondeterministic TMs, automata with two push-down stacks, automata with counters.
- TMs and type-0 languages, diagonalisation, properties of recursively enumerable and recursive languages, linearly bounded automata and type-1 languages.
- Computable functions, initial functions, primitive recursive functions, mu-recursive functions, the relation of TMs and computable functions.
- The Church-Turing thesis, universal TMs, undecidability, the halting problem, reductions, the Post's correspondence problem.
- Undecidable problems of the formal language theory.
- An introduction to the computational complexity, Turing complexity, the P and NP classes and beyond.

Syllabus - others, projects and individual work of students

- A homework on regular languages and finite-state automata.
- A homework on context-free languages.
- A homework on Turing machines.
- A homework on computable functions.

Progress assessment

- Mid-term exam evaluation - 20 points.
- Evaluation of homeworks - 20 points.
- Final exam - 60 points. For receiving the credit and thus for entering the exam, students have to obtain at least 18 points gained out of the assignments and the mid-term exam.

A written mid-term exam, a regular evaluation of homeworks.

Exam prerequisites

Schedule

Day | Type | Weeks | Room | Start | End | Capacity | Lect.grp | Groups | Info |
---|---|---|---|---|---|---|---|---|---|

Wed | exam | 2024-05-15 | A218 | 13:00 | 16:00 | řádná | |||

Wed | exam | 2024-04-03 | D0207 | 16:00 | 18:00 | Midterm test | |||

Wed | lecture | 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 12., 13. of lectures | D0207 | 16:00 | 18:50 | 64 | 1EIT 2EIT INTE | MGMe MITP-EN xx | Češka |

Wed | lecture | 2024-02-07 | D0207 | 16:00 | 18:50 | 64 | 1EIT 2EIT INTE | MGMe MITP-EN xx | Macák |

Course inclusion in study plans

- Programme IT-MGR-2 (in English), field MGMe, 1st year of study, Compulsory
- Programme MIT-EN (in English), 1st year of study, Compulsory