Here I would like to share What I found the useful resources and tools to learn SICP.
SICP text book
Official Web site: http://mitpress.mit.edu/sicp/
You can also get PDF file from here.
SICP Video
MIT open course ware
IDE
I tried several LISP IDE, but finally I found DrScheme is the best one. DrScheme is included in the software called Racket, it is formally called PLT scheme. You can download Racket software from this site. It works on my Mac Pro, I haven't tried it on the Windows environment.
To run the program and exercises on the book, you need to download the package for SICP,
SICP support in PLT scheme. Just follows the installation instruction step by step. The latest version is SICP (PLaneT 1.13)
To use the SICP language in DrScheme, first choose Language|Choose Lanuage..., in Teaching language, choose SICP(PLneT 1.13),
and another most important thing: click "Show Details" Button, in "Output Syntax" group, under "Output Style", choose "write" radio button, then select OK.
I found if you use default selection, which "print" is selected, the output for list is quite annoying.
SICP exercise solutions
I found following two sites are pretty good:
http://community.schemewiki.org/?SICP-Solutions
http://wqzhang.wordpress.com/sicp-solutions/
Uncle bob's blog post about SICP
why clojure?
http://thecleancoder.blogspot.com/2010/08/why-clojure.html
STUB1: SICP & Assignment
http://cleancoder.posterous.com/stub-1-sicp-assignment
Robert Matin interview in The Pragmatic BookShelf
http://pragprog.com/podcasts/show/32
michael feathers
SCNA 2009 presentation:Self-education and the craftsman
http://scna.softwarecraftsmanship.org/media/michaelfeathers
About DrScheme
Thanks for your post it helped me a lot. I am a self taught programmer and have to come to the point where its obvious to me that there are just things that I don't know (gabs in my fundamental programming knowledge). This book comes highly recommended and I have therefore decided to study if meticulously. Hopefully by the end I can also joins those singing its praise. Thanks.
ReplyDelete