In this repository I will be adding my solutions to the SICP exercises.
I decided to give SICP a try. SICP definitely assumes some programming experience and is not as user friendly as other books.
Once the reader has gained some basic programming skills, SICP will advance them to a higher level of programming.
As for functional programming, I have some experience with Haskell (given basic, intermediate, and expert, I am probably at the upper half between basic and intermediate), and SICP goes well but occasionally I get stuck on some of the exercises.
Things I recommend to read before SICP:
- https://en.wikipedia.org/wiki/Lambda_calculus
- http://www.amazon.com/dp/0262560992
- http://www.amazon.com/dp/1593272839
- http://www.amazon.com/dp/020161622X
The reader is also assumed to have some experience with writing mathematical proofs, as well as designing algorithms. To the books above I additionally recommend http://www.amazon.com/dp/0521675995. The first few chapters should be sufficient.
On my computer I am using Racket-lang, and on my phone I am using Scheme Droid.
URL for SICP: https://mitpress.mit.edu/sicp/full-text/book/book.html
I plan to use the book as follows:
- Skim through the given section
- Go back, and read it in details
- Do the exercises
- Watch http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/ to get re-motivated
Videos mapped to chapters:
Boro Sitnikovski