π― Princeton Computer Science unofficial reading list, fall 2026
β Back to Fields of Study
Sophomore level
Algorithms & Data Structures COS 226
- βοΈ Algorithms by Sedgewick & Wayne
Junior level
Contemporary Logic Design COS 306
- Digital Design w/ 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 et al.
- Convex Optimization by Boyd & Vandenberghe
- Linear Programming: Foundations & Extensions by Robert J. Vanderbei
- Algorithms by Dasgupta et al.
Functional Programming & Formal Methods COS 326
- βοΈ OCaml Programming: Correct + Efficient + Beautiful by Michael R. Clarkson
Advanced Programming Techniques COS 333
- βοΈ The Practice of Programming by Kernighan & Pike
- Python in a Nutshell: A Desktop Quick Reference by Martelli et al.
- 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
- Pro Git: Everything You Need to Know about Git by Chacon & Straub
- The Python Tutorial
- The Python Language Reference
- The Python Standard Library
- Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites by Robin Nixon
- SQL Tutorial by W3Schools
- HTML Tutorial by W3Schools
- The Road to React: Your Journey to Master Plain yet Pragmatic React.js by Robin Wieruch
- CSS Tutorial by W3Schools
- Bootstrap 5 Tutorial by W3Schools
Computer Architecture & Organization COS 375
- βοΈ Computer Organization & Design: The Hardware Software Interface by Patterson & Hennessy
Senior level
Reasoning with Data COS 424
Design of VLSI Systems COS 462
- Digital Integrated Circuits: A Design Perspective by Rabaey et al.