Recommended math and computer science books
- Gödel, Escher, Bach by Douglas Hofstadter. This is a rambling book, some of it very interesting and some of it maybe less so. But, it highlights the creativity of math and frames Gödel's proof with a crazy and enjoyable collection of topics like Zen Buddhism, music, and art. It may be a little past its prime, as many of the ideas it deals with have become more popular (maybe even cliché in some cases). However I still have to put this book first on my list. It helped shape my understanding of math and helped me to see it as something that can be beautiful and relevant to the human experience.
- The Millenium Problems by Keith Devlin. An inspiring and approachable description of the most famous problems of mathematics: the Millenium problems. Solving one of these (well, except one which has already been solved!) will earn you a prize of $1,000,000. Devlin is great at making difficult concepts feel natural.
- In Pursuit of the Traveling Salesman: Mathematics at the Limits of Computation by William Cook. This book travels through decades of research on the famous traveling salesman problem. It details the most important practical and theoretical achievements and ideas developed for this problem. It turns out many of these ideas went on to be foundational parts of computer science, so this is a case where understanding a small slice of the field gives you an introduction to all of it. Beware: reading it may cause you to begin working on the traveling salesman problem.
- Mathematics 1001: Absolutely Everything That Matters About Mathematics in 1001 Bite-Sized Explanations by Richard Elwes. An amazing compendium for mathematicians, students, and prime lovers alike. Elwes uses intuitive language to describe a wide range of mathematical concepts. I like to flip open to a random page and read one or two of his descriptions.
- The Golden Ticket: P, NP, and the Search for the Impossible by Lance Fortnow. It's fun to read - there are stories, for example, about what the world might be like if P=NP. It's a great gentle introduction to the theory of computation and throws in a lot of interesting history to boot. This is a good book for getting some intuition on many of the important ideas in computer science like turing machines and linear programming, but without getting bogged down too much in the weeds.
- Meta Math! by Gregory Chaitin. Chaitin is extremely passionate about what he does, and it comes through. Sometimes it feels a little off color, to be honest, but if you can push through that the text is packed to the brim with ideas. It's focused on big questions like "what can be computed" and "what is randomness" and you actually come away with a better understanding of these slippery questions. His enthusiasm is infectious and you may start talking about this stuff to your friends.
- nets, puzzles, and postmen by Peter Higgins. This is a careful and fairly extensive introduction to graph theory. Good for aspiring mathematicians, high school, and college students, or mathematicians not in the area. For the most part, the book reads much more like a story than a textbook, which I appreciated: I liked being able to absorb these concepts passively (as opposed to reading a textbook, where I feel like I am doing work).
- The Three Body Problem by Liu Cixin. OK, you got me. This isn't a math book, per se. BUT, it deals with a huge number of beautiful scientific concepts. I found it incredibly inspiring to read, for two reasons. First, it's just a completely wild ride. So much happens, and so many bizarre things happen. So, reading it actually made me feel more creative in my work (which happens to be math). Secondly, it makes science feel so grand and cool that it makes working on it feel worthwhile. This book gave me amazing dreams, too. By the way, this is a series. I liked the third book of the series a lot too, for similar reasons.