Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


I'd have to disagree - the math is important, and lays a foundation for functional/declarative programming. One major lesson of Chapter 1 (where the math is most evident) is conceptually tying math (and its notations) with functional, declarative programming. Math still shows up in Chapters 2 (e.g. generic operations, polar vs. rectangular coordinate system math) and 3 (streams). It can't be skipped over without missing a lot of lessons.


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.


Concrete Mathematics [1] helped me a lot. It teaches mathematical knowledge and skills for computer science.

[1] http://en.wikipedia.org/wiki/Concrete_Mathematics


Nice, I have that on my bookshelf. But SICP assumes a working knowledge of basic calculus, right?


I could benefit from that suggestion as well..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: