Computer Science Resources
Basics
Programming
- A Data-centric Introduction to Computer Science
- Structure and Interpretation of Computer Programs
- Composing Programs
- Computer Science from the Bottom Up
- How to Design Programs
- Functional Programming
- A Functional Introduction To Computer Science
- 97 Things Every Programmers Should Know
- The Missing Semester
- Operating Systems: Three Easy Pieces
- Computer Systems: A Programmers's Perspective
- Computer Graphics — Berkeley
- Distributed Systems — MIT
- Great Ideas in Theoretical Computer Science
Algorithms
Networking
- Introduction to Computer Networking
- Introduction to Networking: How the Internet Works
- WebRTC For The Curious
- TCP/IP Guide
- HTTP Succinctly — Scott Allen
Database
Design
Mathematics
- Mathematics for Computer Science — MIT
- CS053 Reloaded - Brown University
- Algebraic Topology
- Discrete Mathematics and Functional Programming — Thomas VanDrunen
- Discrete Mathematics — Yale University Lecture Notes
- Mathematics for Computer Science — Lehman, Leighton, Meyer
- Essence of linear algebra