π» Cornell CS unofficial reading list (Spring 2026)
β 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 |