Computer Science Engineering Books
Computer Science Engineering related books. Confined to foundational subjects on which CSE stands.
Table of contents
- Algorithms
- Compilers
- Computer Architecture
- Database
- Data Structures
- Mathematics
- Networks
- Operating Systems
- Programming
- Security
- Topics
Algorithms
- Grokking Algorithms – Aditya Y. Bhargava
- The Algorithm Design Manual – Steve S. Skiena
- Introduction to Algorithms – Cormen, Lesiserson, Rivest, Stein
- Algorithm Design – Jon Kleinberg, Eva Tardos
- Algorithms – Robert Sedgewick, Kevin Wayne
- The Design and Analysis of Algorithms – Anany Levitin
- Algorithms – S. Dasgupta
- Algorithms - Notes for Professionals – GoalKicker
Compilers
- Essensitals of Programming Language – Daniel P. Friedman, Mitchell Wand
- Language Implementation Pattern – Terence Parr
- Programming Language Pragmatics – Michael L. Scott
- Engineering A Compiler – Keith D. Cooper, Linda Torczon
- Crafting A Compiler – Rischer, Cytron, LeBLANC
- Modern Compiler Implementation in C – Andrew W. Appel
Computer Architecture
- Computer System’s: A Programmer’s Perspective
- The Elements of Computing Systems – Noam Nisan, Shimon Schocken
- Computer Organization and Design – Patterson, Hennessy
- Computer Organization: A Quantative Approach – Patterson, Hennessy
- Structured Computer Organization – Tanenbaum
Database
- Fundamentals of Database System – Elmasari, Navathe
- Database System Concepts – Sudarshan, Korth
- Database system Concepts, Language & Architecture – Paolo Atzeni, Stefano Ceri
- Database Management – Thomas Cannolly, Carolyn Begg
Data Structures
- Data Structures Using C – Reema Thareja
- Notes on Data Structures and Programming Techniques – James Aspnes
Mathematics
- Invitation to Discrete Mathematics – Jirı Matousek Jaroslav Nesetril
- Discrete Mathematics and it’s Applications – Rosen
- A Programmer’s Introduction to Mathematics – Jeremy Kun
- Discrete Mathematics – L. Lovasz, K. Vesztergombi
- Discrete Mathematics with Applications – Susanna S. Epp
- Computer Mathematics for Programmers – Abney, Rubin, Siberl
- Discrete Mathematics for Computer Scientists – Stein, Drysdale, Bogart
- Proofs and Fundamentals – Ethan D. Bloch
Networks
- Computer Networking: A Top Down Approach – Kurose, Ross
- Data Communications and Networking – Behrouz
- Computer Networks – Tanenbaum
- TCP/IP Illustrated: The Protocolas (Volume I) – Richard Stevens, Kevin R. Fall
- Data Communications and Networking* – Forouzan
- Network Warrior – Gary A. Donahue
- Internet Routing Architectures – Sam Halabi, Danny McPherson
Operating Systems
- Operating System Concepts – Silberschatz
- The Linux Programming Interface – Michael Kerrisk
- Operating Systems: Three Easy Pieces – Remzi, Andrea Arpaci-Dusseau
- Understanding Operating Systems – Ann McIver McHoes, Ida M. Flynn
- Think OS – Allen B. Downey
Programming
- How to Design Programs – Felleisen, Findler, Flatt, Krishnamurthi
- Structure and Interpretation of Program – Gerald Jay Sussman, Hal Abelson
Security
- Hacking: The Art of Exploitation – Jon Erickson
- The Infosec Handbook – Hodeghatta Rao, Nayak
- Black Hat Python – Justin Seitz
- PoC
||
GTFO – Manul Laphroaig - Practical Malware Analysis – * Michael Sikorski, Andrew Honig*
- Serious Cryptography – Jean-Philippe Aumasson
- The Web Application Hacker’s Handbook – Dafydd Stuttard, Marcus Pinto
- Security Engineering – Ross Anderson
Topics
I think these sub-sections are sufficient. At present, I don’t care about the books related to Computer Graphics, Digital Signal Processing, AI, Machine Learning etc.
Distributed Systems
- Distributed Systems: Fun & Profit – Mikito Takada
- Designing Data-Intensive Application – Martin Kleppmann
- Introduction to Reliable & Secure Distributed Programming – Cachin, Guerraoui, Rodrigues
- Principles of Distributed Computing – Roger Wattenhofer
- Distributed Systems – Marteen, Tanenbaum
- Designing Distributed Systems – Brendan Burns
Linux
- Linux Pocket Guide – Daniel J. Barrett
- Linux System Administration – Tom Adelstein and Bill Lubanovic
- Unix and Linux System Administration Handbook – Nemeth, Synder, Hein, Whaley, Mackin
- Linux in a Nutshell – Siever, Figgins, Love, and Robbins
- Classic Shell Scripting – Arnold Robbins, Nelson H. F. Beebe
- Linux Cookbook – Michael Stutz
- Advacned Programming in Unix Environment – W.Richard Stevens, Stephen A. Rago
- Sed & Awk – Dale Dougberty, Arnold Robbins
p2p
- Handbook of Perr-To-Peer Networking – Shen, Yu, Buford, Akon
- Peer to Peer: Harnessing the Power of Disruptive Technologies – Andy Oram
Regular Expressions
- Mastering Regular Expressions – Jeffrey E. F. Friedl
- Regular Expressions Pocket Reference – Tony Stubblebine