Found in 13 comments on Hacker News
randcraw · 2018-01-23 · Original thread
Or concrete, as suggested by Knuth, Graham, and Patashnik in their book, "Concrete Mathematics: A Foundation for Computer Science".

acconrad · 2016-09-21 · Original thread
Someone asked this a few months ago and the book that was referred was Concrete Mathematics by Knuth ( which I have since purchased and have enjoyed re-learning from college. Highly recommended, and should cover all you need to know. Very approachable text.
dpflan · 2015-09-20 · Original thread
This is always a good topic with numerous HN submissions and comments:

Just from a search, there are some great results:

1. Mathematics for Computer Science - HN Submissions:,

2. How to Read Mathematics - HN Submissions:,


Here are some other excellent mathematics books:

1. Mathematics: Its Content, Methods and Meaning

Containing the thoughts and direction of numerous mathematicians including Kolmogorov, this is a great survey of the field of mathematics. It touches upon Analysis, Analytic Geometry, Probability, Linear Algebra, Topology, and more. [1.]

2. Concrete Mathematics: A Foundation for Computer Science

Containing the thoughts and direction of mathematician and computer scientists such as Donald Knuth, this is a great reference for computer science related mathematical concepts focusing on continuous and discrete concepts. [2.]




mcguire · 2015-02-04 · Original thread
You mean Concrete Mathematics, by Ron Graham^, Don Knuth^^, and Oren Patashnik?[1]

I thought it was just an advertisement for Computer Concrete Roman (Knuth's other font family) and the Zapf(?) Euler math fonts.

^ Yes, that Ron Graham.

^^ Yes, that Don Knuth.

^^^ I don't recognize Patashnik. Sorry.


avinassh · 2015-01-27 · Original thread
CLRS is quite 'academic' and requires good understanding of mathematics. It's a great book, but not a good one for beginners, imo. It will be difficult as self study for first timers. You can start with Datastructures and Algorithm Analysis in C by M. A. Weiss[0]. One more alternative is The Algorithm Design Manual by S. Skiena[1]. It's also good and focuses more on algorithm, implementation (as opposed to math-y stuff of CLRS). If I were you, I would get both the books and read alternatively. Don't miss out on exercises, they are very important.

I also suggest you to join this Coursera course, Algorithms: Design and Analysis by Tim Roughgarden[2]. Currently the course is open, so you can sign up for classes. The course is offered in two parts[3], complete both of them.

Once you are comfortable with basic concepts start solving questions/puzzles online on sites like SPOJ[4], UVa[5], (YC-funded) HackerRank[6]. You could try TopCoder[7] also, but the questions are bit difficult. Hope this helps.

PS - You should study math, because it is important in Algorithms Analysis. You could try reading required parts of Concrete Mathematics by Knuth[8] or as you come across new concepts, Google and understand them.

[0] -

[1] -

[2] -

[3] -

[4] -

[5] -

[6] -

[7] -

[8] -

vokadav · 2012-10-08 · Original thread
For what it's worth, Rosen's introductory text on discrete mathematics is pretty good as well. (This sort of math crops up all the time in formal CS, for those of you who might otherwise wonder wtf discrete has to do with anything.) (The study guide that is available to go with it is worth the money, imho.)

The Graham, Knuth, Patashnik book on concrete mathematics (a bit of a play on words for continuous and discrete) is a quality work as well but written to a considerably higher level that may or may not be pleasant to contend with depending on the reader's background.

elssar · 2012-07-08 · Original thread
Well you haven't mentioned how much math you're familiar with. But I'll assume that you know school level mathematics and are looking to learn more about the math mostly used in computer science. Get Concrete Mathematics( ) by Graham, Knuth & Patashnik - It's based on the course taught at Stanford since 1970 & it's really really good. Another book I think you should get is Meta Math: The quest for Omega( ) by Gregory Chaitin. It's not really a math course book, and is mostly the authors take on his favorite topics in math, but if you want to improve your thinking process then this book will definitely give you a different perspective.
duaneb · 2012-03-22 · Original thread
This looks excellent. I also heartily recommend Knuth's Concrete Mathematics (
tim_sw · 2012-03-12 · Original thread
Has anyone read both this and Knuth's Concrete Mathematics? How do they compare with each other?
liuhenry · 2012-02-02 · Original thread
My recommendation is "Concrete Mathematics", by Graham, Knuth, and Patashnik. (

It is excellently written, but by no means a light read. If you put in the time and effort, you will come out on the other side with a great foundation, and deep understanding and mastery of the topics.

However, it's definitely not an introductory book, and some background in math will be very helpful.

I'd also check out these threads:

Ask HN: Best Mathematics book for complete noobie?

Ask HN: good math books

Ask HN: Learning advanced math

chollida1 · 2009-06-19 · Original thread
I've seen a few people recommend The Princeton Companion to Mathematics(PCM)

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 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.

tokenadult · 2009-04-19 · Original thread
It depends what level you are already on. At some point, you might like to read Concrete Mathematics: A Foundation for Computer Science

which is an enjoyable book, but which presupposes a fairly strong background in math.

An easier book that is good preparation for computer science is Mathematics: A Discrete Introduction,

which is very readable and full of information that will get you ready for computer science concepts and for other math reading.

After edit:

Browse the books on this bibliography page

for lots of suggestions compiled by someone deeply interested in computer science.

kaens · 2009-01-31 · Original thread
Assuming you've been coding for a while, I'd recommend taking a look at Concrete Mathematics ( ). It's a challenging book, but it's extremely well-written, and you should be able to get through it with a minimal amount of other resources. I was able to work my way through it, and I have no background in formal education past the high-school level, let alone a background in maths.

This is, in my opinion, required reading on the same level as SICP for people who are serious programmers - at least those with a weak math background.

Fresh book recommendations delivered straight to your inbox every Thursday.