1 ポイント 投稿者 GN⁺ 4 시간 전 | 1件のコメント | WhatsAppで共有
  • MIT 6.001 Structure and Interpretation of Computer Programs の全体の流れを20本のビデオ講義で追えるため、SICPを体系的に復習するのに適した資料
  • 講義は1986年7月にHewlett-Packardの社員向けに実施され、Hewlett-Packard Televisionが専門的に制作
  • 映像はMIT OCWと別の提供サイトで視聴でき、商用利用と互換性のあるCreative Commonsライセンスで提供
  • 講義内容は1985年のSICP第1版を基準としており、1996年の第2版では一部プログラムの書き直しと新資料の追加があった
  • 全体のテーマと発表順は維持されているため、第2版で学ぶ学習者にとっても依然として参考価値がある

講義構成と提供方法

  • Hal AbelsonとGerald Jay Sussmanによる20本の講義が、MIT 6.001 Structure and Interpretation of Computer Programs のコースを完全な形で扱う
  • 講義は1986年7月にHewlett-Packardの社員向けに実施され、Hewlett-Packard Televisionが専門的に制作
  • 映像はHal AbelsonとGerald Jay Sussmanが提供した資料であり、許可を得て使用されている
  • 同じ映像はMIT OCWのほか、別の提供サイトでも提供されており、商用利用と互換性のあるCreative Commonsライセンスに従う

教材の版に関する注意点

  • この講義は、1985年に出版されたStructure and Interpretation of Computer Programs 第1版を基準に進められる
  • 1996年の第2版では、講義で扱われた複数のプログラムが書き直され、新しい資料が追加された
  • 全体のテーマと発表順は変わっていないため、第2版を使う学生にとってもこのビデオ講義は有用

講義一覧

1件のコメント

 
GN⁺ 4 시간 전
Hacker Newsのコメント
  • SICPを学ぶなら MIT Scheme を使ってもよいし、別の選択肢として Racket や DrRacket にこのアドオンパッケージを追加して使うこともできる: https://docs.racket-lang.org/sicp-manual/

    • 教育目的なら MIT Schemeだけを勧めるのが妥当だと思う
      ほかのものは周辺機能が多すぎて気が散る可能性がある
    • この2つのシステムを勧める点には同意するが、留保がある
      MIT Scheme は Apple Silicon で動くようには作られておらず、多少の工夫で amd64 版を最新の Mac で使うことはできるが、Apple が Rosetta2 を廃止すれば使えなくなる可能性が高い
      そのため Racket のほうがよりよい選択かもしれない
      まともな Scheme 実装であればほとんど何でも SICP に使えるが、第2版以降でも言語が変わっているため勧めはしない
      ただし自分のプロジェクトを始めた後なら別のシステムを使ってもよく、古いイディオムに対応する現代的な書き方を探すにはドキュメントを読む必要があるかもしれない
    • MIT Scheme は「あり得る中で最も単純な」選択肢だ
  • すべてのプログラマは LISP を学ぶべきであり、少なくとも真剣に学んでみるべきだ
    たいていの応用プログラマは C プログラマのように手続き的にしか考えない方法を身につけている
    LISP はハードウェアではなく概念を扱う「美しい」言語で、1990年に母校で数年間大学院プロジェクトに携わって使ったとき、考え方が完全に変わった

  • 以前、本だけで SICP をやってみたことがあるが、講義のほうがずっと良く、本は補助的な参考資料の役割だと思う

    • そもそも大学教育はだいたい 1000年間 そういう形で回ってきた
  • 練習問題を解いたり、本を逐一追ったりする必要はない
    この分野に新しく入った人でも、何十年もの経験がある人でも、まだこの映像を見ていなかったり SICP の授業を受けたことがなかったりするなら、ほとんど誰にとっても役に立つはずだ

  • この映像と本を最後まで一通り学び、ニュースグループを通じて オフラインの勉強会 も組んだ
    本当に楽しく、大きな突破口になったが、本の中盤あたりから参加者が減り始めた

  • SICPを読め という助言は、/g/ でもらった助言の中で最高だった

  • これで Lisp を学び、その後 Clojure を学んで、それを軸にキャリアを築いた

    • すばらしい。Clojure はどうやって学んだのか気になる
      かなり好きな言語だ
  • 本当に強く勧めたい
    最初の講義を見るだけですぐ引き込まれる

  • システムプログラミング に関心のある人が、ここから得られるものは何だろう?

    • この講義は 可変性、状態管理、抽象化といったテーマに関する核心的な問いを、ほとんど比類がないほど見事に引き出している
      だからシステムプログラミングが主として状態管理と抽象化に関わるものだとするなら、非常に深く関係していると思う
      ただし「システムプログラミング」を、既存の雑然としたシステムを無理やりつなぎ合わせることや、サードパーティ製ライブラリへの勘所を養うことだと捉えるなら、あまり関係ないかもしれない
      それでもここには洞察がある。Sussman が SICP をいったん脇に置き、MIT に新しい入門課程を作るよう求められた理由を説明する映像を見たが、それは自分が磨き上げてきた宝石を丁重かつ思慮深くしまい込む姿のようだった
      つまり、あらゆる抽象化レイヤーを横断して見通せることを私たちが期待できる時代は終わったということだ
  • この講義は 音質がひどく悪い
    きれいに補正する方法はあるだろうか?