Hacker News new | past | comments | ask | show | jobs | submit login

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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: