A decade of the berkeley math circle and concrete mathematics
FROM THE HN SHELF
Concrete Mathematics: A Foundation for Computer Science
Ronald L. Graham, Donald E. Knuth, and Oren Patashnik
Computing · A BOOKTypographic jacket · original cover not fetched
FROM THE SHARED SHELF · 2006–2026 SAMPLE
Concrete Mathematics: A Foundation for Computer Science
Ronald L. Graham, Donald E. Knuth, Oren Patashnik
12 readers recommend it across 9 discussions
ComputingMathematicsdiscrete mathematicscomputer sciencemathematical problem solvingmathematics for computer science
Topics are model-inferred labels.
Keep it on your reading list
THE WORD OF MOUTH
What made it worth passing on?
Original Hacker News comments, in the readers’ own words.
Concrete Mathematics by Graham/Knuth/Patashnik is still a great resource on the kind of mathematics and mathematical thinking we need in CS, but I'm not sure if it is fully accessible with a high-school level of Maths. To be perfectly honest, I doubt I would've ever gotten through college-level maths without being forced to do it, as it can be very frustrating and difficult in the beginning. Unless you are quite confident in your self-discipline and enthusiasm to learn maths, rather than books I'd recommend something interactive (online course, forums, challenges). If you are interested in a starting point to learn mathematics that are relevant for CS, I'd start with propositional logic and boolean algebra, as well as proofs via induction.
When I saw the title, this was the first book that came to my mind. Very nicely written, possibly the best math book I've read (as a Computer Science MSc)
You don't really need much math for SICP. You can learn a few random pieces of math from SICP, and without background that will be harder and you might feel like you're missing out, but these are just examples; you can just trust the math works and focus on how they implement it in code, it's structure of the code they want to teach you about. And, it gets better, IIRC from chapter 2 there is much less math. What happens in the first chapter, is that SICP is exploring various control structures (and abstractions over them) before teaching any compound data structures at all. So all it has to work with is numbers. But as number theory teaches us, numbers actually have a rich internal structure, and SICP uses that to make "interesting" examples! (This aspect of SICP is one of the big critiques in the paper http://cs.brown.edu/~sk/Publications/Papers/Published/fffk-h... (http://cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/paper.pdf) which explains the motivations beyond HtDP textbook. In particular, HtDP shows compound data structures first, and uses those to start with explicit methodology for data-directed design of code.…
Also recommended in this reply
Graham, Knuth, and Patashnik's Concrete Mathematics has the same exploratory and informal tone that the Feynman lectures have. It's more about computational math than abstract math.
Visual Complex Analysis - Needham. A lot of great pictures, exerything is explained (and shown) geometrically. Complex differentiation/integration, non-Euclidean geometry, vector fields etc. Mathematics and its History - Stillwell. Wonderfully written. From the ancients to the 20th century, covers the mathematics (in a lot of detail) and lives of major mathematicians (potted bios). Concrete Mathematics - Knuth et al. Discrete maths, number theory, generating functions, covers most of the maths that pops up continually in programming. All You Wanted To Know About Mathematics But Were Afraid To Ask. Mathematics for Science Students 2 Vols. - Louis Lyons. Pretty basic, but covers all the mathematical basics for physics. (1st year uni level I guess) I learned a lot from this years ago, I still consult it as a reference. It's a pleasure to read. Also, all of Hamming's books.
Also recommended in this reply
Below list are some of my favorite books overall that I didn't see mentioned. ---Non-software related How to win friends and influence people -Dale Carnegie (The definitive guide to helping you work better with people, truly great book, should be required reading) Blink- Malcolm Gladwell Godel Escher, Bach - (Recursion, but not from a software perspective. Its a glorious book that will change the way you think about recursion.) Hitch Hiker's guide to the galaxy, - Douglas Adams (Glorious book that is a fun read, when you need a break pick this up and laugh hard) Foundation Series - Assimov (Great stories from one of the best sci-fi writers ever) -------------------Software related Code Complete Concrete Mathematics The Art of Computer Programming The Design of the Unix Operating System Introduction to Algorithms -Cormen Design Patterns Elements of Resusable OO Design -Gang of Four
Also recommended in this reply
- Gödel, Escher, Bach: An Eternal Golden Braid
- How to Win Friends and Influence People
- Code Complete
- The Hitchhiker's Guide to the Galaxy
- The Art of Computer Programming
- Foundation
- Introduction to Algorithms
- Design Patterns: Elements of Reusable Object-Oriented Software
- Blink: The Power of Thinking Without Thinking
- The Design of the UNIX Operating System
What kind of math do you want to learn? There's a lot of great resources out there, but you need to be more specific. For example: I really enjoyed Gilbert Strang's course on Linear Algebra, available as a series of video lectures on MIT OCW (http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/Cours... (http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/)). If you are interested in Discrete mathematics, Knuth's "Concrete Mathematics" is a great book--but it might not count as "basic" enough for your purposes, depending on your background. If by "basics" you mean "the stuff you should have learned in high school or as an undergrad", the Standard Deviants videos are fun: http://www.sdlearn.com/default.asp
I want some recommendations on good math books on: calculus, discrete math, probabilities, statistics Calculus Made Easy by Silvanius P. Thompson (Feynman taught himself calc with this book) Concrete Mathematics by Knuth, Graham, Patashnik Fundamentals of Applied Probability Theory by Alvin Drake You probably want to learn Linear Algebra - get Gilbert Strang's book. The Schuam's outlines in each topic are good for review. I like the ancient ones, usually there are dozens of them for next to nothing at any good used bookstore.
Also recommended in this reply
My recommendations: Hardy, A Course of Pure Mathematics. Knuth, Graham and Patashnik, Concrete Mathematics. Hoffman and Kunze, Linear Algebra (there are several free online books on Linear Algebra and Vector Spaces, Strang, Axler, Lang Halmos and Shilov are also recommended). Feller, An Introduction to Probability Theory and Its Applications. If you're not studying for exams and you have plenty of time on your hands, try the following algorithm: 1. Dive into some random chapter in the book and attempt the first exercise in that chapter. 2. Understand the problem by referring back and learning everything that might potentially have relevance to the exercise. 3. Attempt to solve exercise. 4. If unsuccessful, go to step 2. 5. If there are more exercises in the chapter, pick the next exercise and go to step 2. 6. If there are still unsolved exercises in the book, go to step 1.…
Also recommended in this reply
I've seen a few people recommend The Princeton Companion to Mathematics(PCM) http://press.princeton.edu/titles/8350 I own this book and while I do agree it's a great book for getting a 10000 foot view about topics in mathematics it's not really a book one read to learn the math that the poster is asking for. I agree with another post here that said studying is doing problems and being able to do them again a week later without having to consult the text again. PCM isnt a good book for learning calculus, discrete math, probability or statistics( what the posters wants to learn) simply because it isn't designed to teach them. There are no problems/solutions in the book to try. If you really want one book then I'd recommend Concrete Mathamatics http://www.amazon.com/Concrete-Mathematics-Foundation-Comput... (http://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?ie=UTF8&s=books&qid=1245423997&sr=1-1) by Graham, Knuth and Patashnik. It has relevant topics and problem sets that you can work through to see if you truly did learn anything when reading it.
Also recommended in this reply
Second the Concrete Mathematics recommendation. It's a challenging book, but approachable. It did wonders for my understanding of maths, and for my skill as a programmer.
Knuth's "Concrete Mathematics" is a lot of fun. Also, there are a lot of good courses at OCW over at MIT. http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm#Math... (http://ocw.mit.edu/OcwWeb/web/courses/courses/index.htm#Mathematics)