Phase-wise Books
Phase I
• Grokking Algorithms — Aditya Bhargava
• Python Crash Course — Eric Matthes
• The Pragmatic Programmer — Andrew Hunt, David Thomas
• Programming: Principles and Practice Using C++ — Bjarne Stroustrup
Phase II
• Computer Networking: A Top-Down Approach — Kurose & Ross
• Introduction to Algorithms (CLRS) — Cormen et al.
• Operating Systems: Three Easy Pieces (OSTEP) — Remzi Arpaci-Dusseau
• Database System Concepts — Silberschatz, Korth, Sudarshan
• Python for Data Analysis — Wes McKinney
• Clean Code — Robert C. Martin
• Computer Systems: A Programmer’s Perspective — Randal David
Phase III
• Fluent Python — Luciano Ramalho
• Designing Data-Intensive Applications — Martin Kleppmann
• High Performance Python — Micha Gorelick
• Professional C++ — Marc Gregoire
• Effective Modern C++ — Scott Meyers
• Building Low Latency Applications with C++ — Sourav Ghosh
Phase IV
• Deep Learning — Goodfellow, Bengio, Courville
• Pattern Recognition and Machine Learning — Christopher Bishop
• Reinforcement Learning: An Introduction — Sutton & Barto
• Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow — Aurélien Géron
• Probabilistic Machine Learning — Kevin Murphy
• Artificial Intelligence: A Modern Approach — Russell & Norvig
• Natural Language Processing with Transformers — Tunstall, von Werra, Wolf