Title:  Theoretical Computer Science 

Code:  TIN 

Ac.Year:  2017/2018 

Term:  Winter 

Curriculums:  

Language of Instruction:  Czech 

Public info:  http://www.fit.vutbr.cz/study/courses/TIN/public/ 

Private info:  http://www.fit.vutbr.cz/study/courses/TIN/private/ 

Credits:  5 

Completion:  credit+exam (written&verbal) 

Type of instruction:  Hour/sem  Lectures  Seminar Exercises  Laboratory Exercises  Computer Exercises  Other 

Hours:  39  0  0  0  13 

 Exams  Tests  Exercises  Laboratories  Other 

Points:  60  25  0  0  15 



Guarantor:  Č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 

Followups:  

 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.  Description: 

  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 finitestate automata, contextfree 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 computeraided 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: 


 An introduction to the theory of formal languages,
regular languages and grammars, finite
automata, regular expressions.
 Contextfree languages and grammars, pushdown automata.
 Regular languages as a Boolean algebra, Kleene's
algebra, Kleene's theorem, minimization of finitestate automata.
 Pumping lemma, Nerod's theorem, decidable
problems of regular languages. Transformations and normal forms of contextfree grammars
 Advanced properties of contextfree languages, Pumping
lemma for contextfree languages, decidable problems of contextfree
languages. Deterministic contextfree 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 pushdown
stacks, automata with counters.
 TMs and type0 languages, diagonalization, properties
of recursively enumerable and recursive languages, linearly bounded
automata and type1 languages.
 The ChurchTuring 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, murecursive 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. Lectures 35 deepen the knowledge in the area of regular and contextfree languages. Lectures 612 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: 


 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.
 Fundamental literature: 


 Kozen, D.C.: Automata and Computability, SpringerVerlag, New Yourk, Inc, 1997. ISBN 0387949070
 Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2nd ed., 2000. ISBN 0201441241
 Martin, J.C.: Introduction to Languages and the Theory of Computation, McGrawHill, Inc., 3rd ed., 2002. ISBN 0072322004
 Brookshear, J.G.: Theory of Computation: Formal Languages, Automata, and Complexity, The Benjamin/Cummings Publishing Company, Inc, Redwood City, California, 1989. ISBN 0805301437
 Aho, A.V., Ullmann, J.D.: The Theory of Parsing,Translation and Compiling, PrenticeHall, 1972. ISBN 0139145648
 Reisig, W.: Petri Nets, An Introduction, Springer Verlag, 1985. ISBN: 0387137238
 Study literature: 


 Kozen, D.C.: Automata and Computability, SpringerVerlag, New Yourk, Inc, 1997. ISBN 0387949070
 Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation, Addison Wesley, 2nd ed., 2000. ISBN 0201441241
 Controlled instruction: 

  A written exam in the 3rd
week focusing on the fundamental knowledge in the area of regular and
contextfree languages, a written exam in the 9th week focusing on advance
topics in the area of regular and contextfree 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 3times 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).
 
