がぶちゃんの日記

札幌からフルリモートCTO

CSNagoyaからSICP読書会がスタート!

SICPとMIT6.001の関係

我らがCSNagoyaからSICP読書会を始めるにあたり、どんな勉強方法が良いのかなぁと考える前に少し気になったので原著がテキストとして使われていると噂のMITのコースhttp://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/CourseHome/index.htmを色々見てみました。

  • MIT6.001は、SICPの全ての章を教えているわけではない。以下、6.001で教えている章.節
    • Section 1.1
    • Section 1.2
    • Section 1.3
    • Section 2.1
    • Section 2.2.4
    • Section 2.3
    • Section 2.4
    • Section 3.2
    • Section 3.3.1-3.3.3
    • Section 3.4
    • Section 3.5
    • Section 4.1
  • 上記の単位で講義が1時間、補講が1時間あるらしい。
  • 問題については講義の中で解くのか、宿題なのかは分からなかった。
  • 読書会と関係ないけど、6.001はSICP以外の内容も教えている。(Object Oriented Programming なんて講義もある。)

これを踏まえて、MIT1年生が2時間で1節をクリアしていくとして、自分達のスキルとゆとりを考えて4時間で1節をクリアしていくとすると・・・

  • 読書会は1回で4時間。つまり1回で1節を消化
  • SICPは全部で5章22節。つまり22回で全てを消化(書いてから思ったけど、これは無理やねw
  • 読書会を隔週開催とすると期間として44週で消化
  • 1年を52週とすると、8週分(4回分)バッファあり

おお、約1年で制覇できる!なんて簡単にはいきませんよねwでも、あんまり長々とやるのもなぁというのが個人的な考え。

SICP読書会のすすめ方(案)

皆様の貴重かつ有限な時間を活用するためにSICP読書会のすすめ方について考えてみる。

まず始めに、読書会という名前なので読むことについて

  • 黙読:集まってる意味が薄れて勿体無いと思う。
  • 音読:過去の経験から読むスピードより読み上げるスピードの方が遅いから、時間が勿体無いと思う。あと、良いか悪いかは置いておいて音読中に他事やってる人って割と多いと思う。

こんな感想を持っているので、読書会という名前なんだけど読書は予習にしませんか!と提案してみようと思う。

次に問題については、その時間内に解き切る自信が(僕は)ないので、これも予習がいいんじゃないかなと思う。

きっと予習の結果二つの分からないリストが生まれると思う。

  1. この本文が分からない!
  2. この問題が分からない!

なので読書会は以下のフローで進めてはどうだろうか。

  1. 各自の分からないリストをマージする。
  2. マージされた分からないリストを全員で解説しあっていく。
    1. まずは本文の分からないリスト
    2. 次に問題の分からないリスト
    3. 分からないが消化できたら、「これは朝まで討論したいぜ!」ってのもやりますか。
  3. 全ての分からないリストが消化されれば、その章.節は全員が理解できた!と思う。

時間が(多分余らない可能性が高いと思うけど)余れば、わいわいする。
時間が足りなければ、次回持ち越し。基本まったり進行は守りたい。

第0回 SICP読書会は、読書会のすすめ方を決めるみたいに聞いているので、この話を持っていこうっと。なんにしても楽しみだなー。