2019 Theory of Automata and Languages

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Mathematical and Computing Science
Instructor(s)
Ito Toshiya  Tanaka Keisuke 
Course component(s)
Lecture
Day/Period(Room No.)
Mon3-4(W833)  Thr3-4(W833)  
Group
-
Course number
MCS.T214
Credits
2
Academic year
2019
Offered quarter
2Q
Syllabus updated
2019/3/18
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

This course gives an introduction of the theory of automata and language, as a foundation of the theory of computation including computability and complexity. By understanding the contents of this course, students will learn mathematical properties on the software and the hardware of computers. The topics studied in this course include strings and language, finite automata, nondeterminism, regular expressions, context-free grammar, pushdown automata, and the pumping lemmas.

Student learning outcomes

By the end of this course, students will be able to understand:
1) the mathematical objects in language theory
2) the models and the properties for regular language
3) the models and the properties for context-free language.

Keywords

Automata, language, string, finite automata, nondeterminism, regular expression, context-free grammar, pushdown automata, the pumping lemma

Competencies that will be developed

Intercultural skills Communication skills Specialist skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Each class includes a standard or an exercise style of lecture. An exercise style of lecture includes supplementary materials and the answers for the quizzes. Each class also includes quizzes on the contents of this class or the previous classes.

Course schedule/Required learning

  Course schedule Required learning
Class 1 Overview of this course, computational problems, strings and languages Understand the notion of strings and languages
Class 2 Deterministic finite automata, descriptions of automata based on the formalized definition Understand the notion of deterministic finite automata
Class 3 Nondeterminism, the equivalence between deterministic and nondeterministic automata Understand the notion of nondeterminism
Class 4 Exercise-style lecture on finite automata Understand the methods for constructing finite automata
Class 5 The regular operations, closure under the regular operations, regular expressions Understand the notion of regular expressions
Class 6 Equivalence between regular expressions and finite automata Understand the properties on regular expressions
Class 7 The pumping lemma for regular languages Understand the notion of the pumping lemma
Class 8 Context-free grammar, ambiguity of context-free grammar Understand the notion of context-free grammar
Class 9 Exercise-style lecture on the pumping lemma for regular language, and on context-free grammar Understand the applications of the pumping lemma
Class 10 Chomsky normal form Understand the method for transforming context-free grammar to Chomsky normal form
Class 11 Pushdown automata, Equivalence between pushdown automata and context-free grammar I Understand the notion of pushdown automata
Class 12 Equivalence between pushdown automata and context-free grammar II Understand the transformation in the proof of the equivalence
Class 13 The pumping lemma for context-free language Understand the notion of the pumping lemma
Class 14 strings and language, finite automata, nondeterminism, regular expressions, context-free grammar, pushdown automata, the pumping lemmas Understand the applications of the pumping lemma
Class 15 Advanced topics Understand the advanced topics

Textbook(s)

Introduction to the Theory of Computation, Second Edition, Michael Sipser, Thomson Course Technology, 2005, ISBN 978-0534-95097-2.

Reference books, course materials, etc.

References will be announced in the first class.

Assessment criteria and methods

The evaluation consists of the quizzes in classes (60%) and the final exam (40%).

Related courses

  • MCS.T213 : Introduction to Algorithms and Data Structures
  • MCS.T323 : Theory of Computation
  • MCS.T411 : Computational Complexity Theory
  • MCS.T405 : Theory of Algorithms
  • MCS.T508 : Theory of Cryptography

Prerequisites (i.e., required knowledge, skills, courses, etc.)

It is preferable to have the knowledge on the basics of algorithms and data structures.

Page Top