← Back to dantasfiles.com/princeton

Princeton Computer Science - Fall 2024 Unofficial Reading List

These are books that are recommended in computer science classes at Princeton

The books marked with a ✨ are ones I’ve liked enough to read all the way through

Freshman Level  
Computers in Our World
COS 109 / EGR 109
Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security by Brian Kernighan
Computer Science: An Interdisciplinary Approach
COS 126 / EGR 126
Computer Science: An Interdisciplinary Approach by Sedgewick & Wayne
Sophomore Level  
Introduction 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: Essential Commands 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 / SML 305 / ECE 305
● ✨ Mathematics for Machine Learning by Deisenroth, Faisal & Ong ✨
Contemporary Logic Design
ECE 206 / COS 306
Digital Design with RTL Design, VHDL, and Verilog by Frank Vahid
Computing & Optimization for the Physical and Social Sciences
ORF 363 / 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, and Least Squares by Boyd & Vandenberghe
Convex Optimization by Boyd & Vandenberghe
Introduction to Machine Learning
COS 324
Introduction to Machine Learning by Arora, Park, Jacob & Chen
An Introduction to Statistical Learning by James, Witten, Hastie & Tibshirani
● ✨ Mathematics for Machine Learning by Deisenroth, Faisal & Ong ✨
Deep Learning by Goodfellow, Bengio & Courville
Introduction to Probability by Blitzstein & Hwang
Reinforcement Learning: An Introduction by Sutton & Barto
Programming with Python by Software Carpentry
Learning Data Science: Data Wrangling, Exploration, Visualization, and Modeling with Python by Lau, Gonzalez & Nolan
Functional Programming
COS 326
● ✨ OCaml Programming: Correct + Efficient + Beautiful by Michael Clarkson ✨
Real World OCaml: Functional Programming for the Masses by Madhavapeddy & Minsky
Advanced 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
MAE 345 / COS 346 / ECE 345 / ROB 345
Planning Algorithms by Steven M. LaValle
Probabilistic Robotics by Thrun, Burgard & Fox
Robot Modeling and Control by Spong, Hutchinson & Vidyasagar
Introduction to Autonomous Mobile Robots by Siegwart, Nourbakhsh & Scaramuzza
Ethics of Computing
COS 350
Fairness and Machine Learning: Limitations and Opportunities by Barocas, Hardt & Narayanan
Computer Architecture & Organization
COS 375 / ECE 375
● ✨ Computer Organization and Design: The Hardware Software Interface by Patterson & Hennessy ✨
Senior Level  
Computer Graphics
COS 426
Computer Graphics with Open GL by Hearn, Baker & Carithers
Computer Vision
COS 429
Computer Vision: Algorithms and Applications by Richard Szeliski
Cryptography
COS 433 / MAT 473
Introduction to Modern Cryptography by Katz & Lindell
Foundations of Cryptography by Oded Goldreich
Tutorials on the Foundations of Cryptography: Dedicated to Oded Goldreich by Yehuda Lindell
Human-Computer Interaction
COS 436
Statistical Methods for HCI Research by Koji Yatani
Readings in Information Visualization: Using Vision to Think by Card, Mackinlay & Shneiderman
The Design of Implicit Interactions by Wendy Ju
Design of Very Large-Scale Integrated (VLSI) Systems
ECE 462 / COS 462
Digital Integrated Circuits: A Design Perspective by Rabaey, Chandrakasan & Nikolic
Principles of Blockchains
ECE 470 / COS 470
● ✨ Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction by Narayanan, Bonneau, Felten, Miller & Goldfeder ✨
Graduate Level  
Theoretical Machine Learning
COS 511
Introduction to Online Convex Optimization by Elad Hazan
Introduction to Online Nonstochastic Control by Hazan & Singh
Prediction, Learning, and Games by Cesa-Bianchi & Lugosi
Understanding Machine Learning: From Theory to Algorithms by Shalev-Shwartz & Ben-David
Boosting: Foundations and Algorithms by Schapire & Freund
Reinforcement Learning: Theory and Algorithms by Agarwal, Jiang, Kakade & Sun
Optimization for Machine Learning by Elad Hazan
Optimization for Machine Learning (Special Topics in Data and Information Science)
ECE 539 / COS 512
Convex Optimization: Algorithms and Complexity by Sebastien Bubeck
Optimization for Machine Learning by Elad Hazan
Convex Optimization by Boyd & Vandenberghe
Automated Reasoning about Software
COS 516 / ECE 516
The Calculus of Computation: Decision Procedures with Applications to Verification by Bradley & Manna
Advanced Algorithm Design
COS 521
Algorithmic Game Theory by Nisan, Roughgarden, Tardos & Vazirani
Randomized Algorithms by Motwani & Raghavan
Online Computation and 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
Recent Advances in Graph Algorithms (Advanced Topics in Computer Science)
COS 597B
See website for paper list
Programming Languages for Distributed Systems (Advanced Topics in Computer Science)
COS 597E
See website for paper list
AI, Society, and Education (Advanced Topics in Computer Science)
COS 597H
Causal Inference: What If by Hernan & Robins
Systems for Serving Generative AI (Advanced Topics in Computer Science)
COS 597K
See website for paper list
Deep Dive into Large Languages (Advanced Topics in Computer Science)
COS 597R
See website for paper list
Recent Advances in Wireless Networks (Advanced Topics in Computer Science)
COS 597S
See website for paper list

← Back to dantasfiles.com/princeton