理工学部Faculty of Science and Engineering
COT300XE(計算基盤 / Computing technologies 300)プログラミング言語理論・設計Programming language theory and design
和佐 州洋Kunihiro WASA
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2022 |
授業コードClass code | H6067 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 月3/Mon.3 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | |
単位数Credit(s) | |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
カテゴリー<理工学部>Category |
応用情報工学科 学科専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
We have developed many programming languages in the past. These programming languages often have a common mechanism such as if-statements, types, functions, etc. In this course, students learn the mathematical background of these common mechanisms.
By the end of this course, students should be able to do the followings:
- Students can describe the semantics of programming language by using inference rules.
- Students understand how if-statements, functions, lists are expressed by inference rules.
- Students can explain a type system.
Before/after each class meeting, students will be expected to spend four hours to understand the course content.
Your overall grade in the class will be decided based on the following
Term-end report: 60%, Mid-term exam: 40%.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
人類はこれまで多くのプログラミング言語を開発してきた.これら開発されてきたプログラミング言語には,しばしば共通した仕組みが現れてくる.本講義では,この共通する仕組みに関する数学的背景を理解することを目的とする.
到達目標Goal
プログラミング言語の基礎的な概念を理解する.具体的には,
(1) 推論規則や導出木を用いてプログラミング言語の意味論などが記述できることを理解する
(2) 条件分岐や,関数,リストがどのような推論規則で記述されているか理解する
(3) 型システムについて説明できる
ことを目標とする.
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」と「DP4」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
配布された資料を基に,関数型言語の一つである ML (Meta Language) がどのように設計されているか,構文を徐々に拡張していくことで理解する.講義の中で複数回行われる小テストで理解度を把握し,中間試験とレポートによって成績を評価する.課題等に対するフィードバックは学習支援システムまたは授業等を通じて行う.
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:本講義の概要,導出システム
講義の概要,本講義で扱い基本的な記法,ペアノ自然数の導入
第2回[対面/face to face]:メタ定理
メタ定理,正規化,健全性及び完全性の意味
第3回[対面/face to face]:整数と真偽値の評価
操作的意味論,真偽値と if 分の導入
第4回[対面/face to face]:定義,変数,環境
変数と代入の導入,変数の有効範囲の理解,変数代入の一意性
第5回[対面/face to face]:高階関数
関数の導入,引数の役割,カリー化関数
第6回[対面/face to face]:λ計算
簡約,Church-Rosser の定理
第7回[対面/face to face]:中間試験
前半のまとめ
第8回[対面/face to face]:再帰
関数の再帰的定義
第9回[対面/face to face]:名無し表現
名前を持たない変数の導入とその評価の正しさ
第10回[対面/face to face]:リストとパターンマッチング
リストとパターンマッチングの導入,網羅性
第11回[対面/face to face]:単純型システム
型の役割,型の導入,型付け判断,型付け規則
第12回[対面/face to face]:多相的型システム
多相性の導入,様々な多相性,型スキーム
第13回[対面/face to face]:型安全
型システムにおける安全性
第14回[対面/face to face]:型推論
型推論問題の定義,単一化,型推論アルゴリズム
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
本授業の準備・復習時間は、各4時間を標準とします。
テキスト(教科書)Textbooks
指定する教科書はない.配布される資料に沿って講義は進められる.
参考書References
五十嵐 淳,プログラミング言語の基礎概念,サイエンス社,2011年.
萩谷 昌己,西崎 真也,論理と計算のしくみ,岩波書店,2007年.
成績評価の方法と基準Grading criteria
【評価方法】中間試験 (40%) とレポート(60%)で評価する.
【評価基準】本科目において設定した達成目標を60%以上達成している学生を合格とする.
学生の意見等からの気づきChanges following student comments
本年度授業担当者変更によりフィードバックできません