トップページへ

2021 Faculty Courses School of Computing Undergraduate major in Mathematical and Computing Science

Theory of Automata and Languages

Academic unit or major
Undergraduate major in Mathematical and Computing Science
Instructor(s)
Toshiya Itoh / Keisuke Tanaka
Class Format
Lecture
Media-enhanced courses
-
Day of week/Period
(Classrooms)
3-4 Mon (W833) / 3-4 Thu (W833)
Class
-
Course Code
MCS.T214
Number of credits
200
Course offered
2021
Offered quarter
2Q
Syllabus updated
Jul 10, 2025
Language
Japanese

Syllabus

Course overview and goals

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.

Course description and aims

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

  • 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/Objectives

Course schedule Objectives
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

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

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

Study advice (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.

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.

Evaluation methods and criteria

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

Related courses

  • MCS.T213 : Introduction to Algorithms and Data Structures
  • MCS.T323 : Theory of Computation
  • MCS.T405 : Theory of Algorithms
  • ICT.C401 : Modern Cryptography

Prerequisites

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