授業名プログラミング言語論(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)

注意