A few weeks ago, someone asked me for a list of essential Computer Science books for young people studying at university with emphasis on the art of computer programming.
After much thoughts and checking multiple other similar lists, here is my top ten + two = twelve books to really understand Computer Science and to start thinking like a Computer Scientist:
Introductory
- How to Think Like a Computer Scientist (Free)
- Structured Computer Organization (Amazon)
- Modern Operating Systems (Amazon)
- The C Programming Language (Amazon)
Intermediate
- Programming Pearls (Amazon)
- Head First Java (Amazon)
- The Pragmatic Programmer: From Journeyman to Master (Amazon)
- Code Complete (Amazon)
Advanced
- Design Patterns: Elements of Reusable Object-Oriented Software (Amazon)
- Effective Java (Amazon)
- Java Concurrency in Practice (Amazon)
- Introduction to Algorithms (Amazon)
Notice that there is none of those “Learn X in Y days” books. Those are for those who are not ready to invest enough time and energy to excel. Unlike you, dear reader. Happy programming 🙂
Here are quite similar lists elsewhere: The Top 9½ Books In a Hacker’s Bookshelf and List of Recommended Programming Books (Part II). You’ll notice that a lot of books are the same as the ones I have in my list. We are speaking of top books after all…