←Spring 2025

This is an unofficial list of books that are recommended in Fall 2025 computer science classes at Princeton
The books marked with a ✨ are ones I’ve been interested enough in to read at length

Freshman level  
CS: 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
 
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
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 2025