My Bookshelf

Welcome to a cross-section of my library. The books listed below are handpicked amongst hundreds. The main criteria for inclusion in the list are books that I reach for time and time again. I may add an “expanded” section in the future for books that I found immensely useful on the first or second readthrough but not necessarily a permanent fixture on my desk. There are many good books and this list may rotate as the seasons change.

The links attached to the picture in the first column of the table are monetized through the Amazon associates program. I own and have read each of the books listed and wholeheartedly recommend each one. I don’t make much money from this at all (if I’m lucky, it will cover the costs of the domain), but if you are interested in any of the books, you’re welcome to click the affiliate link to support my writing. If you don’t want to click the affiliate link, I’ve also included a non-affiliate link after each one.

Math

Book Description
Abstract Algebra by Dummit & Foote is probably the most widely used undergraduate textbook on the subject of abstract algebra. Non-affiliate link
Ideals, Varieties, and Algorithms is a super practical introduction to concepts in algebraic geometry with interesting applications to computational geometric proofs, robotics, and more. Non-affiliate link
Mathematical Physics covers a number of useful topics that are honestly pretty relevant to graphics engineering. Namely, it covers aliasing, fourier transforms, bessel functions, and interesting numerical methods (ODEs, PDEs, Frobenius series among others). Non-affiliate link
Mathematical Methods for Physics and Engineering is another great applied math text with a lot of useful material for engineers in general. Non-affiliate link
If you've been away from math for a long time and want to brush up, Concrete Mathematics by Graham, Knuth, and Patashnik is a pretty good place to resume your studies. Non-affiliate link
Numerical Methods for Scientists and Engineers is the most "programming" oriented text in the math section but it covers a number of important topics like floating point precision, error propagation, optimization theory, and more. It is extremely inexpensive and will pay for itself many times over. Not to mention, it's written by the Richard Hamming (RIP, inventor of the Hamming code, winner of the 1968 Turing Award, amongst other things). Non-affiliate link

Programming

Book Description
C++ Primer was the main book I picked up when I learned C++ and after comparing a number of titles, I think it is among the best. I still use it from time to time as a handy reference. Non-affiliate link
Even if you predominantly use OO languages, I think an appreciation for functional programming is important, hence this recommendation. Non-affiliate link
If you so much as touch a POSIX socket, you'll likely want UNIX Network Programming on your shelf somewhere. Non-affiliate link
Print issues notwithstanding, Realtime Rendering has been a staple for graphics engineers for as long as I can remember. Non-affiliate link
Extremely celebrated work and deservedly so. The book is extremely easy to follow and actually have usable code by the end that implements a pretty robust physically based path tracer. Non-affiliate link
Collision Detection and fast spatial culling is highly relevant even if you aren't a physics simulation programmer. This book sets the bar for covering this material. Non-affiliate link
Even if you aren't an active machine learning practitioner, I think the prevalance of neural nets is too great to explore, and implementing your own is a fantastic exercise. Deep Learning by Goodfellow, Bengio, and Courville is pretty much what you want to get started. Non-affiliate link
This series from Knuth has a reputation for being a set of books that sits on a shelf and never actually gets read. I don't know why! Frankly, it is a brilliant exposition that straddles the line between providing useful context and examples. It is worth it for the problems alone (just make sure you actually attempt to solve them). Non-affiliate link

Engineering

Book Description
Art of Electronics by Horowitz and Hill is a household name amongst electrical engineers and digital designers for good reason. Even if you already own the second edition, I think the third edition is well worth the investment as well. Non-affiliate link
I've read and re-read Digital Design and Computer Architecture a number of times and it easily makes the short list. I wholeheartedly recommend it for programmers that need to do low-level code, even if you aren't a chip designer. Non-affiliate link
Floyd's Digital Fundamentals is another great standard text for digital logic and design. This text to me is slightly more general/fundamental than the text above and while there is some overlap, I appreciated having it on my shelf. Non-affiliate link
If you've been programming FPGAs for a while and want to see how the "big dogs" do it, Advanced FPGA Design: Architecture, Implementation, and Optimization is a great text for that. Non-affiliate link
Programming FPGAs is a much more approachable miniature book for people looking to get started with FPGA programming (this is what I used to start learning). I wouldn't say that it gets as much use now that I'm familiar with the topic, but I've spent enough hours with it that I think it warrants inclusion here. Non-affiliate link