以下を予定しているが回数の関係ですべてをカバーできない可能性も高いのであくまで目標と考えていただきたい.学生の興味や理解度に応じて変更する.
* 安全な言語と危険な言語
* 安全で効率的な言語の基礎としての型システム
* プログラミングパラダイム
関数型
オブジェクト指向
* 高水準言語の実習
Ocaml (関数型, 静的型)
Python (オブジェクト指向, 動的型)
* 自動メモリ管理: 安全な言語のもうひとつの基礎
* 安全なプログラムを書くためのツール
* 言語処理系が行う最適化,そのアルゴリズム(概要)
* 言語処理系を作るためのツール
* 学生による文献購読・発表
-------------------------
I wish to cover these topics. Due to time restriction, however, it is likely that I cannot cover all topics below. Please consider them as landmarks. We will adapt based on the students interests and progress.
* Safe languages and unsafe languages
* Type systems, as a basis for safe and efficient languages
* Important programming paradigms
Functional
Object Oriented
* Practices in high level languages
Ocaml (functional and statically typed)
Python (object oriented and dynamically typed)
* Automatic memory management: another critical basis for safe languages
* Other tools for writing safe programs
* Optimizations by compilers and their algorithms (an overview)
* Tools for building compilers
* Readings and presentations by students