The idea came to me after looking at an article on Slashdot. The author of the article discussed a simple page he found on the Internet, discussing his list of top books for any good programmers. Well, Christmas is coming and I decided I would make my top list of computer books. Hopefully, it will give some gift ideas to people out there.
Currently in my Bookshelf
Introduction to Algorithms; Cormen, Leiserson, Rivest; At McGill, we are taught that this is the data structure bible. Also called the white book, this work covers all the basics for data structure (trees, heap, sets, etc). I a great reference work that I always have at my desk.
Design Patterns; Gamme, Helm, Johnson, Vlissides; If you have done any serious work with Design Patterns, then you probably know this book. Written by the gang of four, this is the definitive reference. However, if you are new to Design Pattern, you can probably find an easier book to learn.
Fundamentals of Object-Oriented Design in UML; Meilir Page-Jones; Contrary to what the title says, this book is more about UML than design. It’s a great reference book to check up on your UML syntax.
Don’t Make Me Think!: A Common Sense Approach to Web Usability; Steve Krug; I recommend this book to all my friends who design software or web interfaces. One of my favorites in the bookshelf, this book is a direct introduction to usability design and usability testing. The book itself is very small, less than 200 pages, making it a very easy read.
Designing Web Usability: The Practice of Simplicity; Jakob Nielsen; Another good book on usability, but not as good as the Krug book
The C programming language; Brian W. Kernighan, Dennis M. Ritchie; This is the definitive guide to C programming. If you do any C programming, then you must have this book. Consider this C concatrated in less than 300 pages.
The C++ programming language; Bjarne Stroustrup; Similar to the previous book, this is the definitive guide to C++ programming. Of course, C++ is a lot more complicated, making this book a difficult read. However, it’s one of the best reference and comes highly recommended.
OpenGL Programming Guide: The Official Guide to Learning OpenGL; Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis; Affectionately called the red book, this is the bible of OpenGl programming. Many other books are available in the series ( orange book for shaders, white book for extensions, blue book for references), but this is the definitive guide. If you do any OpenGL, you need this book (and probably already have it in your bookself). An older edition of this book is available online.
My library is far from complete. Here are some of the books I’m planning on buying in the next few years.
- The Art of Computer Programming (3 books); Donald E. Knuth
- Code Complete 2nd Edition; Steve McConnell
- Refactoring: Improving the Design of Existing Code; Martin Fowler
- Game Programming Gems (5 volumes); Mark DeLoura