Bookshelf

Fifteen recommended books for building foundations and preparing for research. Each selection links to an author or publisher resource.

Computer Science

Start with SICP for programming concepts, then CS:APP and OSTEP for systems.

  1. Introduction to Algorithms

    Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein

    A comprehensive reference for data structures, algorithm design and complexity analysis. Useful for learning to justify correctness and compare computational costs.

    Publisher ↗
  2. Structure and Interpretation of Computer Programs

    Harold Abelson & Gerald Jay Sussman, with Julie Sussman

    Develops computational thinking through abstraction, recursion, interpreters and program structure. The linked comparison edition places Scheme and JavaScript treatments side by side.

    Online text ↗
  3. Computer Systems: A Programmer’s Perspective

    Randal E. Bryant & David R. O’Hallaron

    Connects programs to the machine beneath them: data representation, assembly, memory, linking and concurrency. A strong foundation for systems and security work.

    Author resources ↗
  4. Operating Systems: Three Easy Pieces

    Remzi H. Arpaci-Dusseau & Andrea C. Arpaci-Dusseau

    Explains operating systems through virtualization, concurrency and persistence. Clear examples and exercises help readers understand processes, memory, threads and storage.

    Free online text ↗
  5. Designing Data-Intensive Applications, 2nd edition

    Martin Kleppmann & Chris Riccomini

    Examines reliability, scalability and the tradeoffs behind databases and distributed systems. Helps students reason about replication, consistency and data-processing architectures.

    Publisher ↗

Computer Networks & Cybersecurity

Start with Computer Networking and Computer Security; use the others for deeper study.

  1. Computer Networking: A Top-Down Approach

    James F. Kurose & Keith W. Ross

    Introduces networking from applications down to transport, routing and the link layer. Companion Wireshark labs connect protocol concepts with real packet traces.

    Author resources ↗
  2. TCP/IP Illustrated, Volume 1: The Protocols, 2nd edition

    Kevin R. Fall & W. Richard Stevens

    Uses packet-level examples to explain how TCP/IP protocols behave in practice. Particularly useful for traffic analysis, troubleshooting and understanding protocol edge cases.

    Publisher ↗
  3. Computer Security: Principles and Practice

    William Stallings & Lawrie Brown

    Provides a broad foundation in threats, access control, software security and defensive mechanisms. A useful bridge between introductory coursework and applied security projects.

    Publisher ↗
  4. Security Engineering

    Ross Anderson

    Explores how dependable, secure systems are built—and why they fail. Combines technical mechanisms with human factors, economics and lessons from real deployments.

    Author resources & online chapters ↗
  5. Cryptography Engineering

    Niels Ferguson, Bruce Schneier & Tadayoshi Kohno

    Focuses on using cryptography correctly within real systems, including key management and protocol design. Helps readers recognize the gap between secure primitives and secure implementations.

    Author resources ↗

Artificial Intelligence

Start with AIMA for breadth; build probability and linear algebra before the more mathematical texts.

  1. Artificial Intelligence: A Modern Approach

    Stuart Russell & Peter Norvig

    A broad introduction to intelligent agents, search, reasoning, planning, uncertainty and learning. Provides a conceptual map for choosing an AI research direction.

    Author resources ↗
  2. Pattern Recognition and Machine Learning

    Christopher M. Bishop

    Builds machine learning from probability, Bayesian inference and statistical models. Useful for understanding model assumptions, uncertainty and the mathematics behind learning algorithms.

    Author resources & free text ↗
  3. Deep Learning

    Ian Goodfellow, Yoshua Bengio & Aaron Courville

    Explains neural-network fundamentals, optimization, regularization and representation learning. A mathematical foundation for understanding modern deep models and their limitations.

    Free online text ↗
  4. Probabilistic Machine Learning: An Introduction

    Kevin Patrick Murphy

    Presents supervised and unsupervised learning through a probabilistic framework. Connects core theory with modern methods and accompanying computational examples.

    Author resources & online text ↗
  5. Reinforcement Learning: An Introduction, 2nd edition

    Richard S. Sutton & Andrew G. Barto

    Introduces learning through interaction, including Markov decision processes, value functions, temporal-difference learning and policy gradients. Useful preparation for sequential decision-making and agent research.

    Publisher ↗