Yet to dive into a lot many of these books.
- Handbook of theoretical computer science (Vol A and Vol B)
Algorithms
- Introduction to algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
- Algorithms - Christos Papadimitriou, Sanjoy Dasgupta, Umesh Vazirani
- Algorithm design - Jon Kleinberg, Eva Tardos
- Foundations of Computer Science: C Edition - Alfred V. Aho, Jeffrey D. Ullman
- The Design and Analysis of Computer Algorithms - Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman
- Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting Searching - Robert Sedgewick
- Compared to what?: An introduction to the analysis of algorithms - Gregory J. E. Rawlins
- Programming pearls - Jon Bentley
- Data Structures with C - Seymour Lipschutz (Schaum's outlines)
- Fundamentals of Computer Algorithms - Ellis Horowitz, Sartaj Sahni
Mathematics
- Discrete mathematics and its applications - Kenneth H. Rosen
- Discrete mathematics - Norman L. Biggs
- p-adic Numbers, p-adic Analysis, and Zeta-Functions - Neal Koblitz
- A book of abstract algebra (2e) - Charles C. Pinter
Calculus for scientists and engineers: An analytical approach - K. D. Joshi
Thomas' Calculus (12e) - George B. Thomas Jr., Maruice D. Weir, Joel R. Hass
Applied abstract algebra (2e) - Rudolf Lidl, Günter Pilz
An introduction to the theory of numbers - G. H. Hardy, E. M. Wright
Analysis - I (3e) - Terrence Tao
Mathematical Analysis - Tom Apostol
Understanding Analysis - Stephen Abbott
Geometric algebra - Emil Artin
Topology
- Algebraic Topology - Tammo tom Dieck
- Algebraic topology - Allen Hatcher (pdf)
- A first course in topology - John McCleary
- Topology - James Munkres
- Introduction to topology - Bert Mendelson
- Topology without tears - Sidney A. Morris (pdf)
- Contemporary abstract algebra (7e) - Joseph A. Gallian
- Theory and problems of group theory - Benjamin Baumslag, Bruce Chandler
- Adventures in group theory: Rubik's Cube, Merlin's machine, and other mathematical toys - David Joyner
- Abstract Algebra - David S. Dummit, Richard M. Foote
- Computational introduction to number theory - Victor Shoup pdf
- The theory of rings - Neal H. McCoy
Category theory
- Category theory For sciences - David I. Spivak (old version)
- Sheaf theory through examples - Daniel Rosiak
- Categories for types - Roy L. Crole
Quantum theory:
- Picturing Quantum Processes - Aleks Kissinger, Bob Coecke (uses ZX calculus)
- Categories for Quantum Theory - Chris Heunen, Jamie Vicary
- Cakes, custard and category theory - Eugenia Cheng
- The joy of abstraction - Eugenia Cheng
- Principles of abstract interpretations - Patrick Cousot
- Principles of Cyber-Physical Systems - Rajeev Alur
- Handbook of satisfiability - Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsh
- SAT SMT by example - pdf
Model checking
- Principles of model checking - Christel Baier, Joost-Pieter Katoen
- Handbook of model checking - Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, Roderick Bloem
Types and programming languages
- Types and Programming Languages - Benjamin C. Pierce
- Advanced topics in types and programming languages - Benjamin C. Pierce
- Practical foundations for programming languages - Robert Harper
- Theories of programming languages - John C. Reynolds
- The formal semantics of programming languages: An introduction - Glynn Winskel
- Call by push-value: A functional/imperative synthesis - P.B. Levy
- Purely functional data structures - Chris Okasaki
- How to design programs (HtDP) - Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi (online)
PL
- Programming Languages: Application and Interpretation (2e) - Shriram Krishnamurthi
- Semantics with applications - Hanne Riis Nielson, Flemming Nielson
- Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Sussman
- Concepts of programming languages, 10th edition - Robert Sebesta
- Lectures on the Curry-Howard isomorphism - Morten Heine Sorensen, Pawel Urzyczyn (advanced)
- Type Theory and Functional Programming - Simon Thompson
- Basic simple type theory - Hindley (advanced)
- Term Rewriting and All That - Franz Baader, Tobias Nipkow
- The little typer - Daniel P. Friedman, David Thrane Christiansen
- Formal Reasoning About Programs - Adam Chlipala
- Compiling with continuations - Andrew Appel
- Semantics with applications: A Formal Introduction - Hanne Riis Nielson, Flemming Nielson
- Introduction to Neural Network Verification - Aws Albarghouthi
- Handbook of automated reasoning - Alan Robinson, Andrei Voronkov
- Unifying theories of programming - C. A. R. Hoare, He Jifeng
Lambda calculus
- The lambda calculus: its syntax and semantics - Barendregt (authoritative)
- Lambda-calculus and combinators, an introduction - J. Roger Hindley, Jonathan P. Seldin
- An introduction to the lambda calculus for computer scientists - Hankin (very basic)
- Abstract computing machines: A lambda calculus perspective - Werner Kluge
- The Implementation of Functional Programming Languages - Simon L. Peyton Jones
Coq
Logic
Puzzles
- My Best Mathematical And Logic Puzzles - Martin Gardner
- The lady or the tiger and other logic puzzles - Raymond Smullyan
- What Is the Name of This Book The Riddle of Dracula and Other Logical Puzzles - Raymond M. Smullyan
- The Gödelian puzzle book: puzzles, paradoxes and proofs - Raymond Smullyan
Theory of computation
- Introduction to the theory of computation - Micheal Sipser
- An introduction formal languages and automata - Peter Linz
- Intro to Automata Theory, Languages and Computation - Motwani, Ullman and Hopcroft
- Theory of computation - Dexter C. Kozen
- Automata and Computability - Dexter C. Kozen
- Compilers: Principles, techniques and tools, 1st edition (The green dragon book) - Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
- Compilers: Principles, techniques and tools, 2nd edition (The purple dragon book) - Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman
- Enginnering a compiler - Keith D. Cooper, Linda Torczon
- Advanced Compiler Design and Implementation - Steven S. Muchnick
- Modern compiler implementation in ML - Andrew W. Appel
- System software: An introduction to systems programming - Leland L. Beck
- The theory of parsing, translation, and compiling - Alfred V. Aho, Jeffrey D. Ullman
- Recursive Programming Techniques - William H. Burge
Graph theory
Statistics and probability
- The cartoon guide to statistics - Larry Gonick, Woollcott Smith
- How not to be wrong - Jordan Ellenberg
- Statistics and truth: Putting chance to work - C. R. Rao
- Art of statistics - David Spiegelhalter
How to lie with statistics - Darrell Huff
The truthful art: Data, charts, and maps for communication - Alberto Cairo (about data visualization)
- High-dimensional statistics: A non-asymptotic viewpoint - Martin J. Wainwright
- High-dimensional probability: An introduction with applications in data science - Roman Vershynin (pdf)
- A practical guide to quantitative finance interviews - Xinfeng Zhou
Computer architecture
- Computer ogranization - Carl Hamacher, Zvonko Vranesic, Safwat Zaky
- Computer organization and design (RISC-V edition) - David A. Patterson, John L. Hennessy
- Computer organization: A quantitative approach - David A. Patterson, John L. Hennessy
Switching theory and logic design
- Digital logic and computer design - Morris Mano
- Switching and finite automata theory - Zvi Kohavi, Niraj K. Jha
- Synthesis and optimization of digital circuits - Giovanni De Micheli
- The elements of computing systems: Building a modern computer from first principles - Noam Nisan, Shimon Schocken (Nand to Tetris)
- Getting started with FPGAs - Russell Merrick
Electrical and electronics
- Practical electronics for inventors 4e - Paul Scherz, Simon Mon
Operating systems
- Operating system concepts, 9th edition - Greg Gagne, Peter Baer Galvin, Avi Silberschatz
- Modern operating systems - Andrew S. Tanenbaum
- Real-time systems - Jane W. S. Liu
Computer networks
- Computer Networks: A systems approach - Bruce S. Davie, Larry L. Peterson
- Computer Networks - Andrew S. Tanenbaum
DBMS
- Fundamentals of database system - Elmasri, Navathe
- Database system concepts - Henry F Korth, Abraham Silberschatz
Computer graphics
- Computer Graphics (C version) - Donald Hearn & Pauline Baker
Cryptography
- Cryptography and network security - principles and practices - William Stallings
AI/ML
- Artificial Intelligence - Elaine A. Rich and Kevin Knight
- Pattern recognition and Machine learning - Christopher Bishop
Electronics and electrical
Microchip Fabrication: A Practical Guide to Semiconductor Processing (6e) - by Peter Van Zant
Microelectronics Circuits: Theory and applications - Adel S. Sedra, Kenneth C. Smith (analog electronics)
Design of Analog CMOS Integrated Circuits - Behzad Razavi (analog electronics)
Fundamentals of semiconductor manufacturing and process control - Gary S. May, Costas J. Spanos
Formal verification: An essential toolkit for modern VLSI design - Erik Seligman, Tom Schubert, M V Achutha Kiran Kumar
A Practical Introduction to PSL - Cindy Eisner, Dana Fisman
Introduction to VLSI systems - Carver Mead, Lynn Conway
- Fundamentals of error-correcting codes - W. Cary Huffman, Vera Pless
- Error control coding: fundamentals and applications - Daniel J. Costello, Shu Lin
Linear algebra
- Introduction to linear algebra - Gilbert Strang
- Thirty-three miniatures: Mathematical and algorithmic applications of linear algebra ᵈʳᵃᶠᵗ - Jiří Matoušek
- Linear algebra done right - Sheldon Axler ᵖᵈᶠ
- Introduction to linear algebra - Gilbert Strang
- Introduction to quantum algorithms via linear algebra - Richard J Lipton
Game theory
- Introduction to game theory - Martin J. Osborne
- Handbook of Game Theory with Economic Applications (4 volumes)
Writing
- Style: Toward Clarity and Grace - Gregory G. Colomb, Joseph M. Williams
- The elements of style - Strunk and White
- The Sense of Style: The Thinking Person’s Guide to Writing in the 21st Century - Steven Pinker
- The elements of eloquence - Mark Forsyth
- BUGS in writing: A Guide to Debugging Your Prose - Lyn Dupré
General
- The Universal Computer: The Road from Leibniz to Turing - Martin Davis
Computability and unsolvability - Martin Davis
Gödel's proof - Ernest Nagel, James R. Newman
Computability: Turing, Gödel, Church, and Beyond - Edited by B. Jack Copeland, Carl J. Posy, and Oron Shagrir
Infinity and the Mind - Rudy Rucker
One Two Three… Infinity - George Gamow
Gödel, Escher, Bach - Douglas Hofstadter
The First Six Books Of The Elements Of Euclid - Euclid, Oliver Byrne (a modern rendition here)
- How to solve it - G. Pólya
- How to solve it by computer - R. G. Dromey
- God created the integers - Stephen Hawking
- Beyond infinity: An expedition to the outer limits of mathematics - Eugenia Cheng
- The colossal book of Mathematics - Martin Gardner
- The music of the primes - Marcus du Sautoy
- How to cut a cake: And other mathematical conundrums - Ian Stewart
Not-so-familiar topics
- Foundations of probabilistic programming - Edited by Gilles Barthe, Joost-Pieter Katoen, Alexandra Silva
Miscellaneous
OCaml:
- OCaml from the very beginning - John Whitington pdf
- More OCaml: Algorithms, methods & diversions - John Whitington
- Real world OCaml (2e) - Yaron Minsky, Anil Madhavapeddy
C:
C++:
- Effective C++ - Scott Meyers
- More effective C++ - Scott Meyers
- Effective STL - Scott Meyers
- Object-oriented programming in C++, 4th edition - Robert Lafore
- Functional Programming in C++ - Ivan Čukić (Manning publications)
Haskell:
- Practical Haskell: A real world guide to programming (2e) - Alejandro Serrano Mena
- Real world haskell - Bryan O'Sullivan, Don Stewart, John Goerzen ³⁰
- Thinking functionally with Haskell - Richard Bird
- Programming in Haskell (2e) Second Edition - Graham Hutton
- Haskell in depth - Vitaly Bragilevsky
- Retrocomputing with Clash: Haskell for FPGA Hardware Design (a Haskell extension) - Gergő Érdi
- Optics by example: Functional lenses in Haskell - Chris Penner
- The Haskell school of music: From signals to symphonies - Paul Hudak, Donya Quick
Unix:
sml:
Java:
- Functional Programming in Java (2e) - Venkat Subramaniam
- Functional Programming in Java - Pierre-Yves Saumont
prolog:
- The art of Prolog - Leon Sterling, Ehud Shapiro
- Programming in Prolog (5e) - W. F. Clocksin, C. S. Mellish
- Clause and effect - W. F. Clocksin
ACL2:
- Computer-aided reasoning: An approach - Matt Kaufmann, Panagiotis Manolios, and J Strother Moore ³⁷
lean prover:
Other resources
Research life
- How to Get a PhD: A Handbook for Students and their Supervisor - Estelle M. Phillips, Derek S. Pugh
- The Good Supervisor: Supervising Postgraduate and Undergraduate Research for Doctoral Theses and Dissertations - Gina Wisker