Spring 2026→

This is an unofficial list of books that are recommended in Fall 2025 computer science classes at Princeton
I’ve read sections of many of these, but the books marked with a bold ✔️ are ones I’ve been interested enough in to read at length

Freshman level  
Computer Science: An Interdisciplinary Approach
COS 126
Computer Science: An Interdisciplinary Approach by Sedgewick & Wayne
Sophomore level  
Intro. to Programming Systems
COS 217
C Programming: A Modern Approach by K.N. King
ARM 64-Bit Assembly Language by Pyeatt & Ughetta
✔️ The Practice of Programming by Kernighan & Pike
Linux Pocket Guide by Daniel J. Barrett
Algorithms & Data Structures
COS 226
✔️ Algorithms by Sedgewick & Wayne
Reasoning About Computation
COS 240
Mathematics for Computer Science by Lehman, Leighton & Meyer
Junior level  
Mathematics for Numerical Computing & Machine Learning
COS 302
✔️ Mathematics for Machine Learning by Deisenroth, Faisal & Ong
Contemporary Logic Design
COS 306
Digital Design with RTL Design, VHDL & Verilog by Frank Vahid
Computing & Optimization for the Physical & Social Sciences
COS 323
An Introduction to Optimization: With Applications to Machine Learning by Chong, Lu & Zak
Algorithms by Dasgupta, Papadimitriou & Vazirani
Introduction to Applied Linear Algebra: Vectors, Matrices & Least Squares by Boyd & Vandenberghe
Linear Programming: Foundations and Extensions by Robert J. Vanderbei
Convex Optimization by Boyd & Vandenberghe
Intro. to Machine Learning
COS 324
Introduction to Machine Learning by Arora, Park, Jacob & Chen
An Introduction to Statistical Learning by James, Witten, Hastie & Tibshirani
Speech & Language Processing by Jurafsky & Martin
Reinforcement Learning: An Introduction by Sutton & Barto
✔️ Mathematics for Machine Learning by Deisenroth, Faisal & Ong
Deep Learning by Goodfellow, Bengio & Courville
Introduction to Probability by Blitzstein & Hwang
Learning Data Science: Data Wrangling, Exploration, Visualization & Modeling with Python by Lau, Gonzalez & Nolan
Pattern Recognition & Machine Learning by Christopher M. Bishop
Introduction to Machine Learning by Etienne Bernard
Functional Programming
COS 326
✔️ OCaml Programming: Correct + Efficient + Beautiful by Michael Clarkson
Real World OCaml: Functional Programming for the Masses by Madhavapeddy & Minsky
Great Ideas in Theoretical CS
COS 330
Introduction to Algorithms by Cormen, Leiserson, Rivest & Stein
Algorithms by Jeff Erikson
Adv. Programming Techniques
COS 333
✔️ The Practice of Programming by Kernighan & Pike
Python in a Nutshell: A Desktop Quick Reference by Martelli, Ravenscroft, Hoden & McGuire
Flask Web Development: Developing Web Applications with Python by Miguel Grinberg
JavaScript: The Definitive Guide: Master the World’s Most-Used Programming Language by David Flanagan
Beginning Software Engineering by Rod Stephens
Introduction to Robotics
COS 346
 
Artificial Intelligence, Law & Public Policy
COS 352
See website for paper list
Computer Architecture & Organization
COS 375
✔️ Computer Organization & Design: The Hardware Software Interface by Patterson & Hennessy
Senior level  
Distributed Systems
COS 418
The Go Programming Language by Donovan & Kernighan
Distributed Systems: Principles & Paradigms by Tanenbaum & van Steen
Guide to Reliable Distributed Systems: Building High-Assurance Applications & Cloud-Hosted Services by Kenneth P. Birman
Computer Graphics
COS 426
Computer Graphics with Open GL by Hearn, Baker & Carithers
Cryptography
COS 433
Introduction to Modern Cryptography by Katz & Lindell
A Graduate Course in Applied Cryptography by Boneh & Shoup
Foundations of Cryptography by Oded Goldreich
Computer Networks
COS 461
Computer Networking: A Top-Down Approach by Kurose & Ross
Design of Very Large-Scale Integrated (VLSI) Systems
COS 462
Digital Integrated Circuits: A Design Perspective by Rabaey, Chandrakasan & Nikolic

| Graduate level | | | :—: | — | | Fundamentals of Deep Learning
COS 514 | • Theory of Deep Learning by Sanjeev Arora | | Automated Reasoning about Software
COS 516 | See website for paper list
The Calculus of Computation: Decision Procedures with Applications to Verification by Bradley & Manna | | Adv. Computer Systems
COS 518 | See website for paper list | | Adv. Algorithm Design
COS 521 | ◦ Algorithmic Game Theory by Nisan, Roughgarden, Tardos & Vazirani
Randomized Algorithms by Motwani & Raghavan
Online Computation & Competitive Analysis by Borodin & El-Yaniv
The Probabilistic Method by Alon & Spencer
Approximation Algorithms by Vijay V. Vazirani
The Design of Approximation Algorithms by Williamson & Shmoys
Spectral Graph Theory by Fan R.K. Chung | | Robot Planning Meets Machine Learning
COS 531 | ◦ Planning with Markov Decision Processes: An AI Perspective by Mausam & Kolobov
Algorithms for Decision Making by Kochenderfer, Wheeler & Wray
Planning Algorithms by Steven M. LaValle
Artificial Intelligence: A Modern Approach by Norvig & Russell
Probabilistic Machine Learning: An Introduction by Kevin P. Murphy
Pattern Recognition & Machine Learning by Christopher M. Bishop
Reinforcement Learning: An Introduction by Sutton & Barto
Machine Learning Methods for Planning by Steven Minton | | Efficient Systems for Foundation Models
COS 597A | See website for paper list | | Neural Sensing, Modeling & Understanding
COS 597E | See website for paper list | | Probabilistic Topics in RL
COS 597R | See website for paper list
Deep Learning by Goodfellow, Bengio & Courville
Probabilistic Machine Learning: Advanced Topics by Kevin P. Murphy
Reinforcement Learning: An Introduction by Sutton & Barto | | Domain-specific Computer Systems Architecture
COS 597V | • Computer Architecture: A Quantitative Approach by Hennessy & Patterson | <!– | Other technology courses | | | :—: | — | | Economics of the Internet & Artificial Intelligence: The Digital Revolution
ECO 326 | • AI Snake Oil: What Artificial Intelligence Can Do, What It Can’t & How to Tell the Difference by Narayanan & Kapoor
Networks, Crowds & Markets: Reasoning about a Highly Connected World by Easley & Kleinberg
The Attention Deficit: Unintended Consequences of Digital Connectivity by Swati Bhatt
How Digital Communication Technology Shapes Markets: Redefining Competition, Building Cooperation by Swati Bhatt |

| B.S.E. Basic Math and Science | | | :—: | — | | Calculus I / II
MAT 103 / 104 | ◦ Thomas’ Calculus: Early Transcendentals, Single Variable by Hass, Heil, Bogacki & Weir | | Multivariable Calculus
MAT 201 | ◦ Thomas’ Calculus: Multivariable by Hass, Heil, Bogacki & Weir | | Linear Algebra with Applications
MAT 202 | ◦ Linear Algebra with Applications by Otto Bretscher | | General Chemistry: Applications in Modern Technology
CHM 207 | • Chemical Principles by Zumdahl & DeCoste | –>

Spring 2026→