To Top Page

2026 (Current Year) Faculty Courses School of Engineering Undergraduate major in Information and Communications Engineering

Automata and Languages (ICT)

Academic unit or major
Undergraduate major in Information and Communications Engineering
Instructor(s)
Kotaro Funakoshi / Takahiro Shinozaki
Class Format
Lecture/Exercise (Face-to-face)
Media-enhanced courses
-
Day of week/Period
(Classrooms)
unknown
Class
-
Course Code
ICT.H212
Number of credits
210
Course offered
2026
Offered quarter
3Q
Syllabus updated
Aug 26, 2026
Language
Japanese

Syllabus

Course overview and goals

Students will study formal languages—which form the foundation of programming language processing and natural language processing—from two perspectives: the means of generation and the machines that recognize them. Specific topics covered in the course include phrase-structure grammars, regular expressions, regular grammars, finite automata, context-free grammars, and pushdown automata.

Course description and aims

Students will study formal languages—which form the foundation of programming language processing and natural language processing—from two perspectives: the means of generation (formal grammars) and the machines that recognize them (automata).

Keywords

Phrase-structure grammars, regular expressions, regular grammars, finite automata, context-free grammar, pushdown automata, formal languages

Competencies

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

Class flow

We will proceed according to the order of topics listed in the syllabus below. However, the "sessions" indicated in the plan do not correspond directly to specific class dates (there are 14 class days in total); for instance, on Mondays, we may cover two sessions' worth of material during the fourth period. Practical exercises will generally be conducted within the same time slot as the lectures rather than being scheduled on separate days, though there may be days dedicated solely to exercises. The class will be conducted in Japanese.

Course schedule/Objectives

Course schedule Objectives
Class 1

Phrase-structure grammars

Understand the topic on the left

Class 2

Regular grammars

Understand the topic on the left

Class 3

Finite state automata

Understand the topic on the left

Class 4

Automata with epsilon-transitions

Understand the topic on the left

Class 5

Minimization of deterministic finite automata

Understand the topic on the left

Class 6

Pumping lemma for regular languages

Understand the topic on the left

Class 7

Regular expressions

Understand the topic on the left

Class 8

Context-free grammars

Understand the topic on the left

Class 9

Chomsky normal form

Understand the topic on the left

Class 10

Pumping lemma for context-free languages

Understand the topic on the left

Class 11

Non-deterministic push-down automata

Understand the topic on the left

Class 12

Equivalence of NPDA and CFG

Understand the topic on the left

Class 13

Properties of context-free grammars

Understand the topic on the left

Class 14

Deterministic push-down automata

Understand the topic on the left

Study advice (preparation and review)

To enhance effective learning, students are encouraged to spend a certain length of time outside of class on preparation and review (including for assignments), as specified by the Tokyo Institute of Technology Rules on Undergraduate Learning (東京科学大学学修規程) and the Tokyo Institute of Technology Rules on Graduate Learning (東京科学大学大学院学修規程), for each class.
They should do so by referring to textbooks and other course material.

Textbook(s)

コンピュータサイエンスのための言語理論入門,R. Smith 著,吉田 敬一 他訳, 共立出版,1986

Reference books, course materials, etc.

オートマトン,言語理論,計算論I[第2版](Introduction to Automata Theory, Languages, and Computation Second Edition) J. Hopcroft, R. Motowani, J. Ullman 著,野崎 昭弘, 高橋 正子,町田 元,山崎 秀記 訳,サイエンス社,2003

Evaluation methods and criteria

Evaluation will be based on the final examination and exercises.

Related courses

  • ICT.H217 : Logic and Reasoning
  • CSC.T251 : Automata and Formal Languages
  • ICT.P204 : Basic Computer Programming (ICT)
  • ICT.P208 : Advanced Computer Programming (ICT)

Prerequisites

N/A