Live data from Hacker News

Why and How to Start Your SICP Trek

hackerretreat.com

31–40 of 65 posts

Re: Why and How to Start Your SICP Trek

#33
post #28

As someone with fine arts background, does anyone have a suggestion for a text to get me quickly caught up on the math required for SICP?

It doesn't really require any math… some exercises and examples do require math, but you can just skip them. The first chapter has a lot more of that than the rest. It's very much not essential.

To give an example, the hardest math I can remember is one exercise where they ask you to _prove_ the equation listed if you search for "closed form" at http://en.wikipedia.org/wiki/Fibonacci_number .

I'm relatively sure that the point of this exercise was just to drive home that performance characteristics of a problem can be non-obvious. We just finished making an O(n) implementation of Fibonacci numbers and feel pretty good about it, but oh wait, you can actually do it in O(1).

However, to literally answer your question, the math used in exercises mostly tops out at polynomial algebra (like, adding X^2 + 3X + 1 to 3X^2 + 3), with a little bit of calculus - namely taking derivatives (and maybe integrals? I forget) of polynomials. The calculus is not used to solve a problem - rather you're implementing a program that lets the user take derivatives of polynomials.

Re: Why and How to Start Your SICP Trek

#34
post #28

As someone with fine arts background, does anyone have a suggestion for a text to get me quickly caught up on the math required for SICP?

You'll need the equivalent of 1 semester of calculus, I'd guess, including working knowledge of pre-calculus material like sums of series (sigma notation). Try poking around Amazon.com for a highly-reviewed book, or use Khan Academy content.

You might also try starting with the videos, which are more-code, less-equations. But to get maximum benefits, one must do the exercises (at least some of them), so you'll still need the book.

Re: Why and How to Start Your SICP Trek

#35
I have a very specific question about starting out on SICP. A few months back, I worked through roughly half the exercises in the book. I got stuck on 2.2.4 (a picture language)[1] and was unable to run any of the examples or test any of the exercises.

Is there some prerequisite library for these exercises? Or am I missing the point and these are not actually intended to be run?

1. http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-15.html...

Re: Why and How to Start Your SICP Trek

#37
The article recommends mit-scheme. Anyone know how to get that working as a Sublime Text build? From what I can tell, to invoke mit-scheme on a file, you redirect stdin, a la:

  mit-scheme 
This doesn't play so nicely with the ST2 build system, which seems to assume the input will be simply be a filename arg. E.g., it's assuming you can do:

  mit-scheme foo.scm

Re: Why and How to Start Your SICP Trek

#39

The article recommends mit-scheme. Anyone know how to get that working as a Sublime Text build? From what I can tell, to invoke mit-scheme on a file, you redirect stdin, a la: mit-scheme This doesn't play so nicely with the ST2 build system, which seems to assume the input will be simply be a filename arg. E.g., it's assuming you can do: mit-scheme foo.scm

Sorry, wish I could help, I've always run MIT-Scheme on Linux. If you figure it out, please leave commentary here, on the article, and/or send me link to your blog post w/ instructions, thanks.

Re: Why and How to Start Your SICP Trek

#40

If folks are interested in having a person to talk to while doing SICP, we're doing it in the iPad app we released last Thursday. We were going to do a Show HN, but hey, HN's already talking SICP! Understudy: https://itunes.apple.com/us/app/understudy/id782635884 The setup is basically like private music lessons. We pair you with a somewhat more advanced student also doing SICP. The deal is to (1) Work on SICP by you…

Cool idea, will be curious to see how it goes (don't own iStuff so can't directly participate).

Live remote video-learning, I've found, tends to require a good friend of comparable skill level to work. If you discover that strangers can make this work sustainably, that's definitely interesting and important.

Post reply on HN