Theoretical Computer Science

Public info:http://www.fit.vutbr.cz/study/courses/TIN/public/
Private info:http://www.fit.vutbr.cz/study/courses/TIN/private/
Completion:accreditation+exam (written&verbal)
Type of
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Guarantee:Češka Milan, prof. RNDr., CSc., DITS
Lecturer:Češka Milan, prof. RNDr., CSc., DITS
Instructor:Češka Milan, RNDr., Ph.D., DITS
Holík Lukáš, Mgr., Ph.D., DITS
Lengál Ondřej, Ing., Ph.D., DITS
Rogalewicz Adam, doc. Mgr., Ph.D., DITS
Faculty:Faculty of Information Technology BUT
Department:Department of Intelligent Systems FIT BUT
Complexity (SLOa), DITS
Functional and Logic Programming (FLP), DIFS
Parallel and Distributed Algorithms (PRL), DITS
Petri Nets (PES), DITS
TuelecturelecturesD10514:0016:501MIT10 MBI10 MBI
TuelecturelecturesD020614:0016:501MIT10 MBI10 MBI
TuelecturelecturesD10514:0016:501MIT11 MBS11 MBS
TuelecturelecturesD020614:0016:501MIT11 MBS11 MBS
TuelecturelecturesD10514:0016:501MIT12 MGM12 MGM
TuelecturelecturesD020614:0016:501MIT12 MGM12 MGM
TuelecturelecturesD10514:0016:501MIT13 MIN13 MIN
TuelecturelecturesD020614:0016:501MIT13 MIN13 MIN
TuelecturelecturesD10514:0016:501MIT14 MIS14 MIS
TuelecturelecturesD020614:0016:501MIT14 MIS14 MIS
TuelecturelecturesD10514:0016:501MIT15 MMI15 MMI
TuelecturelecturesD020614:0016:501MIT15 MMI15 MMI
TuelecturelecturesD10514:0016:501MIT16 MMM16 MMM
TuelecturelecturesD020614:0016:501MIT16 MMM16 MMM
TuelecturelecturesD10514:0016:501MIT17 MPV17 MPV
TuelecturelecturesD020614:0016:501MIT17 MPV17 MPV
TuelecturelecturesD10514:0016:501MIT18 MSK18 MSK
TuelecturelecturesD020614:0016:501MIT18 MSK18 MSK
TueKonzultace k průběžné zkoušce.2017-10-17A21817:0017:50
Wedexam - řádná2018-01-03D10513:0015:501MIT
Wedexam - řádná2018-01-03D10513:0015:502MIT
Wedexam - řádná2018-01-03D020613:0015:501MIT
Wedexam - řádná2018-01-03D020613:0015:502MIT
Wedexam - řádná2018-01-03D020713:0015:501MIT
Wedexam - řádná2018-01-03E11213:0015:501MIT
Wedexam - řádná2018-01-03E10413:0015:501MIT
Wedexam - řádná2018-01-03E10513:0015:501MIT
Wedexam - řádná2018-01-03G20213:0015:501MIT
Thuexam - 1. oprava2018-01-18D10513:0015:501MIT
Thuexam - 1. oprava2018-01-18D10513:0015:502MIT
Thuexam - 1. oprava2018-01-18D020613:0015:501MIT
Thuexam - 1. oprava2018-01-18D020713:0015:502MIT
Thuexam - 2. oprava2018-02-01D10513:0015:501MIT
Thuexam - 2. oprava2018-02-01D10513:0015:502MIT
Thuexam - 2. oprava2018-02-01D020713:0015:501MIT
Thuexam - 2. oprava2018-02-01D020713:0015:502MIT
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.
  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, introduction to complexity theory and Petri nets.
Knowledge and skills required for the course:
  Basic knowledge of discrete mathematics concepts including graph theory and formal languages concepts, and basic concepts of algorithmic complexity.
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. 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.
Generic learning outcomes and competences:
  The students acquire basic capabilities for theoretical research activities.
Syllabus of lectures:
  1. An introduction to the theory of formal languages, regular languages and grammars, finite  automata, regular expressions.
  2. Context-free languages and grammars, push-down automata.
  3. Regular languages as a Boolean algebra, Kleene's algebra, Kleene's theorem, minimization of finite-state automata. 
  4. Pumping lemma, Nerod's theorem, decidable problems of regular languages. Transformations and normal forms of context-free grammars
  5. Advanced properties of context-free languages, Pumping lemma for context-free languages, decidable problems of context-free languages. Deterministic context-free languages. 
  6. Turing machines (TMs), the language accepted by a TM, recursively enumerable and recursive languages and problems, TMs and functions, methods of constructing TMs. 
  7. 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. 
  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, universal TMs, undecidability, the halting problem, reductions, Post's correspondence problem. Undecidable problems of the formal language theory. 
  10. Computable functions, initial functions, primitive recursive functions, mu-recursive functions, the relation of TMs and computable functions, asymptotic complexity. 
  11. An introduction to the computational complexity, Turing complexity,
  12. P and NP classes, and beyond. Polynomial reduction, Completeness.
  13. 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. 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 - 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, complexity, and Petri nets.
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
  • Aho, A.V., Ullmann, J.D.: The Theory of Parsing,Translation and Compiling, Prentice-Hall, 1972. ISBN 0-139-14564-8
  • Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0-387-13723-8
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
Controlled instruction:
  A written exam in the 3rd week focusing on the fundamental knowledge in the area of regular and context-free languages, a written exam in the 9th week focusing on advance topics in the area of regular and 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.


Progress assessment:
  An evaluation of the exam in the 3rd week (max. 20 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 3rd and 9th week (i.e. out of 35 points).