授業名 | プログラミング言語論(99MD014) | 授業名(英) | |
教員名 | 青谷 知幸 | ||
開講年度学期 | 2025年度 前期 | ||
曜日時限 | 木曜5限 | ||
開講学科 | 大学院 工学研究科 数理情報科学専攻 |
単位 | 2.0 | 学年 | 修士課程1年 |
区分 | 専門科目 講義・演習 | 課程 | 選択 |
概要 | プログラミング言語の基本的な概念と原理を学ぶ。特に、型がプログラムの正しさと効率性を保証する役割に焦点を当てる。構文、意味論、型システム、型推論、多相性、サブタイピング、再帰、ラムダ計算などのトピックを扱う。教科書としてBenjamin C. Pierce による“Types and Programming Languages” を挙げているが、日本語訳版も出版されており、こちらを用いてもよい。 |
達成目標 | ・型健全性について説明できる。 ・操作的意味論について説明できる。 ・型健全性を証明できる。 |
学習教育目標 | |
成績評価方法 | レポート:100%(授業での発表を含む) |
教科書 | “Types and Programming Languages” by Benjamin C. Pierce |
参考書 | なし |
履修上の注意 |
授業計画 | 第1回 教育課程における本授業の位置付け、授業の概要、学習・教育到達目標を理解する。 講義の導入および教科書1・2章の内容を教授する。 第2回 3章を輪読する。 (1) 第3回 3章:を輪読する。 (2) 第4回 5章:Untyped Lambda Calculusを輪読する。 (1) 第5回 5章:Untyped Lambda Calculusを輪読する。 (2) 第6回 9章:Simply Typed Lambda Calculusを輪読する。 (1) 第7回 9章:Simply Typed Lambda Calculusを輪読する。 (2) 第8回 11章:Simple Expressionsを輪読する。 (1) 第9回 11章:Simple Expressionsを輪読する。 (2) 第10回 15章: Subtypingを輪読する。 (1) 第11回 15章: Subtypingを輪読する。 (2) 第12回 19章: Featherweight Javaを輪読する。 (1) 第13回 19章: Featherweight Javaを輪読する。(2) 第14回 23章: Universal Typesを輪読する。(1) 第15回 23章: Universal Typesを輪読する。(2) |
注意 |
- 教員: 青谷 知幸