Special Seminar for Computer and Information Sciences - Kenji OHMORI
- 2012 年度版 (2013年度版準備中)
Instructor
Goal and Theme
LISP言語に並列機能とJAVA環境を利用できるにしたCloseureはこれからの並列処理言語として期待され、人工知能、WEBアプリケーションなどの分野に広く応用されることが期待している。ここでは、新しい時代に即したプログラミング言語について学ぶ。
Abstract
輪講形式で進める。各人は割り当てられた章の説明を行うとともに、実際にプログラム例を示し、それを動作させ、デモを行う。
Schedule
通年
| 回 | テーマ | 内容 |
|---|---|---|
| 1 | Getting Started(1) | 1.1 なぜClojureなのか 1.2 Clojureを書き始めよう |
| 2 | Getting Started(2) | 1.3 Clojureライブラリの探索 |
| 3 | Getting Started(3) | 1.4 Lancetとは |
| 4 | Clojureひとめぐり(1) | 2.1 フォーム 2.2 リーダマクロ |
| 5 | Clojureひとめぐり(2) | 2.3 関数 2.4 var、束縛、名前空間 |
| 6 | Clojureひとめぐり(3) | 2.5 フロー制御 2.6 forループはどこにある? 2.7 メタデータ |
| 7 | ClojureからJavaを使う(1) | 3.1 Javaの呼び出し 3.2 性能の最適化 |
| 8 | ClojureからJavaを使う(2) | 3.3 ClojureでJavaのクラスを作る 3.4 例外処理 |
| 9 | ClojureからJavaを使う(3) | 3.5 AntプロジェクトとタスクをLancet に追加する |
| 10 | シーケンスを使ったデータの統合(1) | 4.1 すべてはシーケンスである 4.2 シーケンスライブラリを使う |
| 11 | シーケンスを使ったデータの統合(2) | 4.3 遅延シーケンスと無限シーケンス 4.4 Javaをシーカブルとして扱う |
| 12 | シーケンスを使ったデータの統合(3) | 4.5 特定の構造に特化した関数 4.6 Lancetのタスクにプロパティを追加する |
| 13 | 関数型プログラミング(1) | 5.1 関数型プログラミングの概念 5.2 怠け者になろう |
| 14 | 関数型プログラミング(2) | 5.3 もっと怠け者の勧め |
| 15 | 中間まとめ | 1 - 14回までのまとめを行う |
授業外に行うべき学習活動
ClosureはLISPをベースとしているので、教科書をあらかじめ熟読するだけでなく、LISPの本も読んでおいてほしい
Materials
ハローウェイ著「プログラミングClosure]オーム社
References
竹内郁雄「初めての人のためのLISP]翔泳社
Evaluation Method
授業での貢献度とレポートによる
前年度の授業改善アンケートからの気づき
なし