Plan to become a hacker
Inspired by Eric S. Raymond
Language
- python
- UCB CS61A
-
C/C++
Learn it, so you’re able to know how to solve tricky problems during development. At the same time, it’s not an efficient language to programming. :: If a language does too much for you, it may be simultaneously a good tool for production and a bad one for learning. — by ESR
- Harvard CS50X, Mooc course: C Programming by Zhejiang University, Coursera Introduction to Programming in C specialization by Duke University
- study163 course C++ programming by Zhejiang University, Amirkabir University of Technology 1400-2
- LISP
- JAVA
- UCB CS61B, Coursera: Algorithms I & II,
- Perl
- Rust
- Stanford CS110L
Architecture
- Stanford CS110L
- Coursera: Nand2Tetris, UCB CS61C, CMU CS15213: CSAPP
- ETH: Digital Design and Computer Architecture
System
Operating System
- MIT 6.S081: Operating System Engineering, NJU OS: Operating System Design and Implementation
Parallel and distributed sytem
- CMU 15-418/Stanford CS149, UCSC CSE138, Cambridge Concurrent and Distributed Systems
Machine learning System
- Bilibili, CMU 10-414/714,
Computer Network
- UMASS Computer Networking: A Top-Down Approach, Stanford CS144
Software Engineering
- UCB CS169 …