Sussman(サスマン)という人の書いた「計算機プログラムの構造と解釈」Structure and Interpretation of Computer Programsという超超有名な本があります。最近も2ch系のところでプログラマーの読むべき本の1位にあったと思う。この本はプログラムの部分はSchemeスキームで書かれていて、超天才ならば読みながら自分の言語(CやRuby)で解釈したり読めてしまうかも知れませんが、やはり手元にSchemeがあって読むと楽しさ100倍です。SchemeというとLispの方言という言い方がされるので、勉強する方はついLispの方に行き勝ちですが、結構よく使う部分で違うのでできればSchemeの環境が欲しい。いろいろ探したり試したりした結果、下記がお勧め。
PLT Scheme(http://plt-scheme.org/)
1.ネットで検索すると有名どころでMzSchemeとかDrSchemeとか出てきますが、イコールこれです。
2.アドミン権限なしでインストールできる開発環境つき
3.Sussmanの本のプログラムがそのまま動く。
4.それ以上に大事なのが本の練習問題を自分でためせる。
5.quick guideが何種類もついている(これを全部やるよりSussmanの本を読み始めるのがお勧め。Sussmanの本が難しいと感じたら、ここhttp://plt-scheme.org/に戻って少し勉強してSussmanのSICPに戻るのがよい。)
練習問題の回答は本にないのですが、自分で解いて公開している人がいます。
http://eli.thegreenplace.net/2008/04/18/sicp-conclusion/
ちなみにSICP自体もネット上で読めます。
http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-1.html