概要
"Structure and Interpretation of Computer Programs - 2nd Edition" (MIT Press, 1996) を最後までやりとおす.(邦訳は『計算機プログラムの構造と解釈 第2版』)
- 演習中心で進める
- 各自本文を読んできて範囲になっている問題を解いてくる
- 勉強会では問題や本文について議論する
予定
週1回の勉強会でだいたい問題10問ずつ進んで1年で終わらせる.毎週土曜日14:00-に情報棟A707(自然言語処理学講座のゼミ室)で行う.
軌跡
- 7/8 4.4.4-4.4.4.8 (問題4.70-74)
- shimpei-m, mamoru-k, eric-n, shuya-a
- 7/1 4.4.2-4.4.3 (問題4.64-69)
- shimpei-m, kenich-i, hiro-kuz, osamu-m, mamoru-k, eric-n, shuya-a
- 6/24 4.4-4.4.1 (問題4.55-4.63)
- shimpei-m, mamoru-k, eric-n, shuya-a
- 6/17 4.3.3 (問題4.51-4.54)
- shimpei-m, mamoru-k, osamu-m, eric-n, shuya-a
- 6/3 4.3.2の途中 Parsing natural language から (問題4.45-4.49)
- shimpei-m, hiro-kuz, kenich-i, mamoru-k, shuya-a
- 5/20 4.3-4.3.2の途中、Parsing natural languageの前まで (問題4.35-4.43)
- shimpei-m, hiro-kuz, kenich-i, mamoru-k, osamu-m, eric-n, shuya-a
- 5/13 4.2 (問題4.25-4.34)
- shimpei-m, kenich-i, mamoru-k, eric-n, shuya-a
- 4/22 19:00 4.1.6-4.1.7 (問題4.16-4.23)
- shimpei-m. hiro-kuz, kenich-i, mamoru-k, eric-n, shuya-a
- 4/15 14:00- 4.1.2-4.1.5 (問題4.9,4.11-4.15)
- hiro-kuz, kenich-i, mamoru-k, eric-n, shuya-a
- 4/8 14:00- 4-4.1.2 (問題4.1-4.6)
- hiro-kuz, kenich-i, mamoru-k, osamu-m, noah-e, eric-n, shuya-a
- 3/25 14:00- 3.5.3の途中から3.5.5 (問題3.73-3.77)
- kenich-i, mamoru-k, eric-n, shuya-a, kou-k
- 3/11 14:00- 3.5.3の途中まで (問題3.63-3.69)
- mamoru-k, eric-n, shuya-a
- 3/4 14:00- 3.5-3.5.2 (問題3.50-3.59)
- mamoru-k, shuya-a
- 2/18 14:00- 3.4 (問題3.38-3.49)
- hiro-kuz, mamoru-k
- 2/11 14:00- 3.3.4の途中から3.3.5まで(問題3.31-3.37)
- hiro-kuz, kenich-i, mamoru-k, eric-n, shuya-a
- 2/4 14:00- 3.3.3と3.3.4 (問題3.24-3.30)
- kenich-i, mamoru-k, osamu-m, eric-n, shuya-a
- 1/28 14:00- 3.3.2小節 (問題 3.15-16,18,20-22)
- hiro-kuz, kenich-i, mamoru-k, eric-n
- 1/21 14:00- 3.2節-3.3.1小節 (問題 3.9-3.14)
- kenich-i, mamoru-k, osamu-m, eric-n, shuya-a
- 1/14 14:00- 3.1節(問題 3.1-3.8)
- hiro-kuz, mamoru-k, eric-n, shuya-a
- 12/26 19:30- 2.5節(問題 2.85,2.90,2.91)
- kenich-i, hiro-kuz, mamoru-k, osamu-m, eric-n, shuya-a
- 12/24 14:00- 2.5節の2.5.2と2.5.3(問題 2.87-2.89)
- kenich-i, mamoru-k, osamu-m, eric-n, shuya-a
- 12/17 14:00- 2.5節の2.5.2(問題 2.77-2.84)
- mamoru-k, osamu-m, eric-n, shuya-a
- 12/10 14:00- 2.4節(問題 2.73-2.76)
- kenich-i, hiro-kuz, mamoru-k, shuya-a
- 11/26 14:00- 2.3.3節の途中の Sets as binary trees から2.3.4節まで(問題 2.63-2.72)
- hiro-kuz, mamoru-k, osamu-m, shuya-a
- 11/12 14:00- 2.3節の最初から2.3.3の途中の Sets as ordered lists (順序づけられたリストとしての集合)まで (問題 2.53-2.62)
- kenich-i, hiro-kuz, mamoru-k, eric-n, shuya-a, kou-k
- 11/05 14:00- 2.2.3節の8クイーン問題と2.2.4節の Picture Language (問題 2.42-2.52)
- kenich-i, mamoru-k, ai-a, eric-n, shuya-a
- 10/21 21:00- 2.2.3節 (問題 2.33-2.41)
- kenich-i, hiro-kuz, mamoru-k, ai-a, eric-n, shuya-a, kou-k
- 10/15 14:00- 2.2節 (問題 2.17-2.32)
- hiro-kuz, mamoru-k, manab-ki, eric-n, shuya-a, kou-k
- 10/08 19:00- 2.1節 (問題 2.1-2.16)
- kenich-i, hiro-kuz, mamoru-k, osamu-m, ai-a, eric-n, shuya-a
- 10/01 14:00- 1.3.4節 (問題 1.28,1.40-1.46)
- hiro-kuz, mamoru-k, osamu-m, eric-n, shuya-a
- 07/30 14:00- 1.2.6の復習,1.3.1-1.3.3節 (問題 1.29-1.39)
- kenich-i, hiro-kuz, mamoru-k, ai-a, eric-n, shuya-a, kou-k, masayu-a
- 07/23 14:00- 1.2節 (問題 1.9-1.28)
- kenich-i, hiro-kuz, mamoru-k, ai-a, eric-n, shuya-a, kou-k, masayu-a
- 07/16 14:00- 1.1節 (問題 1.1-1.8)
- kenich-i, hiro-kuz, mamoru-k, osamu-m, ai-a, eric-n, shuya-a, kou-k, masayu-a
解き残し
- 3.17,3.19,3.23,3.60-62,3.78-3.82,4.7-4.8,4.10,4.24,4.31-4,4.44,4.50,4.75-79
必要なもの
- Scheme 処理系。MIT では去年までは MIT-Scheme が推奨環境でしたが今年からは DrScheme が標準に変わったそうです。gauche や guile でやっている人もいますが、処理系によって微妙に挙動が違うので注意しましょう。(少し重いですが DrScheme がおすすめです)
- サポートコード(練習問題をしたり本文のコードを実行したりするのに必要) http://mitpress.mit.edu/sicp/code/
処理系・2.2.4の図形言語
- MIT-Scheme 6001 (MIT で開かれている SICP の演習で昨年まで使われていた Scheme 処理系。MIT-Scheme で図形言語を解きたい人はこのパージョンのものを使いましょう。ちなみに今年から MIT では DrScheme を使うことにしたみたいです)
- Picture language (MIT-Scheme 6001 で図形言語を実行するのに必要なファイル。scm ファイルと pgm ファイルをコピーしましょう)
- TUTScheme (2.2.4の図形言語が簡単に実行可能。Windows (Cygwin, Win32), Mac OS X, Linux 用のバイナリとソースがある)
- 高林さんのSICP紹介ページ (guile-gtk を使った図形言語の表示のさせ方が書いてある)
- DrScheme 今年から MIT でも使われるようになった Scheme 処理系です。Mac OS X を使っている人は DrScheme を入れるのがいちばんお手軽です。Mac の人は他にも Guile か Gauche という選択肢があります。(宣伝になりますが Gauche は Fink からインストールすると楽です)
リンク
- SICP本家 (英語版フルテキストあり)
- SICP日本語版サイト
- (Scheme)(Lisp)(英語版テキストのダウンロードスクリプトあり)
- MIT OpenCourseWare 6.001 LectureNotes
- 京都大学の1年生科目・「アルゴリズムとデータ構造入門」の2005年度ページ (半期でSICPの第1章と第2章をやるらしい。我々の2倍の速度!)
- 「計算機プログラムの構造と解釈第二版」を読む会 (月に1回、我々と同じくらいの速度でやっているが、もう2周目に入っているみたい)
- Scheme演習 (東京大学の理学部情報科学科の2年生科目。現在もやっているはずだが2001年度のページしか見当たらない)
- Write Yourself a Scheme in 48 Hours(Haskellを使ってSchemeのインタプリタを48時間で作るらしい)
- 結城浩のSICP日記