Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
SICP勉強会の進捗状況
  • 序文
  • 1  手続きによる抽象の構築
    • 1.1 プログラムの要素
      • 1.1.1 式
      • 1.1.2 名前と環境
      • 1.1.3 組合せの評価
      • 1.1.4 合成手続き
      • 1.1.5 手続き作用の置換えモデル
      • 1.1.6 条件式と述語
        • 問題 1.1
        • 問題 1.2
        • 問題 1.3
        • 問題 1.4
        • 問題 1.5
      • 1.1.7 例: Newton法による平方根
        • 問題 1.6
        • 問題 1.7
        • 問題 1.8
      • 1.1.8 ブラックボックス抽象としての手続き
    • 1.2 手続きとその生成するプロセス
      • 1.2.1 線形再帰と反復
        • 問題 1.9
        • 問題 1.10
      • 1.2.2 木構造再帰
        • 問題 1.11
        • 問題 1.12
        • 問題 1.13
      • 1.2.3 増加の程度
        • 問題 1.14
        • 問題 1.15
      • 1.2.4 べき乗
        • 問題 1.16
        • 問題 1.17
        • 問題 1.18
        • 問題 1.19
      • 1.2.5 最大公約数
        • 問題 1.20
      • 1.2.6 例: 素数性のテスト
        • 問題 1.21
        • 問題 1.22
        • 問題 1.23
        • 問題 1.24
        • 問題 1.25
        • 問題 1.26
        • 問題 1.27
        • 問題 1.28
    • 1.3 高階手続きによる抽象
      • 1.3.1 引数としての手続き
        • 問題 1.29
        • 問題 1.30
        • 問題 1.31
        • 問題 1.32
        • 問題 1.33
      • 1.3.2 lambdaを使う手続きの構築
        • 問題 1.34
      • 1.3.3 一般的方法としての手続き
        • 問題 1.35
        • 問題 1.36
        • 問題 1.37
        • 問題 1.38
        • 問題 1.39
      • 1.3.4 値として返される手続き
        • 問題 1.40
        • 問題 1.41
        • 問題 1.42
        • 問題 1.43
        • 問題 1.44
        • 問題 1.45
        • 問題 1.46
  • 2  データによる抽象の構築
    • 2.1 データ抽象入門
      • 2.1.1 例: 有理数の算術演算
        • 問題 2.1
      • 2.1.2 抽象の壁
        • 問題 2.2
        • 問題 2.3
      • 2.1.3 データとは何か
        • 問題 2.4
        • 問題 2.5
        • 問題 2.6
      • 2.1.4 拡張問題: 区間算術演算
        • 問題 2.7
        • 問題 2.8
        • 問題 2.9
        • 問題 2.10
        • 問題 2.11
        • 問題 2.12
        • 問題 2.13
        • 問題 2.14
        • 問題 2.15
        • 問題 2.16
    • 2.2 階層データ構造と閉包性
      • 2.2.1 並びの表現
        • 問題 2.17
        • 問題 2.18
        • 問題 2.19
        • 問題 2.20
        • 問題 2.21
        • 問題 2.22
        • 問題 2.23
      • 2.2.2 階層構造
        • 問題 2.24
        • 問題 2.25
        • 問題 2.26
        • 問題 2.27
        • 問題 2.28
        • 問題 2.29
        • 問題 2.30
        • 問題 2.31
        • 問題 2.32
      • 2.2.3 公認インターフェースとしての並び
        • 問題 2.33
        • 問題 2.34
        • 問題 2.35
        • 問題 2.36
        • 問題 2.37
        • 問題 2.38
        • 問題 2.39
        • 問題 2.40
        • 問題 2.41
        • 問題 2.42
        • 問題 2.43
      • 2.2.4 例: 図形言語
        • 問題 2.44
        • 問題 2.45
        • 問題 2.46
        • 問題 2.47
        • 問題 2.48
        • 問題 2.49
        • 問題 2.50
        • 問題 2.51
        • 問題 2.52
    • 2.3 記号データ
      • 2.3.1 クォート
        • 問題 2.53
        • 問題 2.54
        • 問題 2.55
      • 2.3.2 例: 記号微分
        • 問題 2.56
        • 問題 2.57
        • 問題 2.58
      • 2.3.3 例: 集合の表現
        • 問題 2.59
        • 問題 2.60
        • 問題 2.61
        • 問題 2.62
        • 問題 2.63
        • 問題 2.64
        • 問題 2.65
        • 問題 2.66
      • 2.3.4 例: Huffman符号化木
        • 問題 2.67
        • 問題 2.68
        • 問題 2.69
        • 問題 2.70
        • 問題 2.71
        • 問題 2.72
    • 2.4 抽象データの多重表現
      • 2.4.1 複素数の表現
      • 2.4.2 タグつきデータ
      • 2.4.3 データ主導プログラミングと加法性
        • 問題 2.73
        • 問題 2.74
        • 問題 2.75
        • 問題 2.76
    • 2.5 汎用演算のシステム
      • 2.5.1 汎用算術演算
        • 問題 2.77
        • 問題 2.78
        • 問題 2.79
        • 問題 2.80
      • 2.5.2 異る型のデータの統合
        • 問題 2.81
        • 問題 2.82
        • 問題 2.83
        • 問題 2.84
        • 問題 2.85
        • 問題 2.86
      • 2.5.3 例: 記号代数
        • 問題 2.87
        • 問題 2.88
        • 問題 2.89
        • 問題 2.90
        • 問題 2.91
        • 問題 2.92
        • 問題 2.93
        • 問題 2.94
        • 問題 2.95
        • 問題 2.96
        • 問題 2.97
  • 3  標準部品化力, オブジェクトおよび状態
    • 3.1 代入と局所状態
      • 3.1.1 局所状態変数
        • 問題 3.1
        • 問題 3.2
        • 問題 3.3
        • 問題 3.4
      • 3.1.2 代入を取り入れた利点
        • 問題 3.5
        • 問題 3.6
      • 3.1.3 代入を取り入れた代価
        • 問題 3.7
        • 問題 3.8
    • 3.2 評価の環境モデル
      • 3.2.1 評価の規則
      • 3.2.2 単純な手続きの作用
        • 問題 3.9
      • 3.2.3 局所変数の入れ物としてのフレーム
        • 問題 3.10
      • 3.2.4 内部定義
        • 問題 3.11
    • 3.3 可変データでのモデル化
      • 3.3.1 可変リスト構造
        • 問題 3.12
        • 問題 3.13
        • 問題 3.14
        • 問題 3.15
        • 問題 3.16
        • 問題 3.17
        • 問題 3.18
        • 問題 3.19
        • 問題 3.20
      • 3.3.2 キューの表現
        • 問題 3.21
        • 問題 3.22
        • 問題 3.23
      • 3.3.3 表の表現
        • 問題 3.24
        • 問題 3.25
        • 問題 3.26
        • 問題 3.27
      • 3.3.4 ディジタル回路のシミュレータ
        • 問題 3.28
        • 問題 3.29
        • 問題 3.30
        • 問題 3.31
        • 問題 3.32
      • 3.3.5 制約の拡散
        • 問題 3.33
        • 問題 3.34
        • 問題 3.35
        • 問題 3.36
        • 問題 3.37
    • 3.4 並列性: 時が本質的
      • 3.4.1 並列システムでの時
        • 問題 3.38
      • 3.4.2 並列性の制御機構
        • 問題 3.39
        • 問題 3.40
        • 問題 3.41
        • 問題 3.42
        • 問題 3.43
        • 問題 3.44
        • 問題 3.45
        • 問題 3.46
        • 問題 3.47
        • 問題 3.48
        • 問題 3.49
    • 3.5 ストリーム
      • 3.5.1 ストリームは遅延リスト
        • 問題 3.50
        • 問題 3.51
        • 問題 3.52
      • 3.5.2 無限ストリーム
        • 問題 3.53
        • 問題 3.54
        • 問題 3.55
        • 問題 3.56
        • 問題 3.57
        • 問題 3.58
        • 問題 3.59
        • 問題 3.60
        • 問題 3.61
        • 問題 3.62
      • 3.5.3 ストリームパラダイムの開発
        • 問題 3.63
        • 問題 3.64
        • 問題 3.65
        • 問題 3.66
        • 問題 3.67
        • 問題 3.68
        • 問題 3.69
        • 問題 3.70
        • 問題 3.71
        • 問題 3.72
        • 問題 3.73
        • 問題 3.74
        • 問題 3.75
        • 問題 3.76
      • 3.5.4 ストリームと遅延評価
        • 問題 3.77
        • 問題 3.78
        • 問題 3.79
        • 問題 3.80
      • 3.5.5 関数的プログラムの部品化度とオブジェクトの部品化度
        • 問題 3.81
        • 問題 3.82
  • 4  超言語的抽象
    • 4.1 超循環評価器
      • 4.1.1 評価器の中核
        • 問題 4.1
      • 4.1.2 式の表現
        • 問題 4.2
        • 問題 4.3
        • 問題 4.4
        • 問題 4.5
        • 問題 4.6
        • 問題 4.7
        • 問題 4.8
        • 問題 4.9
        • 問題 4.10
      • 4.1.3 評価器のデータ構造
        • 問題 4.11
        • 問題 4.12
        • 問題 4.13
      • 4.1.4 評価器をプログラムとして走らせる
        • 問題 4.14
      • 4.1.5 プログラムとしてのデータ
        • 問題 4.15
      • 4.1.6 内部定義
        • 問題 4.16
        • 問題 4.17
        • 問題 4.18
        • 問題 4.19
        • 問題 4.20
        • 問題 4.21
      • 4.1.7 構文解析を実行から分離する
        • 問題 4.22
        • 問題 4.23
        • 問題 4.24
    • 4.2 Schemeの変形---遅延評価
      • 4.2.1 正規順序と作用的順序
        • 問題 4.25
        • 問題 4.26
      • 4.2.2 遅延評価の解釈系
        • 問題 4.27
        • 問題 4.28
        • 問題 4.29
        • 問題 4.30
        • 問題 4.31
      • 4.2.3 遅延評価リストとしてのストリーム
        • 問題 4.32
        • 問題 4.33
        • 問題 4.34
    • 4.3 Schemeの変形---非決定性計算
      • 4.3.1 ambと探索
        • 問題 4.35
        • 問題 4.36
        • 問題 4.37
      • 4.3.2 非決定性プログラムの例
        • 問題 4.38
        • 問題 4.39
        • 問題 4.40
        • 問題 4.41
        • 問題 4.42
        • 問題 4.43
        • 問題 4.44
        • 問題 4.45
        • 問題 4.46
        • 問題 4.47
        • 問題 4.48
        • 問題 4.49
      • 4.3.3 amb評価器の実装
        • 問題 4.50
        • 問題 4.51
        • 問題 4.52
        • 問題 4.53
        • 問題 4.54
    • 4.4 論理型プログラミング
      • 4.4.1 推論的情報検索
        • 問題 4.55
        • 問題 4.56
        • 問題 4.57
        • 問題 4.58
        • 問題 4.59
        • 問題 4.60
        • 問題 4.61
        • 問題 4.62
        • 問題 4.63
      • 4.4.2 質問システムはどう働くか
      • 4.4.3 論理型プログラミングは数学的論理か
        • 問題 4.64
        • 問題 4.65
        • 問題 4.66
        • 問題 4.67
        • 問題 4.68
        • 問題 4.69
      • 4.4.4 質問システムの実装
        • 問題 4.70
        • 問題 4.71
        • 問題 4.72
        • 問題 4.73
        • 問題 4.74
        • 問題 4.75
        • 問題 4.76
        • 問題 4.77
        • 問題 4.78
        • 問題 4.79
  • 5  レジスタ計算機での計算
    • 5.1 レジスタ計算機の設計
      • 問題 5.1
      • 5.1.1 レジスタ計算機の記述言語
        • 問題 5.2
      • 5.1.2 計算機設計における抽象
        • 問題 5.3
      • 5.1.3 サブルーチン
      • 5.1.4 再帰を実装するためのスタックの使用
        • 問題 5.4
        • 問題 5.5
        • 問題 5.6
      • 5.1.5 命令の要約
    • 5.2 レジスタ計算機シミュレータ
      • 問題 5.7
      • 5.2.1 計算機モデル
      • 5.2.2 アセンブラ
        • 問題 5.8
      • 5.2.3 命令の実行手続きの生成
        • 問題 5.9
        • 問題 5.10
        • 問題 5.11
        • 問題 5.12
        • 問題 5.13
      • 5.2.4 計算機の性能の監視
        • 問題 5.14
        • 問題 5.15
        • 問題 5.16
        • 問題 5.17
        • 問題 5.18
        • 問題 5.19
    • 5.3 記憶の割当てとごみ集め
      • 5.3.1 ベクタとしてのメモリー
        • 問題 5.20
        • 問題 5.21
        • 問題 5.22
      • 5.3.2 無限メモリーの幻想の維持
    • 5.4 積極制御評価器
      • 5.4.1 積極制御評価器の中核
      • 5.4.2 並びの評価と末尾再帰
      • 5.4.3 条件式, 代入および定義
        • 問題 5.23
        • 問題 5.24
        • 問題 5.25
      • 5.4.4 評価の実行
        • 問題 5.26
        • 問題 5.27
        • 問題 5.28
        • 問題 5.29
        • 問題 5.30
    • 5.5 翻訳系
      • 5.5.1 翻訳系の構造
        • 問題 5.31
        • 問題 5.32
      • 5.5.2 式の翻訳
      • 5.5.3 組合せの翻訳
      • 5.5.4 命令列の組合せ
      • 5.5.5 翻訳したコードの例
        • 問題 5.33
        • 問題 5.34
        • 問題 5.35
        • 問題 5.36
        • 問題 5.37
        • 問題 5.38
      • 5.5.6 文面アドレス
        • 問題 5.39
        • 問題 5.40
        • 問題 5.41
        • 問題 5.42
        • 問題 5.43
        • 問題 5.44
      • 5.5.7 翻訳したコードと評価器のインターフェース
        • 問題 5.45
        • 問題 5.46
        • 問題 5.47
        • 問題 5.48
        • 問題 5.49
        • 問題 5.50
        • 問題 5.51
        • 問題 5.52

SICP勉強会 #17

6/28(木) 18:00-19:00

内容

  • SICP内容確認
    • 2.1.2 抽象の壁
    • 2.1.3 データとは何か
  • 問題: 2.2

SICP勉強会 #16

6/21(木) 18:00-19:00

内容

  • SICP内容確認
    • 2.1.1 例: 有理数の算術演算
  • 問題: 2.1

SICP勉強会 #15

6/14(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.3.3 一般的方法としての手続き (関数の不動点の探索)
    • 1.3.4 値として返される手続き

SICP勉強会 #14

6/7(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.3.1 引数としての手続き
    • 1.3.2 lambdaを使う手続きの構築
    • 1.3.3 一般的方法としての手続き (区間二分法による方程式の零点の探索)

SICP勉強会 #13

5/31(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.6 例: 素数性のテスト
    • 1.3.1 引数としての手続き
    • 1.3.2 lambdaを使う手続きの構築

SICP勉強会 #12

5/24(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.6 例: 素数性のテスト
  • 問題1-22

SICP勉強会 #11

5/17(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.1.1〜1.1.8 (復習)

SICP勉強会 #10

5/10(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.6 例: 素数性のテスト
  • 問題1-21〜1-22

SICP勉強会 #9

4/19(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.5 最大公約数
    • 1.2.6 例: 素数性のテスト
  • 問題1-19, 1-20

SICP勉強会 #8

4/5(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.4 べき乗
  • 問題1-17, 1-18

SICP勉強会 #7

3/29(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.4 べき乗
  • 問題1-16 (2回目)

SICP勉強会 #6

3/15(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.2.4 べき乗
  • 問題1-16

SICP勉強会 #5

3/9(金) 18:00-19:30

内容

  • SICP内容確認
    • 1.2.2 木構造再帰
    • 1.2.3 増加の程度
  • 問題1-13〜1-15

SICP勉強会 #4

3/1(木) 18:00-19:30

内容

  • SICP内容確認
    • 1.2.2 木構造再帰
  • 問題1-11〜1-12

SICP勉強会 #3

2/22(木) 18:00-19:00

内容

  • SICP内容確認
    • 1.1.8 ブラックボックス抽象としての手続
    • 1.2.1 線形再帰と反復
    • 1.2.2 木構造再帰
  • 問題1-9〜1-10

SICP勉強会 #2

2/16(金) 18:30-20:30

内容

  • SICP内容確認
    • 1.1.3 組合せの評価
    • 1.1.4 合成手続き
    • 1.1.5 手続き作用の置換えモデル
    • 1.1.6 条件式と述語
    • 1.1.7 例: Newton法による平方根
  • 問題1-1〜1-8

SICP勉強会 #1

2/8(木) 18:00-19:00

内容

  • 進め方の確認
    • 可能な限り毎週木曜日1時間ほど
    • 無理なくじっくり取り組む
    • 予習は前提としない(あらかじめ次の範囲を読んでおくとスムーズ)
  • 開発環境の動作確認
    • 処理系: Racket (SICP Collectionsが使える🉐), Gauche, etc. ※Clojureなどでも
    • エディタ: オススメはEmacs/Spacemacs + Geiser ※好みのエディタ/IDE & REPLでも十分進められる
  • SICP内容確認
    • 序文
    • 1.1.1 式
    • 1.1.2 名前と環境
    • 1.1.3 組合せの評価
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.