Course detail

Theoretical Computer Science

FIT-TINAcad. year: 2020/2021

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

Czech

Number of ECTS credits

7

Mode of study

Not applicable.

Learning outcomes of the course unit

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.

Prerequisites

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

Co-requisites

Not applicable.

Planned learning activities and teaching methods

Not applicable.

Assesment methods and criteria linked to learning outcomes

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

 

Course curriculum

Not applicable.

Work placements

Not applicable.

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.

Specification of controlled education, way of implementation and compensation for absences

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.

 

Recommended optional programme components

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Not applicable.

Recommended reading

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

Elearning

Classification of course in study plans

  • Programme IT-MSC-2 Master's

    branch MGM , 1 year of study, winter semester, compulsory
    branch MBI , 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 MIS , 1 year of study, winter semester, compulsory
    branch MMI , 1 year of study, winter semester, compulsory
    branch MMM , 1 year of study, winter semester, compulsory
    branch MPV , 1 year of study, winter semester, compulsory
    branch MSK , 1 year of study, winter semester, compulsory

  • Programme MITAI Master's

    specialization NISY , 1 year of study, winter semester, compulsory
    specialization NADE , 1 year of study, winter semester, compulsory
    specialization NBIO , 1 year of study, winter semester, compulsory
    specialization NCPS , 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 NGRI , 1 year of study, winter semester, compulsory
    specialization NIDE , 1 year of study, winter semester, compulsory
    specialization NISD , 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 NNET , 1 year of study, winter semester, compulsory
    specialization NSEC , 1 year of study, winter semester, compulsory
    specialization NSEN , 1 year of study, winter semester, compulsory
    specialization NSPE , 1 year of study, winter semester, compulsory
    specialization NVER , 1 year of study, winter semester, compulsory
    specialization NVIZ , 1 year of study, winter semester, compulsory

Type of course unit

 

Lecture

39 hod., optionally

Teacher / Lecturer

Syllabus

  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.

Fundamentals seminar

26 hod., compulsory

Teacher / Lecturer

Syllabus

  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. 

Project

13 hod., compulsory

Teacher / Lecturer

Syllabus

  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.

Elearning