A collection of links to articles, papers, books, and videos on software architecture, computer science, and systems.
- CSE373 - Analysis of Algorithms 2016 SBU
- Coursera
- LeetCode
- Tim Roughgarden's Online Courses
- Big-O Cheat Sheet
- Compiler Explorer
- Binary Ninja
- Writing an Interpreter in Go
- Writing a Compiler in Go
- Lexical Scanning in Go
- Papers We Love
- Brilliant
- From Nand to Tetris
- Teach Yourself Computer Science
- Computer Science from the Bottom Up
- The Philosophy of Computer Science (Stanford Encyclopedia of Philosophy)
- What Every Computer Science Major Should Know
- How to Think Like a Computer Scientist
- Structure and Interpretation of Computer Programs
- CS61C Spring 2015: Great Ideas in Computer Architecture (Machine Structures)
- CAP theorem
- Two Generals' Problem
- Linearizability
- Raft
- In Search of an Understandable Consensus Algorithm(Extended Version)
- Fallacies of Distributed Computing
- Consistency Models
- How Complex Systems Fail
- MIT 6.824 Distributed Systems (Spring 2020)
- Designing Distributed Systems
- A Note on Distributed Computing
- Impossibility of Distributed Consensus with One Faulty Process
- The ironies of automation... still going strong at 30?
- Jepsen - Distributed Systems Safety Research