This is a wonderful and desk reference, proving holistic coverage of all the math-oriented themes in CS study and practice.  It is especially helpful if you already have a solid background in math, up to at least College Calculus I.  If you need to write a proof of some algorithm, it has countless examples of proofs to draw inspiration from, and includes many examples of the (genius) author's thinking when they work their way to proofs.  I'm quite glad I own it as Concrete Mathematics is a monumental achievement and quite comprehensive.<br><br>It gets 4 instead of 5 stars because despite having, as advertised, complete coverage of the mathematical topics needed for Computer Science, it is NOT a math book designed to teach you how to *conceptualize* the content it covers.  It is heavy on examples and light on theory, and so is not particularly apt for developing one's math schemas.  Let me reiterate this point: "Concrete Mathematics" will NOT teach you Pre-Calculus, Discrete Mathematics, or Calculus concepts.  If you don't already have a robust mathematical repertoire, this book will not instill a sense of confidence that you're  doing things correctly when working on your own.  In the Introduction, it says it was written based on an undergraduate class the authors routinely taught... but what seems missing from this book is the *teaching part* of their lecture series.  One gets the impression reading it that students who took the course must have all been math aces prior to setting foot in the lecture hall, that they needed only to learn how to apply their considerable math talents to the Computer Science problem domain.  I was fine reading and applying the content in this book, but I felt I should warn people looking for math instruction that they will need to supplement this volume with additional "pure math instruction" textbooks (Brief Applied Calculus, Discrete Math, etc.).