Course details

Theoretical Computer Science

TIN Acad. year 2020/2021 Winter semester 7 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, and the introduction to complexity theory.

News

Informace o organizaci výuky během uzavření fakulty pro prezenční výuku budou průběžně zveřejňovány ve WISu ve fóru předmětu: TIN: organizace předmětu v období zrušené prezenční výuky

Guarantor

Deputy Guarantor

Language of instruction

Czech

Completion

Credit+Examination (written+oral)

Time span

39 hrs lectures, 26 hrs exercises, 13 hrs projects

Assessment points

60 exam, 25 half-term test, 15 projects

Department

Lecturer

Instructor

Course Web Pages

Subject specific learning outcomes and competences

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. 

Generic learning outcomes and competences

The students acquire basic capabilities for theoretical research activities.

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.

Why is the course taught

The course acquaints students with fundamental principles of computer science and allows them to understand where boundaries of computability lie, what the costs of solving various problems on computers are, and hence where there are limits of what one can expect from solving problems on computing devices - at least those currently known. Further, the course acquaints students, much more deeply than in the bachelor studies, with a number of concrete concepts, such as various kinds of automata and grammars, and concrete algorithms over them, which are commonly used in many application areas (e.g., compilers, text processing, network traffic analysis, optimisation of both hardware and software, modelling and design of computer systems, static and dynamic analysis and verification, artificial intelligence, etc.). Deeper knowledge of this area will allow the students to not only apply existing algorithms but to also extend them and/or to adjust them to fit the exact needs of the concrete problem being solved as often needed in practice. Finally, the course builds the students capabilities of abstract and systematic thinking, abilities to read and understand formal texts (hence allowing them to understand and apply in practice continuously appearing new research results), as well as abilities of exact communication of their ideas.

Prerequisite kwnowledge and skills

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

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

Syllabus of lectures

  1. An introduction to the theory of formal languages, regular languages and grammars, finite  automata, regular expressions.
  2. Minimization of finite-state automata, pumping theorem, Nerod's theorem, decidable problems of regular languages.
  3. Context-free languages and grammars, push-down automata, transformations and normal forms of context-free grammars.
  4. Advanced properties of context-free languages, pumping theorem for context-free languages, decidable problems of context-free languages, deterministic context-free languages. 
  5. Turing machines (TMs), the language accepted by a TM, recursively enumerable and recursive languages and problems.
  6. TMs with more tapes, nondeterministic TMs, universal TMs.
  7. The relation of TMs and computable functions.
  8. TMs and type-0 languages, diagonalization, properties of recursively enumerable and recursive languages, linearly bounded automata and type-1 languages. 
  9. The Church-Turing thesis, undecidability, the halting problem, reductions, Post's correspondence problem, undecidable problems of the formal language theory. 
  10. Gödel's incompleteness theorems.
  11. An introduction to the computational complexity, Turing complexity, asymptotic complexity.
  12. P and NP classes and beyond, polynomial reduction, completeness.

Syllabus of numerical exercises

  1. Formal languages, and operations over them. Grammars, the Chomsky hierarchy of grammars and languages. 
  2. Regular languages and finite-state automata (FSA) and their determinization.
  3. Conversion of regular expressions to FSA. Minimization of FSA. Pumping lemma
  4. Context-free languages and grammars. Transformations of context-free grammars. 
  5. Operations on context-free languages and their closure properties. Pumping lemma for context-free languages. 
  6. Push-down automata, (nondeterministic) top-down and bottom-up syntax analysis. Deterministic push-down languages. 
  7. Turing machines.
  8. Turing machines and computable functions.
  9. Recursive and recursively enumerable languages and their properties. 
  10. Decidability, semi-decidability, and undecidability of problems, reductions of problems. 
  11. Complexity classes. Properties of space and time complexity classes. 
  12. P and NP problems. Polynomial reduction. 

Syllabus - others, projects and individual work of students

  1. Assignment  in the area of regular and context free languages.
  2. Assignment  in the area of Turing machines and the theory of undecidability.
  3. Assignment  in the area of computable functions and complexity.

Progress assessment

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

Controlled instruction

A written exam in the 4th week focusing on the fundamental as well as on advance topics  in the area of regular languages.  A written exam in the 9th week focusing on advance topics in the area of context-free languages, and on Turing machines, regular evaluation of the assignments, a final written exam. Students have to achieve at least 25 points, otherwise the exam is assessed by 0 points.

 

Exam prerequisites

The minimal total score of 15 points achieved from the first two assignments, and from the exams in the 4th and 9th week (i.e. out of 35 points).

 

Schedule

DayTypeWeeksRoomStartEndLect.grpGroupsInfo
Monexerciselectures D0207 08:0009:50 1MIT 2MIT xx
Monexercise3., 5., 6., 7., 8., 10., 12., 13. of lectures D0207v 08:0009:50TM, MST, Epson
Monexerciselectures D0207 10:0011:50 1MIT 2MIT xx
Monexercise3., 5., 6., 7., 8., 10., 12., 13. of lectures D0207v 10:0011:50TM, MST, Epson
Monexerciselectures A113 11:0012:50 1MIT 2MIT xx
Monexercise3., 5., 6., 7., 8., 10., 12., 13. of lectures A113v 11:0012:50MST, Epson, Logitech, bez projekce; Vojnar
Monexerciselectures D0207 16:0017:50 1MIT 2MIT xx
Monexercise3., 5., 6., 7., 8., 10., 12., 13. of lectures D0207v 16:0017:50TM, MST, Epson
Monexercise2020-11-16 D0207v 17:0018:50TM, MST, Epson
Monexerciselectures D0207 18:0019:50 1MIT 2MIT xx
Monexercise3., 5., 6., 7., 8., 10., 12., 13. of lectures D0207v 18:0019:50TM, MST, Epson
Tueexam2021-01-05 A112 A113 A218 C228 D0206 D0207 D105 E104 E105 E112 G108 G202 L314 M103 M104 M105 N103 N104 N105 N203 N204 N205 O204 13:0015:50 1MIT 2MIT řádná
Tueexam2021-02-02 A112 A113 D0206 D0207 D105 E104 E105 E112 G108 G202 13:0015:50 1MIT 2MIT 2. oprava
Tueexam2021-01-19 A112 A113 A218 C228 D0206 D0207 D105 E104 E105 E112 G108 G202 L314 M103 M104 M105 14:0016:50 1MIT 2MIT 1. oprava
Tuelecturelectures D0206 D105 15:0017:50 1MIT 2MIT NBIO - NSPE xx
Tuelecture2. of lectures D105v 15:0017:50YT, ZP, MST
Tuelecture3., 4., 5., 6., 7., 8., 10., 11., 12., 13. of lectures D105v 15:0017:50YT, ZP, MST, Logitech, bez projekce
Friexerciselectures D0206 13:0015:50 1MIT 2MIT NBIO - NSPE xx
Friexercise7., 8. of lectures D0207v 13:0015:50TM, MST, Epson, Logitech; Vojnar
Friexercise3., 5. of lectures D0207v 13:0014:50TM, MST, Epson, Logitech
Friexerciselectures D105 13:0015:50 1MIT 2MIT NBIO - NSPE xx
Friexercise9., 11. of lectures G202v 13:0015:50YT, ZP, MST, Epson, Logitech
Friexercise2020-10-30 A112v 13:0014:50TM, MST, Epson, Logitech; Vojnar
Friexercise2020-10-30 D0207v 17:0017:50TM, MST, Epson; Češka

Course inclusion in study plans

Back to top