(1) Introduction to Algorithms (2) Structure and Interpretation of Computer Programs (3) The Pragmatic Programmer (4) Design Patterns (5) The C Programming Language (6) Clean Code (7) Code (8) Compilers (9) The Mythical Man-Month (10) Refactoring
1. Introduction to Algorithms Thomas H. Cormen
2. Structure and Interpretation of Computer Programs Harold Abelson
3. The Pragmatic Programmer: From Journeyman to Master Andy Hunt
4. Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma
5. The C Programming Language Brian W. Kernighan
6. Clean Code: A Handbook of Agile Software Craftsmanship Robert C. Martin
7. Code Charles Petzold
8. Compilers: Principles, Techniques, and Tools Alfred V. Aho
9. The Mythical Man-Month: Essays on Software Engineering Frederick P. Brooks Jr.
10. Refactoring: Improving the Design of Existing Code Martin Fowler
11. Introduction to the Theory of Computation Michael Sipser
12. The Algorithm Design Manual Steven S. Skiena
13. Algorithms to Live By: The Computer Science of Human Decisions Brian Christian
14. Programming Pearls Jon L. Bentley
15. Gödel, Escher, Bach: An Eternal Golden Braid Douglas R. Hofstadter
16. The Art of Computer Programming, Volume 1: Fundamental Algorithms Donald Ervin Knuth
17. Head First Design Patterns Eric Freeman
18. Code Complete Steve McConnell
19. Concrete Mathematics: A Foundation for Computer Science Ronald L. Graham
20. Operating System Concepts Abraham Silberschatz
21. Computer Networks Andrew S. Tanenbaum
22. Algorithms Robert Sedgewick
23. Working Effectively with Legacy Code Michael C. Feathers
24. JavaScript: The Good Parts Douglas Crockford
“
25. The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography Simon Singh
“
26. Computer Systems: A Programmer’s Perspective Randal E. Bryant
27. Types and Programming Languages Benjamin C. Pierce
“
28. The Elements of Computing Systems: Building a Modern Computer from First Principles Noam Nisan
“
29. The Clean Coder: A Code of Conduct for Professional Programmers Robert C. Martin
30. Coders at Work: Reflections on the Craft of Programming Peter Seibel
31. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability Steve Krug
32. Purely Functional Data Structures Chris Okasaki
33. The Art of Computer Programming, Volumes 1–3 Boxed Set Donald Ervin Knuth
34. Effective C++: 55 Specific Ways to Improve Your Programs and Designs Scott Meyers
35. Applied Cryptography: Protocols, Algorithms, and Source Code in C Bruce Schneier
36. Domain-Driven Design: Tackling Complexity in the Heart of Software Eric Evans
37. Computer Networking: A Top-Down Approach James F. Kurose
38. Patterns of Enterprise Application Architecture Martin Fowler
39. Computer Organization & Design: The Hardware/Software Interface David A. Patterson
40. Pro Git Scott Chacon
41. Test Driven Development: By Example Kent Beck
“
42. The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing MachineCharles Petzold
“
43. Superintelligence: Paths, Dangers, Strategies Nick Bostrom
44. Machine Learning Tom M. Mitchell
45. The Little Schemer Daniel P. Friedman
46. Learn You a Haskell for Great Good! Miran Lipovača
47. The Art of Computer Programming, Volume 2: Seminumerical Algorithms Donald Ervin Knuth
48. The Art of Computer Programming: Volume 3: Sorting and Searching Donald Ervin Knuth
49. Computer Architecture: A Quantitative Approach John L. Hennessy
50. Hackers: Heroes of the Computer Revolution Steven Levy
All images is from Pixabay. Data is collected from Goodreads.com.