Course details

# Theoretical Computer Science

TIN Acad. year 2019/2020 Winter semester 7 credits

Guarantor

Deputy Guarantor

Language of instruction

Completion

Time span

Assessment points

Department

Lecturer

Češka Milan, RNDr., Ph.D. (DITS FIT BUT)

Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)

Instructor

Holík Lukáš, Mgr., Ph.D. (DITS FIT BUT)

Lengál Ondřej, Ing., Ph.D. (DITS FIT BUT)

Rogalewicz Adam, doc. Mgr., Ph.D. (DITS FIT BUT)

Vojnar Tomáš, prof. Ing., Ph.D. (DITS FIT BUT)

Course Web Pages

Subject specific learning outcomes and competences

Generic learning outcomes and competences

Learning objectives

Why is the course taught

Prerequisite kwnowledge and skills

Study 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
- Meduna, A.: Formal Languages and Computation. New York, Taylor & Francis, 2014.
- Č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)

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
- 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
- Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0-387-13723-8

Syllabus of lectures

- An introduction to the theory of formal languages, regular languages and grammars, finite automata, regular expressions.
- Context-free languages and grammars, push-down automata.
- Regular languages as a Boolean algebra, Kleene's algebra, Kleene's theorem, minimization of finite-state automata.
- Pumping lemma, Nerod's theorem, decidable problems of regular languages. Transformations and normal forms of context-free grammars
- Advanced properties of context-free languages, Pumping lemma 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 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, diagonalization, properties of recursively enumerable and recursive languages, linearly bounded automata and type-1 languages.
- The Church-Turing thesis, universal TMs, undecidability, the halting problem, reductions, Post's correspondence problem. Undecidable problems of the formal language theory.
- Computable functions, initial functions, primitive recursive functions, mu-recursive functions, the relation of TMs and computable functions, asymptotic complexity.
- An introduction to the computational complexity, Turing complexity,
- P and NP classes, and beyond. Polynomial reduction, Completeness.
- Introduction to Petri nets, motivations, definition of P/T Petri nets, methods of Petri net analyses, Petri net classes.

[The first two lectures summarize and formalize the body of knowledge acquired in the IFJ course at FIT VUT. Lectures 3-5 deepen the knowledge in the area of regular and context-free languages. Lectures 6-12 introduce the fundamental principles and concepts in the area of computability and complexity of formal languages and problems. The last lecture introduces the fundamental principles in the area of mathematical description, modeling, and analysis of parallel and distributed dynamical systems using Petri Nets.]

Syllabus of numerical exercises

- Sets and relations. Strings, languages, and operations over them. Grammars, the Chomsky hierarchy of grammars and languages.
- Regular languages and finite-state automata (FSA), determinization and minimization of FSA, conversion of regular expressions to FSA.
- Kleene algebra. Pumping lemma, proofs of non-regularity of languages.
- 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.
- Recursive and recursively enumerable languages and their properties.
- Decidability, semi-decidability, and undecidability of problems, reductions of problems.
- Computable functions. Other Turing-complete computing mechanisms (automata with multiple push-down stacks, counter automata).
- Complexity classes. Properties of space and time complexity classes.
- NP problems. Polynomial reduction.
- Petri nets

Syllabus - others, projects and individual work of students

- Assignment in the area of regular and context free languages.
- Assignment in the area of Turing machines and the theory of undecidability.
- Assignment in the area of computable functions, complexity, and Petri nets.

Progress assessment

Controlled instruction

**Students have to achieve at least 25 points, otherwise the exam is assessed by 0 points.**

** **

Exam prerequisites

Schedule

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

Mon | exercise | lectures | D0207 | 12:00 | 13:50 | 1MIT 2MIT | xx | |

Mon | exercise | lectures | D0207 | 18:00 | 19:50 | 1MIT 2MIT | xx | |

Tue | lecture | lectures | D0206 D105 | 15:00 | 17:50 | 1MIT 2MIT | MBI - MSK xx | |

Thu | exercise | lectures | A113 | 08:00 | 09:50 | 1MIT 2MIT | xx | |

Thu | exercise | lectures | E112 | 16:00 | 17:50 | 1MIT 2MIT | ||

Fri | exercise | lectures | D0207 | 11:00 | 12:50 | 1MIT 2MIT | ||

Fri | exercise | lectures | D0206 D105 | 14:00 | 16:50 | 1MIT 2MIT | MBI - MSK xx |

Course inclusion in study plans