Recommended Books
One important thing: if you stop studying you will end up being obsolete. Always learn new things for yourself, not for your grades. This is perfectly explained in the book "The Clean Coder: A Code of Conduct for Professional Programmers", one of the best books you can read for your profession.
The following is a list of books that students asked me to write in my courses. It comprises a series of books that I've found useful or interesting, and so I recommend reading for your own personal and professional interest.
Game Development
- Game Engine Architecture, by Jason Gregory
- Videogame Storytelling, by Evan Skolnicl
- The Game Narrative Toolbox, by Heussner et al.
- Foundations of Game Engine Development, by Eric Lengyel
- Elevating Game Experiences with Unreal Engine 5, by Marques et al.
- Blueprints Visual Scripting for Unreal Engine 5, by Romero et al.
- Multiplayer Game Development with Unreal Engine 5, by Secchi
- The Advanced Game Narrative Toolbox, by Heussner (ed.)
- Interactive Stories and Video Game Art, by Solarski
- Game Physics Engine Development, by Millington
- The Art of Game Design, by Schell
Computer Graphics
- Fundamentals of Computer Graphics, by Marschner et al.
- Foundations of Multidimensional and Metric Data Structures, by Hanan Samet
- Physically Based Rendering: From Theory to Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys
- The Finite Element Method Linear Static and Dynamic Finite Element Analysis, Thomas J. R. Hughes
Jobs Interviews
- Cracking the Coding Interview, by Gayle L. McDowell
- The Clean Coder: A Code of Conduct for Professional Programmers, by Robert C. Martin
Programming
- The Algorithm Design Manual, by Steven S. Skiena
- Advanced Data Structures, by Peter Brass
- Numerical Recipes (The Art of Scientific Computing), by W. H. Press, et al.
- Handbook of Data Compression, by David Salomon and Giovanni Motta
Languages
- The C++ Programming Language, by Bjarne Stroustrup
- The C Programming Language, by Brian W. Kernighan, and Dennis M. Ritchie
- Effective Modern C++, by Scott Meyers (and all of his books)
- Thinking Functionally with Haskell, by by Richard Bird
- Introduction to 80x86 Assembly Language and Computer Architecture, by Richard C. Detmer
- Modern X86 Assembly Language Programming: 32-bit, 64-bit, SSE, and AVX, by Daniel Kusswurm
- ARM Assembly Language: Fundamentals and Techniques, by William Hohl and Christopher Hinds
- Programming Massively Parallel Processors: A Hands-on Approach, by David B. Kirk, and Wen-mei W. Hwu
Architectures
- The Intel Microprocessors, by Barry B. Brey
- Inside the Machine, by Jon Stokes
UI & UX
- Don't Make Me Think, Revisited, by Steve Krug
- UX Strategy: How to Devise Innovative Digital Products that People Want, by Jaime Levy
- The Non-Designer's Design Book, by Robin Williams
- The Elements of Typographic Style, by Robert Bringhurst
- Thinking with Type: A Critical Guide for Designers, Writers, Editors, & Students, by Ellen Lupton