CS Learning Resources
Coding Practice
Free Online Textbooks
Other Similar Lists
Intro CS
- Think Python, by Allen Downey
- Java for Python Programmers
- Introduction to Programming Using Java, by David Eck
- Think Java: How to Think Like a Computer Scientist, by Allen Downey
- Python Tutor
- Practical Python, by David Beazley
Data Structures
- Problem Solving with Algorithms and Data Structures using Python, by Brad Miller and David Ranum
- Data Structures 1, by the OpenDSA Project
- Data Structures 2, by the OpenDSA Project
- Java Structures, by Duane Bailey
- Open Data Structures, by Pat Morin
- Data Structures and Algorithms with Object-Oriented Design Patterns in Java, by Bruno Preiss
- Data Structure Visualizations
Computer Organization
"Missing Semester" - command line, git, etc.
Discrete Maths
- An Active Introduction to Discrete Mathematics and Algorithms, by Chuck Cusack
- Connecting Discrete Mathematics and Computer Science, by David Liben-Nowell
- Foundations of Computer Science, by Al Aho and Jeff Ullman
Linear Algebra
Algorithms
Specific Topics
C++
Machine Learning
Deep Learniing
- Deep Learning, by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
- Dive into Deep Learning, Aston Zhang and Zack C. Lipton and Mu Li and Alex J. Smola
Knowledge Representation
Operating Systems
- Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
- Computer Systems Fundamentals, by Michael S. Kirkpatrick
- The 539kernel Book, by Mohammed Q. Hussain
Quantum Computing
Programming Languages/Compilers
- Programming Languages, by Scott F. Smith
- Crafting Interpreters, by Bob Nystrom
- Programming Languages: Application and Interpretation, by Shriram Krishnamurthi
- Advance Compilers
Databases
SQL
Human-Computer Interaction
Data Science
- Computer Age Statistical Inference, by Bradley Efron and Trevor Hastie
- Python Data Science Handbook, by Jake VanderPlas
Software Engineering
Graphics
- Introduction to Computer Graphics, by David J. Eck
- Computer Graphics from Scratch, by Gabriel Gambetta
- Physically Based Rendering: From Theory To Implementation, by Matt Pharr, Wenzel Jakob, and Greg Humphreys
- Scratchapixel