2020 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
Ito Toshiya  Tanaka Keisuke 
Course component(s)
Lecture    (ZOOM)
Day/Period(Room No.)
Mon3-4(W833)  Thr3-4(W833)  
Course number
Academic year
Offered quarter
Syllabus updated
Lecture notes updated
Language used
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.


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

Competencies that will be developed

Specialist skills Intercultural skills Communication 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 Exercise-style lecture on the pumping lemma for context-free language Understand the applications of the pumping lemma

Out-of-Class Study Time (Preparation and Review)

To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.


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