← Fall 2025

This is an unofficial list of books that are recommended in Spring 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
Β 
Object-Oriented Programming & Data Structures
CS 2110
πŸ“” Course notes
πŸ”—βœ¨Object-Oriented Design & Data Structures✨ by Myers & Kozen
πŸ“•βœ¨Principled Programming: Intro. to Coding in Any Imperative Language✨ by Tim Teitelbaum
πŸ“• Data Structures & Algorithms in Java: A Project-Based Approach by Dan S. Myers
Junior level Β 
Data Structures & Functional Programming
CS 3110
πŸ”—βœ¨OCaml Programming: Correct + Efficient + Beautiful✨ by Michael Clarkson
Intro. to & Adv. Topics in Computer Game Architecture
CS 3152 & 4152
πŸ“• 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
Computer System Organization & Programming
CS 3410
πŸ“” Course notes
Embedded Systems
CS 3420 (ECE)
πŸ“„ Cooperating sequential processes by E.W. Dijkstra
πŸ“„ Monitors: An Operating System Structuring Concept by C.A.R. Hoare
πŸ“„ Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment by Liu & Layland
πŸ“• Hard Real-Time Computing Systems: Predictable Scheduling Algorithms & Applications by Giorgio C Buttazzo
Foundations of AI Reasoning & Decision-Making
CS 3700
πŸ“• Artificial Intelligence: A Modern Approach by Russell & Norvig
Intro. to Machine Learning
CS 3780
πŸ“• Probabilistic Machine Learning: An Intro. by Kevin Murphy
πŸ“• The Elements of Statistical Learning: Data Mining, Inference & Prediction by Hastie, Tibshirani & Friedman
πŸ“• An Intro. to Statistical Learning by James, Witten, Hastie & Tibshirani
πŸ“• Patterns, Predictions & Actions: Foundations of Machine Learning by Hardt & Recht
πŸ“• Fairness & Machine Learning: Limitations & Opportunities by Barocas, Hardt & Narayanan
πŸ“„ 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
πŸ“„ Formal Algorithms for Transformers by Phuong & Hutter
πŸ“„ Transformers Explained Visually (Part 1): Overview of Functionality by Ketan Doshi
πŸ“• Machine Learning by Tom M. Mitchell
Senior level Β 
Intro. to Compilers
CS 4120
πŸ”— 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: Linear & Nonlinear Problems
CS 4220
πŸ“• 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
πŸ“” Course notes
πŸ“• 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
πŸ“„βœ¨Some CS3410 (or Equivalent) Topics You Might Have Forgotten✨ by Robbert van Renesse
Intro. to Computer Networks
CS 4450
πŸ“• Computer Networks: A Systems Approach by Peterson & Davie
πŸ”—βœ¨A Brief History of the Internet✨ by Leiner et. al
Foundations of Computational Imaging
CS 4660
πŸ“• 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
πŸ“• Computer Vision: Algorithms & Applications by Richard Szeliski
Natural Language Processing
CS 4740
πŸ“• Speech & Language Processing: An Intro. to Natural Language Processing, Computational Linguistics & Speech Recognition with Language Models by Jurafsky & Martin
Robot Learning
CS 4756
πŸ”— 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
πŸ“” Course notes
πŸ“• 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
πŸ“• Introduction to Classical & Quantum Computing by Thomas G. Wong
πŸ“• Quantum Computation & Quantum Information by Nielsen & Chuang
πŸ“„ Quantum Computation lecture notes by John Watrous
πŸ“„ Quantum Computation & Quantum Information lecture notes by Ryan O’Donnell
πŸ“„ Quantum Computing lecture notes_ by Ronald de Wolf
Intro. to Analysis of Algorithms
CS 4820
πŸ“” Course notes
πŸ“• Algorithm Design by Kleinberg & Tardos
πŸ“• Algorithms Illuminated by Tim Roughgarden
πŸ“• Intro. to Algorithms by Cormen, Leiserson, Rivest & Stein
πŸ“• The Design & Analysis of Algorithms by Dexter Kozen
Probability, Vectors & Matrices in Computing
CS 4850
πŸ“• 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
πŸ“” Course notes
πŸ“• 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
πŸ“• 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
Β 
Physically Based Realistic Rendering
CS 5630
πŸ“• Physically Based Rendering: From Theory to Implementation by Pharr, Jakob & Humphreys
πŸ“• Fundamentals of Computer Graphics by Marschner & Shirley
Optimization Methods for Robotics
CS 5757
πŸ“• 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
β€’ Efficient Processing of Deep Neural Networks by Sze, Chen, Yang & Emer
β—¦ Computer Architecture: A Quantitative Approach by Hennessy, Patterson & Kozyrakis
…
Intro. to Machine Learning
CS 5780
πŸ“„ Nearest Neighbor Pattern Classification by Cover & Hart
…
Intro. to Generative Models
CS 5788
πŸ“• 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
Β 
Computation for Content Creation
CS 6682
Β 
Adv. Machine Learning Systems
CS 6787
…
Theory of Computing
CS 6810
πŸ“• 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
Cornell Engineering requirements Β 
Calculus for Engineers / Multivariable Calculus for Engineers
MATH 1910 / 1920
πŸ“• Calculus by Rogawski, Adams & Franzosa
Linear Algebra for Engineers
MATH 2940
πŸ“• Linear Algebra and Its Applications by Lay, Lay & McDonald

← Fall 2025