プログラミング言語についてコンピュータサイエンスの立場から論じる.使用するプログラミング言語はSchemeであり,高度なプログラミングの概念について学ぶとともに,実際にプログラミングに適用することを通じて,プログラミングの本質を習得する.
教科書の前半(第1章および第2章)は「アルゴリズムとデータ構造入門」(奥乃先生,第1学年後期配当,91150)で取り上げ,本講義では第3章および第4章を取り上げる.
回数 | date | 講義内容(予定) | 資料 | 宿題 |
1 | 4/10 | 講義概要紹介,SICP第1〜2章の復習 | スライド | 宿題提出システム登録,教科書3.1章の予習 |
2 | 4/17 | 教科書 3〜3.1 | スライド | Ex. 3.1, 3.3, 3.7 (締切 4/24 8:00), 教科書3.2の予習 |
3 | 4/24 | 教科書 3.1.3〜3.2 | スライド | Ex. 3.9 (締切 5/1 8:00), 教科書3.3の予習 |
4 | 5/1 | 教科書 3.2.4〜3.3.3 | スライド | Ex. 3.11, 3.12, 3.22, 3.25 (締切 5/15 8:00),教科書 3.3.5 の予習 |
5 | 5/15 | 教科書 3.3.5 | プログラム, スライド | Ex. 3.33 (締切 5/22 8:00),教科書 3.5.1〜2 の予習 |
6 | 5/22 | 教科書 3.5.1〜3.5.2 | スライド | Ex. 3.51, 3.54, 3.58 (締切5/29 8:00),教科書 3.5.3〜5 の予習 |
7 | 5/29 | 教科書 3.5.3〜3.5.5 | スライド |
8 | 6/5 | 中間試験 | | |
9 | 6/12 | 教科書 4〜4.1.4 |
スライド, evaluator のコード | Ex. 4.4, 4.11 (締切 6/19 8:00) |
10 | 6/19 | 教科書 4.1.5〜4.1.7 |
スライド, 4.1.7 の evaluator のコード, 簡単なテストコード | Ex. 4.6, 4.16, 4.23 (締切 6/26 8:00) |
11 | 6/26 | 教科書 4.2 |
スライド, 4.2 の evaluator のコード, 簡単なテストコード | Ex. 4.27, 4.33 (締切 7/10 8:00) |
12 | 7/10 | 例外処理と継続 | 講義資料, スライド, evaluator のコード | 講義資料の練習問題 1, 3 (締切: 7/17 8:00) |
13 | 7/17 | 例外処理と継続(2) (講義資料後半) |
スライド | 講義資料の練習問題4 (締切: 7/24 8:00) |
14 | 7/24 | amb による探索 |
スライド, amb 付き評価器, amb を使ったサンプルプログラム, (amb インタプリタの実装についての昨年の資料 |
| 7/31 | 期末試験 | |