Title:  Theoretical Computer Science 

Code:  TIN 

Ac.Year:  2008/2009 

Sem:  Winter 

Curriculums:  

Language of Instruction:  Czech, English 

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  20  0  0  20 



Guarantor:  Češka Milan, prof. RNDr., CSc. (DITS) 

Lecturer:  Češka Milan, prof. RNDr., CSc. (DITS) 
Instructor:  Holík Lukáš, Mgr., Ph.D. (DITS) Rogalewicz Adam, doc. Mgr., Ph.D. (DITS) Vojnar Tomáš, prof. Ing., 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.  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 competencies: 

  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 competencies: 

  The students acquire basic capabilities for theoretical research activities.  Syllabus of lectures: 


 An overview of the applications of the formal language theory, the
modelling and decision power of formalisms, operations over languages.
 Regular languages and their properties, Kleene's theorem, Nerod's theorem, Pumping lemma.
 Minimalization of finitestate automata, the relation of
indistinguishability of automata states, construction of a reduced
finitestate automaton.
 Closure properties of regular languages, regular languages as a Boolean algebra, decidable problems of regular languages.
 Contextfree languages and their properties, normal forms of
contextfree grammars, unambiguous and deterministic contextfree
languages, Pumping lemma for contextfree languages.
 Closure properties of contextfree languages, closedness
wrt. substitution and its consequences, decidable problems of
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, diagonalisation, properties of
recursively enumerable and recursive languages, linearly bounded
automata and type1 languages.
 Computable functions, initial functions, primitive recursive
functions, murecursive functions, the relation of TMs and computable
functions.
 The ChurchTuring thesis, universal TMs, undecidability, the halting problem, reductions, the Post's correspondence problem.
 Undecidable problems of the formal language theory.
 An introduction to the computational complexity, Turing complexity, the P and NP classes and beyond.
 Syllabus  others, projects and individual work of students: 


 A homework on regular languages and finitestate automata.
 A homework on contextfree languages.
 A homework on Turing machines.
 A homework on computable functions.
 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
 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 midterm exam, a regular evaluation of homeworks.
 Progress assessment: 

  A midterm exam evaluation (max. 20 points) and an evaluation of homeworks (max 20 points).  Exam prerequisites: 

  The minimal total score of 15 points gained out of the first three assignements and the midterm exam (i.e. out of 35 points).  
