Recently, in order to provide some statistical support for work, I went through my father’s international student version of Fundamentals of Biostatistics (3ed, 1990) by Bernard Rosner. It covers basic statistical techniques used in the medical sciences, focusing on real-world medical examples over mathematical formalism and proof. Most of it I know already from undergrad, but I reviewed hypothesis testing, which is de-emphasized in modern machine learning practice, and learned some new things about non-parametric rank tests. Within the text there were handwritten notes and typo corrections, so following along I underlined and wrote some brief notes in the margins.
Working along with a pencil in a physical book was quite enjoyable, partly due to the good organization of the topics. I’ve also been practicing reading a book for 15 minutes straight through without distractions, which as zoomer as it sounds is something I want to work on. The book inspired me to rekindle my on-and-off study of algorithms and purchase a physical copy of CLRS, the “bible of algorithms”. The actual name of the book is very generic and underwhelming: Introduction to Algorithms, so it’s referred to by the first initials of its authors. (I guess it is Bible study, then.)
A new copy of the 3rd edition textbook goes for $40 on eBay, but I bought a “Like New” condition used copy on eBay for only $20. Apparently a 4th edition just came out in 2022, but it’s still expensive and not the one I used in the past. I can’t remember the last time I bought a brand new book, as I always buy used books for half price or less nowadays. A few days later, the hefty, beautiful hardcover book arrived, looking like no one had ever opened it. On paper, the LaTeX typesetting somehow looks nicer than it does on a screen. The text and diagrams are all starkly black-and-white, with rare gray shading in diagrams and no distracting colors. (A quick preview at the 4th edition shows it added ugly unnecessary colors, which detracts rather than enhances aesthetically.) The paper is glossy, so a little worse for writing in pencil, but does make the pages feel more premium compared to the thinner and less premium pages of other books. Overall, the textbook gives the impression of being large and authoritative.
This book is legitimately the most interesting book I have ever read. A close second is another well-known textbook I incidentally recently found in my workplace, Computer Architecture: A Quantitative Approach (5ed, 2011) by Hennessy and Patterson, but even though it’s not too old, I get the feeling it’s already a bit out-of-date, as a lot has happened in 13 years in the hardware world; the book is already missing exciting developments like the open-source RISC V instead of MIPS (which the N64 used!) and the rapid growth of GPU computing. I used to read Wikipedia for algorithms topics, and still do sometimes, but the more I learn, the more the site seems poorly organized, unfocused, and even factually wrong. In comparison, The book is well-organized, consistent in style, and rigorously proved for correctness. I wish I had a book like this as a kid, instead of a stupid overpriced “children’s encyclopedia” that I quickly read the whole of and got bored of, or the AoPS Volume 2 book that (from my memory) is all over the place, and feels more like a collection of tricks than the fundamentals of math topic (though it has been a decade, so if I looked at it again I may reevaluate my opinion).
Every chapter’s topic is fascinating. Unexpectedly, each chapter is actually quite short, but the book ends up being 1200+ pages due to the sheer number of CS topics covered. On the later topics, such as computational geometry and number-theoretic algorithms, each chapter only covers the very basics, though understandably so as it is an introductory text and whole books are written on each of those topics.
A few reviews online have said the book is overly formal and proof-based, but I’ve found it to be quite readable. I say this meaning no offense - the people who find this book too formal have likely never used a real math book, meaning an undergraduate text with proofs. The actual math and proofs is less dense than a standard undergraduate textbook like Baby Rudin, and I’m a person who strongly dislikes the style of dry math books that start a section with an abstract “Definition:” and then consists mainly of “Definition:”, “Theorem:”, and “Proof:”. In fact, starting a section with a formal definition with no context is off-putting and next to useless at that point of the text. The motivation and “spirit” of a math concept in explanatory text is much more useful to me than the formalism. Of course the formalism is important to prove your intuition and work out the subtle details, but getting the idea of why something is true is much more useful for applying it to problem solving elsewhere. The book does a good job at motivating the design and nature of the algorithms presented.
This was just a first impressions rather than a book review, although I always end up writing more than I expect. After a pointless internal struggle, I decided it was ok to write in the unmarked beautiful book, like some do in their own Bibles, while others hold their books to be sacrosanct. I may contribute some of my solutions to the exercises/problems to an online crowdsourced Github repo, but many of the solutions have already been covered. In the meantime, I’ll be enjoying this book as a casual read and long-term study reference.