Compilation of Computer Science courses, books, blog posts and videos.
- The Fundamentals (this list) - "classic" resources recommended to me by someone or popular in the internet. Focuses on the most fundamental and important concepts in Computer Science.
- Further Reading - short blog posts, articles from the internet, more specific resources. Less fundamental, more practical (and typically up-to-date).
- Machine Learning - everything related to Machine Learning and its domains (Natural Language Processing, Reinforcement Learning, Computer Vision, etc).
- π Introduction to Algorithms ("CLRS" β Cormen, Leiserson, Rivest, Stein, 2001)
- π₯ Introduction to Algorithms (course with assignments and solutions)
- π The Algorithm Design Manual (Skienna, 2020)
- π The Art of Computer Programming (Donald Knuth)
- π CP-Algorithms
- π₯ MIT Distributed Systems (Spring 2021)
- π₯ Paxos & TLA+ Turing Award lectures (shorter videos with the core concepts, 2020)
- π The Google Filesystem (2003)
- π MapReduce: Simplified Data Processing on Large Clusters (Jeffrey Dean and Sanjay Ghemawat, 2004)
- π The Chubby lock service for loosely-coupled distributed systems (2006)
- π Dremel: Interactive Analysis of Web-Scale Datasets (2010)
- π The Byzantine Generals Problem (Lamport et al., 1982)
- π The Part-Time Parliament ("The Paxos Paper", Lamport et al., 1998)
- π Paxos made simple
- π Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services ("The CAP Theorem" proof, 2002)
- π Time, Clocks, and the Ordering of Events in a Distributed System
- Distributed Computing in Practice: The Condor Experience (2005)
- π CAP Twelve Years Later: How the "Rules" Have Changed (2012)
- π In Search of an Understandable Consensus Algorithm ("The Raft Paper", 2014)
- π raft.github.io
- π₯ CMU Database courses
- Intro to Database Systems, (Andy Pavlo, 2024, lectures + assignments)
- Advanced Database Systems (Andy Pavlo, 2023, lectures + assignments)
- π Designing Data Intensive Applications (2015)
- π Spanner: Google's Globally-Distributed Database ("The Spanner Paper", 2012)
- π F1: A Distributed SQL Database That Scales ("The F1 paper", 2013)
- π The Rust Programming Language β the official Rust introduction book
- π rustlings (a set of exercises for learning Rust)
- π Fluent Python
- π₯ MIT's Operating System Engineering
- π Computer Architecture: A Quantitative Approach
- π Modern Operating Systems (Tanenbaum, 2001)
- π₯ + π Computer Networking: A Top-Down Approach
- π Computer Networks (Tanenbaum, 2021)
- π The Protocols (TCP/IP Illustrated) (1993)
- π₯ Computer Systems Security (MIT, 2014)
- π₯ Introduction to Computer Graphics (MIT, 2020) (+ assignments)
- π₯ Machine Vision (MIT, 2020)
- π Concrete Mathematics: A Foundation for Computer Science (Graham, Knuth, Patashnik, 1994)
- π Test-Driven Development (2002)
- π The Pragmatic Programmer (2019)