2017年度 数理・計算科学特論C   Topics on Mathematical and Computing Science C

文字サイズ 

アップデートお知らせメールへ登録 お気に入り講義リストに追加
開講元
数理・計算科学コース
担当教員名
石崎 一明  稲垣 達氏  井上 拓  緒方 一則  小野寺 民也  河内谷 清久仁  竹内 幹雄  仲池 卓也  堀江 倫大  堀井 洋 
授業形態
講義     
メディア利用科目
曜日・時限(講義室)
集中講義等   
クラス
-
科目コード
MCS.T512
単位数
2
開講年度
2017年度
開講クォーター
3-4Q
シラバス更新日
2017年10月3日
講義資料更新日
-
使用言語
日本語
アクセスランキング
media

講義の概要とねらい

本講義の主題であるプログラミング言語処理系の実装は、この20年で動的コンパイルを行う方式が実用となり、技術的に大きな進歩がありました。特にJava言語をはじめとした言語では、実行時システムとJust-In-Timeコンパイラなどの改良により、静的なコンパイルを行う言語と遜色のない、場合によってはより高い性能を実現できるようになりました。これらの技術は最近のプログラミング言語処理系を研究するだけでなく、利用するにあたっても欠かせない知識となってきています。本講義では、このようなプログラミング言語処理系の実行時系、コンパイラ、最新技術に関して体系的な解説を行う予定です。

到達目標

先進的なプログラミング言語処理系技術の現状がどのようなものであるか、またそれを可能にする個々の技術において重要な点が何であるかを理解する。

キーワード

プログラミング言語処理系
動的コンパイル
Java言語
Just-in-Timeコンパイラ

学生が身につける力(ディグリー・ポリシー)

専門力 教養力 コミュニケーション力 展開力(探究力又は設定力) 展開力(実践力又は解決力)

授業の進め方

各回の担当講師による講義を行います。集中講義のため、日程が変則的であることに注意して下さい。

授業計画・課題

  授業計画 課題
第1回 Runtime --- JVM Overview & Interpreter 担当: 緒方一則 11/30(木) 5・6限 (その回の内容についてのレポート課題)
第2回 Runtime --- Object Management & Synchronization 担当: 河内谷清久仁 12/5(火) 5・6限 (その回の内容についてのレポート課題)
第3回 Runtime --- Native memory management 担当: 緒方一則 12/5(火) 7・8限 (その回の内容についてのレポート課題)
第4回 Compiler --- Overview 担当: 仲池卓也 12/7(木) 5・6限 (その回の内容についてのレポート課題)
第5回 Compiler --- Dataflow Analysis 担当: 稲垣達氏 12/12(火) 5・6限 (その回の内容についてのレポート課題)
第6回 Compiler --- Devirtualization & Inlining 担当: 石崎一明 12/12(火) 7・8限 (その回の内容についてのレポート課題)
第7回 Compiler --- Trace Compilation & LLVM 担当: 井上拓 12/14(木) 5・6限 (その回の内容についてのレポート課題)
第8回 Hot topic --- Open Source Java VM 担当: 堀江倫大 12/19(火) 5・6限 (その回の内容についてのレポート課題)
第9回 Hot topic --- Full stack optimization 担当: 堀井洋 12/19(火) 7・8限 (その回の内容についてのレポート課題)
第10回 Hot topic --- X10 担当: 竹内幹雄 12/21(木) 5・6限 (その回の内容についてのレポート課題)
第11回 Hot topic --- H/W acceleration (GPGPU, HTM, FPGA) 担当: 石崎一明 1/9(火) 5・6限 (その回の内容についてのレポート課題)
第12回 まとめと展望 担当: 小野寺民也 1/9(火) 7・8限 (その回の内容についてのレポート課題)

教科書

特に指定しません。

参考書、講義資料等

オンラインで講義資料を配布します。入手方法を講義時に通知します。

成績評価の基準及び方法

期末レポートによる。各回の講義においてそれぞれ提示される課題のうちいくつかを選択して回答する形になります。必要な回答数は講義時に通知します。

関連する科目

  • MCS.T503 : プログラミング言語設計論
  • MCS.T502 : 関数型プログラミング

履修の条件(知識・技能・履修済科目等)

プログラミングの経験およびプログラミング言語処理系(コンパイラなど)についての基礎知識があることが望ましい。

連絡先(メール、電話番号)    ※”[at]”を”@”(半角)に変換してください。

増原英彦 (masuhara[at]is.titech.ac に「日本」のドメイン名を追加して下さい, 内線 3228)

このページのトップへ