This is an unofficial list of books that are recommended in 2026 computer science classes at Cornell
I’ve read sections of many of these, but the books marked with a bold ✔️ are ones I’ve found interesting enough to read at length

Sophomore level  
UNIX Tools & Scripting
CS 2043 (sp26)
 
Junior level  
Intro. to & Adv. Topics in Computer Game Architecture
CS 3152 & 4152 (sp26)
Game Design Workshop: A Playcentric Approach to Creating Innovative Games by Tracy Fullerton
Rules of Play: Game Design Fundamentals by Tekinbas & Zimmerman
The Game Design Reader: A Rules of Play Anthology by Tekinbas & Zimmerman
The Art of Game Design: A Book of Lenses by Jesse Schell
Challenges for Games Designers: Non-Digital Exercises for Video Game Designers by Brathwaite & Schreiber
A Theory of Fun for Game Design by Raph Koster
Intro. to Game Development by Steve Rabin
Andrew Rollings and Ernest Adams on Game Design by Rollings & Adams
The Art of Computer Game Design by Chris Crawford
User Interface Design for Games by David Kieras
Senior level  
Intro. to Compilers
CS 4120 (sp26)
Intro. to Compilers by Andrew Myers
Modern Compiler Implementation in Java by Andrew Appel
Compilers: Principles, Techniques & Tools by Aho, Sethi & Ullman
Engineering a Compiler by Cooper & Torczon
Adv. Compiler Design & Implementation by Steven S. Muchnick
The Java Language Specification by Gosling et. al
Linkers & Loaders by John R. Levine
✔️ Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Helm, Johnson & Vlissides
Refactoring: Improving the Design of Existing Code by Fowler & Beck
Numerical Analysis & Differential Equations
CS 4210 (fa26)
Numerical Analysis: Mathematics of Scientific Computing by Kincaid and Cheney
Numerical Computing with MATLAB by Cleve B. Moler
Numerical Analysis: Linear & Nonlinear Problems
CS 4220 (sp26)
A First Course in Numerical Methods by Ascher & Greif
Matrix Analysis & Applied Linear Algebra by Carl D. Meyer
Linear Algebra & Its Applications by Lay, Lay & McDonald
Linear Algebra & Its Applications by Gilbert Strang
Operating Systems
CS 4410 (sp26)
Operating Systems: Three Easy Pieces by Arpaci-Dusseau & Arpaci-Dusseau
Concurrent Programming with Harmony by Robbert van Renesse
The Design & Implementation of the 4.4 BSD Operating System by McKusick, Bostic, Karels & Quarterman
Understanding the Linux Kernel: From I/O Ports to Process Management by Bovet & Cesati
✔️ An Intro. to Programming with Threads by Andrew D. Birrell
The Little Book of Semaphores by Allen B. Downey
✔️ Computer Organization & Design: The Hardware Software Interface by Patterson & Hennessy (🌆 my highlights)
✔️ Some CS3410 (or Equivalent) Topics You Might Have Forgotten by Robbert van Renesse
✔️ A fork() in the Road by Baumann et. al
Intro. to Computer Networks
CS 4450 (sp26)
Computer Networks: A Systems Approach by Peterson & Davie
✔️ A Brief History of the Internet by Leiner et. al
Foundations of Computational Imaging
CS 4660 (sp26)
Deep Learning for Computational Imaging by Reinhard Heckel
Foundations of Computer Vision by Torralba, Isola & Freeman
High-Dimensional Data Analysis with Low-Dimensional Models: Principles, Computation & Applications by Wright & Ma
Linear Algebra Review & Reference by Kolter & Do
✔️ Mathematics for Machine Learning by Deisenroth, Faisal & Ong
✔️ Review of Probability Theory by Maleki & Do
Numerical Analysis: Background Plus a Bit by David Bindel
Machine Learning Glossary
The Matrix Cookbook by Petersen & Pedersen
Intro. to Computer Vision
CS 4670 (sp26)
Computer Vision: Algorithms & Applications by Richard Szeliski
Natural Language Processing
CS 4740 (sp26)
Speech & Language Processing: An Intro. to Natural Language Processing, Computational Linguistics & Speech Recognition with Language Models by Jurafsky & Martin
Robot Learning
CS 4756 (sp26)
Python Numpy Tutorial (with Jupyter & Colab) by Justin Johnson
Deep Learning with PyTorch: A 60 Minute Blitz by Soumith Chintala
Modern Adaptive Control & Reinforcement Learning by Bagnell, Boots & Choudhury
Modern Robotics: Mechanics, Planning & Control by Lynch & Park
Reinforcement Learning: An Intro. by Sutton & Barto
Multiple View Geometry in Computer Vision by Richard Hartley and Andrew Zisserman
Probabilistic Robotics by Thrun, Burgard & Fox
Probability Theory: The Logic of Science by Jaynes & Bretthorst
Intro. to Deep Learning
CS 4782 (sp26)
Dive Into Deep Learning by Zhang, Lipton, Li & Smola
Probabilistic Machine Learning: An Intro. by Kevin Murphy
The Elements of Statistical Learning: Data Mining, Inference & Prediction by Hastie, Tibshirani & Friedman
Quantum Computing
CS 4813 (sp26)
Introduction to Classical & Quantum Computing by Thomas G. Wong
Quantum Computation & Quantum Information by Nielsen & Chuang
Quantum Computation lecture notes by John Watrous
Quantum Computing lecture notes by Ronald de Wolf
Probability, Vectors & Matrices in Computing
CS 4850 (sp26)
Foundations of Data Science by Blum, Hopcroft & Kannan
Probability and Computing: Randomized Algorithms & Probabilistic Analysis by Mitzenmacher & Upfal
Randomized Algorithms by Motwani & Raghavan
Algorithm Design by Kleinberg & Tardos
Masters level  
Software Engineering
CS 5150 (sp26)
Software Engineering at Google: Lessons Learned from Programming Over Time by Winters, Manshreck & Wright
Better Embedded System Software by Philip Koopman
The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks, Jr.
Software Engineering by Ian Sommerville
The Pragmatic Programmer: Your Journey to Mastery by Thomas & Hunt
Applied High-Performance & Parallel Computing
CS 5220 (sp26)
Intro. to High Performance Computing for Scientists & Engineers by Hager & Wellein
Structured Parallel Programming: Patterns for Efficient Computation by McCool, Robison & Reinders
Programming Massively Parallel Processors: A Hands-on Approach by Kirk & Hwu
Performance Optimization of Numerically Intensive Codes by Goedecker & Hoisie
Principles of Parallel Programming by Lin & Snyder
An Intro. to Parallel Programming by Peter Pacheco
Parallel Programming: Techniques & Applications Using Networked Workstations & Parallel Computers by Wilkinson & Allen
The Unix Shell by Software Carpentry
Version Control with Git by Software Carpentry
An Intro. to Linux by Cornell Center for Advanced Computing
Pro Git: Everything You Need to Know about Git by Chacon & Straub
✔️ The C Programming Language by Kernighan & Ritchie
Intro. to C Programming by Cornell Center for Advanced Computing
Learn C++
A Tour of C++ by Bjarne Stroustrup
Intro. to Python Programming by Cornell Center for Advanced Computing
Python for High Performance by Cornell Center for Advanced Computing
Scientific Python Lectures
Python Essential Reference by David Beazley
✔️ Think Python: How to Think Like a Computer Scientist by Allen B. Downey
How to Think Like a Computer Scientist: Learning with Python 3 by Wentworth, Elkner, Downey & Meyers
System Security
CS 5430 (sp26)
 
Physically Based Realistic Rendering
CS 5630 (sp26)
Physically Based Rendering: From Theory to Implementation by Pharr, Jakob & Humphreys
Fundamentals of Computer Graphics by Marschner & Shirley
Optimization Methods for Robotics
CS 5757 (sp26)
Numerical Optimization by Nocedal & Wright
Underactuated Robotics: Algorithms for Walking, Running, Swimming, Flying & Manipulation by Russ Tedrake
State Estimation for Robotics by Timothy D. Barfoot
Convex Optimization by Boyd & Vandenberghe
Modern Robotics: Mechanics, Planning & Control by Lynch & Park
Algorithms for Optimization by Kochenderfer & Wheeler
An Intro. to Optimization on Smooth Manifolds by Nicolas Boumal
Machine Learning Hardware & Systems
CS 5775 (sp26)
Efficient Processing of Deep Neural Networks by Sze, Chen, Yang & Emer
Computer Architecture: A Quantitative Approach by Hennessy, Patterson & Kozyrakis
See website for paper list
Intro. to Generative Models
CS 5788 (sp26)
Probabilistic Machine Learning: Adv. Topics by Kevin P. Murphy
Deep Learning by Goodfellow, Bengio & Courville
Information Theory, Inference & Learning Algorithms by David J.C. MacKay
Foundations of Computer Vision by Torralba, Isola & Freeman
Doctoral level  
Runtime Verification
CS 6156 (sp26)
 
Computation for Content Creation
CS 6682 (sp26)
 
Adv. Machine Learning Systems
CS 6787 (sp26)
See website for paper list
Theory of Computing
CS 6810 (sp26)
Computational Complexity: A Modern Approach by Arora & Barak
Computational Complexity: A Conceptual Perspective by Oded Goldreich
Mathematics and Computation: A Theory Revolutionizing Technology & Science by Avi Wigderson

← Fall 2025