Ask HN: Recommended Math Primer for SICP

26 points by imechura ↗ HN
Can you recommend a decent math primer for those of us who did not earn a degree in CS and would like to undertake the SICP text?

15 comments

[ 3.1 ms ] story [ 49.1 ms ] thread
If I remember well, the Math part is only in the first or second chapter to illustrate some more abstract concepts. I'll simply suggest searching the web if there's an algorithm or a math concept that you don't know about. Furthermore, SICP does a great job at explaining the algorithm.
I know this might not be so helpful for you, but I don't think it requires anything above a basic understanding of math. The "deepest" math was in the beginning, when it covered Newton's Method for square root approximation.

SICP is used as the introductory CS text at many universities (Berkeley included) and has no official math prerequisites. I think you should try reading it first, and if you get stuck on a concept like Newton's Method, you can just read about it on Wikipedia.

But otherwise, there was basically no math involved, except as simple illustrations. Good luck! It was a great text.

If you haven't already, consider HtDP instead. It is designed to require no knowledge of mathematics beyond basic arithmetic. It fulfils a similar role to SICP. It is often argued that HtDP is a weaker text than SICP, but I found it a very useful course.
I disagree. I haven't read HtDP through, but it appears to be aimed more at designing and modularizing algorithms, whereas SICP first covers different ways to write an algorithm and then continues to different views of computing.

They get at somewhat different things, but I suspect that SICP talks about more fundamental ideas than HtDP, and is therefore a better choice if you're only going to read one of them. (If you're reading both, of course, do whatever.)

Have you tried reading SICP without a math primer? What's your current math background?
The SICP, from the chapters I've read, does not rely on mathematical sophistication the way, say, Knuth does. There's a little bit of calculus, but not much. If you've had a semester of calculus, you're probably more than well prepared. If you haven't you can probably focus instead on the data structures and algorithms.

Your best bet is just to grab a Scheme interpreter and dive in.

Whenever I need a refresher I go to Khan ->

http://www.khanacademy.org

(comment deleted)
First off, not everyone knows about Khan Academy.

Secondly, the link is unspecific because the OP hasn't detailed exactly what areas he needs a refresher in. It might be Algebra, it might be Calculus. Better to send him to a general higher level than to one that might be irrelevant to him.

Thirdly, it's obvious that he's not suggesting to follow the entire Academy's course load. If the question had been, where can I get a copy of "Atlas Shrugged" and I had said "Barnes and Noble", that wouldn't be me suggesting he should buy every book in the store.

The irony here is that it's your post that is "all noise and adds no value". Which is, I imagine, along with your tone, why you got so many downvotes.

(comment deleted)
Your post is all noise too. Just use the downvote button when you see a bad comment -- don't make another bad one ten times as long.
(comment deleted)
You do realize the irony here, right?
When I first read through SICP I stopped early in the book when it got the bit that required Calculus and took a massive detour to understand Calculus. Then I returned to the book, solved the problem, and discovered that the rest book had hardly any difficult math - certainly nothing that required me to know anything beyond high school math. C'est la vie.
There are other replies that detail the strict math requirements for getting through the SICP text and how to build up in those requirements.

But in case you are additionally interested in further self-education in mathematics related to computer science, or other onlookers in this thread are, I'll recommend some resources in discrete mathematics,

http://www.artofproblemsolving.com/Resources/articles.php?pa...

especially those directed toward the interests of computer scientists.

One book with good online support is the Art of Problem Solving book on Counting and Probability.

http://www.artofproblemsolving.com/Store/viewitem.php?item=i...

MIT OpenCourseware has a mathematics for computer science course.

http://ocw.mit.edu/courses/electrical-engineering-and-comput...

Princeton has posted lecture notes for a similar course:

http://www.cs.princeton.edu/courses/archive/spr10/cos433/mat...

ArsDigita University also posts math-learning resources online:

http://aduni.org/courses/math/

An Amazon guide to books for self-study and an Amazon list of favorite books may also be helpful:

http://www.amazon.com/gp/richpub/syltguides/fullview/R3NMQ39...

http://www.amazon.com/Computer-Science-and-Math-books-that-I...