Skip to content

Computer Science

192 books

Must-Read 1976

A Discipline of Programming

Edsger W. Dijkstra

Must-Read 1992

Advanced Programming in the UNIX Environment

W. Richard Stevens

Must-Read 2006

Algorithm Design

Jon Kleinberg and Éva Tardos

Must-Read 1997

Art of Computer Programming Vol1

Donald E. Knuth

Must-Read 2014

Art of Computer Programming Vol2

Donald E. Knuth

Must-Read 1973

Art of Computer Programming Vol3

Donald E. Knuth

Must-Read 1995

Artificial Intelligence: A Modern Approach

Stuart Russell and Peter Norvig

Must-Read 2018

Book of Why

Judea Pearl

Must-Read 2000

Causality

Judea Pearl

Must-Read 1999

Code

Charles Petzold

Must-Read 1993

Code Complete

Steve McConnell

Must-Read 1999

Code: The Hidden Language of Computer Hardware and Software

Charles Petzold

Must-Read 1986

Compilers: Principles Techniques and Tools

Aho Lam Sethi Ullman

Must-Read 2013

Compilers: Principles, Techniques, and Tools

Aho, Lam, Sethi, and Ullman

Must-Read 1981

Computer Networks

Andrew S. Tanenbaum

Must-Read 1981

Computer Networks

Andrew Tanenbaum

Must-Read 2015

Computer Systems: A Programmer's Perspective

Bryant & O'Hallaron

Must-Read 1988

Concrete Mathematics

Donald E. Knuth

Must-Read 1994

Concrete Mathematics

Donald Knuth and Ronald Graham and Oren Patashnik

Must-Read 2016

Deep Learning

Ian Goodfellow, Yoshua Bengio, Aaron Courville

Must-Read 1994

Design Patterns

Erich Gamma et al.

Must-Read 2017

Designing Data-Intensive Applications

Martin Kleppmann

Must-Read 1996

Distributed Algorithms

Nancy A. Lynch

Must-Read 2001

Distributed Systems

Andrew S. Tanenbaum

Must-Read 2008

Distributed Systems

Andrew S. Tanenbaum and Maarten Van Steen

Must-Read 2001

Distributed Systems

Andrew Tanenbaum

Must-Read 2012

Elements of Information Theory

Thomas M. Cover and Joy A. Thomas

Must-Read 1979

Godel Escher Bach

Douglas Hofstadter

Must-Read 1979

Gödel, Escher, Bach

Douglas Hofstadter

Must-Read 2007

I Am a Strange Loop

Douglas Hofstadter

Must-Read 2003

Information Theory, Inference, and Learning Algorithms

David MacKay

Must-Read 1990

Introduction to Algorithms

Thomas H. Cormen

Must-Read 2001

Introduction to Algorithms

Thomas H. Cormen et al.

Must-Read 1979

Introduction to Automata Theory, Languages, and Computation

John Hopcroft, Rajeev Motwani, Jeffrey Ullman

Must-Read 2013

Introduction to the Theory of Computation

Michael Sipser

Must-Read 1992

Literate Programming

Donald E. Knuth

Must-Read 1992

Modern Operating Systems

Andrew S. Tanenbaum

Must-Read 1992

Modern Operating Systems

Andrew Tanenbaum

Must-Read 1995

Mythical Man Month

Fred Brooks

Must-Read 2006

No Silver Bullet

Fred Brooks

Must-Read 1970

Notes on Structured Programming

Edsger W. Dijkstra

Must-Read 2010

Operating System Concepts

Abraham Silberschatz, Peter Galvin, Greg Gagne

Must-Read 2018

Operating System Concepts

Silberschatz et al.

Must-Read 2008

Pattern Recognition and Machine Learning

Christopher Bishop

Must-Read 2002

Patterns of Enterprise Application Architecture

Martin Fowler

Must-Read 1988

Probabilistic Reasoning in Intelligent Systems

Judea Pearl

Must-Read 1999

Programming Language Pragmatics

Michael Scott

Must-Read 1999

Programming Pearls

Jon Bentley

Must-Read 1996

Rapid Development

Steve McConnell

Must-Read 1999

Refactoring

Martin Fowler

Must-Read 1996

Selected Papers on Computer Science

Donald E. Knuth

Must-Read 1982

Selected Writings on Computing

Edsger W. Dijkstra

Must-Read 1985

Structure and Interpretation of Computer Programs

Abelson Sussman

Must-Read 1996

Structure and Interpretation of Computer Programs

Harold Abelson and Gerald Jay Sussman

Must-Read 1975

Structured Computer Organization

Andrew S. Tanenbaum

Must-Read 1974

Surreal Numbers

Donald E. Knuth

Must-Read 1993

TCP/IP Illustrated, Volume 1

W. Richard Stevens

Must-Read 1998

The Algorithm Design Manual

Steven Skiena

Must-Read 2022

The Art of Computer Programming Vol 4B

Donald E. Knuth

Must-Read 1998

The Art of Computer Programming, Volume 1

Donald E. Knuth

Must-Read 1998

The Art of Computer Programming, Volume 2

Donald E. Knuth

Must-Read 1998

The Art of Computer Programming, Volume 3

Donald E. Knuth

Must-Read 2011

The Art of Computer Programming, Volume 4A

Donald E. Knuth

Must-Read 2020

The Art of Multiprocessor Programming

Maurice Herlihy and Nir Shavit

Must-Read 1988

The C Programming Language

Brian W. Kernighan and Dennis M. Ritchie

Must-Read 2013

The Datacenter as a Computer

Barroso & Holzle

Must-Read 2013

The Design of Everyday Things

Donald Norman

Must-Read 2001

The Elements of Statistical Learning

Trevor Hastie, Robert Tibshirani, Jerome Friedman

Must-Read 1995

The Mythical Man-Month

Fred Brooks

Must-Read 1999

The Practice of Programming

Brian W. Kernighan and Rob Pike

Must-Read 1999

The Pragmatic Programmer

Andrew Hunt and David Thomas

Must-Read 1999

The Pragmatic Programmer

David Thomas and Andrew Hunt

Must-Read 1984

The Unix Programming Environment

Brian W. Kernighan and Rob Pike

Must-Read 2002

Types and Programming Languages

Benjamin Pierce

Must-Read 2004

UNIX Network Programming, Volume 1

W. Richard Stevens

Must-Read

Working Effectively with Legacy Code

Michael Feathers

Recommended 2011

A Bug Hunter's Diary

Tobias Klein

Recommended 2013

A Tour of C++

Bjarne Stroustrup

Recommended 2025

A.I

Anjanava Biswas, Wrick Talukdar

Recommended 2013

Absolute OpenBSD

Michael W. Lucas

Recommended 2019

Advances in Cryptology – CRYPTO 2019

Alexandra Boldyreva, Daniele Micciancio

Recommended 2011

Algorithms

Robert Sedgewick and Kevin Wayne

Recommended 1976

Algorithms + Data Structures = Programs

Niklaus Wirth

Recommended 2013

Algorithms Unlocked

Thomas H. Cormen

Recommended 2014

Android Security Internals: An In-Depth Guide to Android's Security Architecture

Nikolay Elenkov

Recommended 2016

Arduino Project Handbook

Mark Geddes

Recommended 2020

Articulating Design Decisions

Tom Greever

Recommended 2020

Artificial Intelligence with Python

Alberto Artasanchez, Prateek Joshi

Recommended 2018

Attacking Network Protocols

James Forshaw

Recommended 2019

Automate the Boring Stuff with Python: Practical Programming for Total Beginners

Al Sweigart

Recommended 2019

Automated Machine Learning

Frank Hutter, Lars Kotthoff, Joaquin Vanschoren

Recommended 2020

Black Hat Go: Go Programming for Hackers and Pentesters

Tom Steele, Chris Patten, Dan Kottmann

Recommended 2021

Black Hat Python

Justin Seitz, Tim Arnold

Recommended 2017

Clean Architecture

Robert C. Martin

Recommended 2008

Clean Code

Robert C. Martin

Recommended 2017

Cloud Native Python

Manish Sethi

Recommended 2011

Cryptography Engineering: Design Principles and Practical Applications

Niels Ferguson, Bruce Schneier, Tadayoshi Kohno

Recommended 2023

CSS: The Definitive Guide

Eric Meyer, Estelle Weyl

Recommended 2021

Cyberjutsu

Ben McCarty

Recommended 2022

Cybersecurity: Attack and Defense Strategies

Yuri Diogenes, Dr. Erdal Ozkaya

Recommended 2021

Data Science at the Command Line

Jeroen Janssens

Recommended 2016

Data Visualization with Python and JavaScript

Kyran Dale

Recommended 2015

Design Sprint: A Practical Guidebook for Building Great Digital Products

Richard Banfield, C. Todd Lombardo, Trace Wax

Recommended 2018

Designing Across Senses

Christine W. Park, John Alderman

Recommended 2007

Designing BSD Rootkits

Joseph Kong

Recommended 1987

Designing the User Interface

Ben Shneiderman

Recommended 2016

Designing Voice User Interfaces: Principles of Conversational Experiences

Cathy Pearl

Recommended 2017

Designing with Data

Rochelle King, Elizabeth F Churchill, Caitlin Tan

Recommended 2022

Digital Forensics and Incident Response

Gerard Johansen

Recommended 2005

Distributed Systems: Concepts and Design

George Coulouris et al.

Recommended 2016

Doing Data Science

Rachel Schutt, Cathy O'Neil

Recommended 2015

Doing Math with Python

Amit Saha

Recommended 1991

Effective C++

Scott Meyers

Recommended 2014

Effective Modern C++

Scott Meyers

Recommended 2015

Embedded Firmware Solutions

Vincent Zimmer, Jiming Sun, Marc Jones, Stefan Reinauer

Recommended 2018

Emotionally Intelligent Design

Pamela Pavliscak

Recommended 2012

Exploring Splunk

David Carasso

Recommended 1999

Extreme Programming Explained

Kent Beck

Recommended 2019

Foundations of Information Security: A Straightforward Introduction

Jason Andress

Recommended 2017

Gray Hat C#

Brandon Perry

Recommended 2012

Hadoop: The Definitive Guide

Tom White

Recommended 2016

High Performance Images

Colin Bendell, Tim Kadlec, Yoav Weiss, Guy Podjarny, Nick Doyle, Mike McCall

Recommended 2021

How Linux Works: What Every Superuser Should Know

Brian Ward

Recommended 2001

How to Design Programs

Matthias Felleisen et al.

Recommended 2017

Industrial Cybersecurity

Pascal Ackerman

Recommended 2016

iOS Application Security

David Thiel

Recommended 2008

JavaScript: The Good Parts

Douglas Crockford

Recommended 1994

LaTeX: A Document Preparation System

Leslie Lamport

Recommended 2018

Malware Data Science: Attack Detection and Attribution

Joshua Saxe, Hillary Sanders

Recommended 2011

Metasploit

David Kennedy, Jim O'Gorman, Devon Kearns, Mati Aharoni

Recommended 2018

Microservices Patterns

Chris Richardson

Recommended 1995

More Effective C++

Scott Meyers

Recommended 1988

More Programming Pearls

Jon Louis Bentley

Recommended 2017

Neural Network Programming with Java Second Edition

Alan M. F. Souza, Fabio M. Soares

Recommended 2025

Notes on Programming in C

Rob Pike

Recommended 2018

OpenStack for Architects

Ben Silverman, Michael Solberg

Recommended 2014

Penetration Testing

Georgia Weidman

Recommended 2013

Perl One-Liners

Peteris Krumins

Recommended 2017

PoC||GTFO

Manul Laphroaig

Recommended 2018

PoC||GTFO, VOLUME 2

Manul Laphroaig

Recommended 2018

Practical Binary Analysis: Build Your Own Linux Tools for Binary Instrumentation, Analysis, and Disassembly

Dennis Andriesse

Recommended 2018

Practical Cyber Intelligence

Wilson Bautista

Recommended 2016

Practical Forensic Imaging

Bruce Nikkel

Recommended 2017

Practical Game AI Programming

Micael DaGraca

Recommended 2021

Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things

Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Woods

Recommended 2025

Practical Machine Learning

Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, James Foulds

Recommended 2017

Practical Packet Analysis 3rd Edition

Chris Sanders

Recommended 2014

Practical Reverse Engineering

Bruce Dang, Alexandre Gazet, Elias Bachaalany

Recommended 2014

Pro Git

Scott Chacon, Ben Straub

Recommended 1993

Programming with POSIX Threads

Butenhof

Recommended 2010

R in a Nutshell

Adler, Joseph M.Eng

Recommended 2012

Release It!

Michael Nygard

Recommended 2019

Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats

Alex Matrosov, Eugene Rodionov, Sergey Bratus

Recommended 2014

Scope and Closures

Kyle Simpson

Recommended 2024

Serious Cryptography

Jean-Philippe Aumasson

Recommended 2005

Silence on the Wire

Michal Zalewski

Recommended 2002

Specifying Systems

Leslie Lamport

Recommended 2017

Statistics for Machine Learning

Pratap Dangeti

Recommended 2022

Test-Driven Development by Example

Kent Beck

Recommended 2008

THE ART OF DEBUGGING WITH GDB, DDD, AND ECLIPSE

Norman S. Matloff, Peter Jay Salzman

Recommended 2003

The Art of Unix Programming

Eric S. Raymond

Recommended 2012

The Artist's Guide to GIMP: Creative Techniques for Photographers, Artists, and Designers

Michael Hammel

Recommended 2015

The Book of GNS3: Build Virtual Network Labs Using Cisco, Juniper, and More

Jason C. Neumann

Recommended 2011

The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall

Peter N. M. Hansteen

Recommended 2009

The Book of™ Inkscape: The Definitive Guide to the Free Graphics Editor

Dmitry Kirsanov

Recommended 1986

The C++ Programming Language

Bjarne Stroustrup

Recommended 1999

The Cathedral and the Bazaar

Eric S. Raymond

Recommended 2020

The Ghidra Book: The Definitive Guide

Chris Eagle, Kara Nance

Recommended 2015

The GNU Make Book

John Graham-Cumming

Recommended 2011

The IDA Pro Book

Chris Eagle

Recommended 2012

The Linux Command Line

William E. Shotts, Jr.

Recommended 2010

The Linux Programming Interface

Michael Kerrisk

Recommended 1971

The Psychology of Computer Programming

Gerald Weinberg

Recommended 2011

The Shellcoder's Handbook, Second Edition: Discovering and Exploiting Security Holes

Chris Anley, John Heasman, Felix Lindner, Gerardo Richarte

Recommended 2021

Think Bayes

Allen B. Downey

Recommended 2012

Think Like a Programmer

V. Anton Spraul

Recommended 2014

Think Stats

Allen Downey

Recommended 2013

TouchDevelop

R. Nigel Horspool, Nikolai Tillmann

Recommended 2017

Tragic Design: The Impact of Bad Product Design and How to Fix It

Jonathan Shariat, Cynthia Savard Saucier

Recommended 2009

Unauthorised Access

Wil Allsopp

Recommended 2018

Unix Style, or cat -v Considered Harmful

Rob Pike

Recommended 2017

Using SVG with CSS3 and HTML5

Amelia Bellamy-Royds, Kurt Cagle, Dudley Storey

Recommended 2018

Vue

Ajdin Imsirovic

Recommended 2018

Web Penetration Testing with Kali Linux - Third Edition

Gilberto Najera-Gutierrez, Juned Ahmed Ansari

Recommended 2016

Wicked Cool Shell Scripts

Dave Taylor, Brandon Perry

Recommended 2015

You Don't Know JS: ES6 & Beyond

Kyle Simpson

Recommended 2015

You Don't Know JS: Up & Going

Kyle Simpson

Supplementary 2023

Data Abstraction and Hierarchy

Barbara Liskov

Supplementary 2025

Functional Differential Geometry

Gerald Jay Sussman and Jack Wisdom

Supplementary 2021

Game Programming in C++

Sanjay Madhav

Supplementary 2004

Head First Design Patterns

Kathy Sierra and Bert Bates

Supplementary 2000

Program Development in Java

Barbara Liskov