2024年度 学院等開講科目 情報理工学院 数理・計算科学系 数理・計算科学コース
プログラミング言語理論
- 開講元
- 数理・計算科学コース
- 担当教員
- 叢 悠悠
- 授業形態
- 講義 (対面型)
- メディア利用科目
- -
- 曜日・時限
(講義室) - 月5-6 (W3-707(W371)) / 木5-6 (W3-707(W371))
- クラス
- -
- 科目コード
- MCS.M428
- 単位数
- 200
- 開講時期
- 2024年度
- 開講クォーター
- 2Q
- シラバス更新日
- 2025年3月14日
- 使用言語
- 英語
シラバス
授業の目的(ねらい)、概要
プログラミング言語は人間が計算機とコミュニケーションを行うためのツールである。自然言語と同様に、プログラミング言語の背後には理論があり、その理論を使うと複雑なプログラムに対して厳密な議論を行うことができる。本講義はプログラミング言語理論の基本的な知識の習得を目標とする。特に、継続とよばれる、例外やコルーチンなど多くの実用的な機能を表現可能な概念の意味論に着目する。
到達目標
本講義は以下の技能を身に付けることを目標とする。
- プラグラミング言語のさまざまな機能を継続の操作として表現する技能
- プログラムの意味を数学的な視点で説明する技能
キーワード
関数型プログラミング, 継続, 制御演算子, 代数的エフェクトとハンドラ, ラムダ計算, 操作的意味論, 型システム
学生が身につける力
- 専門力
- 教養力
- コミュニケーション力
- 展開力 (探究力又は設定力)
- 展開力 (実践力又は解決力)
授業の進め方
各講義で演習を交えながら新しい概念や言語機構などを導入する。
授業計画・課題
| 授業計画 | 課題 | |
|---|---|---|
| 第1回 | 導入 |
授業時に指示する。 |
| 第2回 | 関数型プログラミングの基礎 |
授業時に指示する。 |
| 第3回 | 継続 |
授業時に指示する。 |
| 第4回 | 制御演算子(1) |
授業時に指示する。 |
| 第5回 | 制御演算子(2) |
授業時に指示する。 |
| 第6回 | 代数的エフェクトとハンドラ |
授業時に指示する。 |
| 第7回 | エフェクトの合成 |
授業時に指示する。 |
| 第8回 | 継続の言語学的応用 |
授業時に指示する。 |
| 第9回 | 型なしラムダ計算 |
授業時に指示する。 |
| 第10回 | 単純型付きラムダ計算 |
授業時に指示する。 |
| 第11回 | 制御演算子の意味論(1) |
授業時に指示する。 |
| 第12回 | 制御演算子の意味論(2) |
授業時に指示する。 |
| 第13回 | 代数的エフェクトとハンドラの意味論 |
授業時に指示する。 |
| 第14回 | まとめ |
授業時に指示する。 |
準備学修(事前学修・復習)等についての指示
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する 予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
教科書
特になし
参考書、講義資料等
特になし
成績評価の方法及び基準
授業への参加度 (20%) と課題の出来 (80%) に基づいて評価を行う。
関連する科目
- MCS.T204 : 計算機科学概論
- MCS.T224 : プログラミング第一
履修の条件・注意事項
関数型プログラミングの経験を持つことが望ましいが、必須ではない。