Good Open Courses for Computer Science Learning
Introduction to Computer Science
- MIT 6.0001
- Harvard CS50
- Berkeley CS61A
Data Structures and Algorithms
- Stanford CS106
- MIT 6.006, 6.046
- Berkeley CS61A, CS61B
- Princeton
Operating Systems
- CMU 15-213
- Berkeley CS162, CS262
- MIT 6.828
- 6.S081
Computer Organization and Architecture
- MIT 6.004
- Berkeley CS61C
- MHRD
Computer Networks
- Stanford CS144
Databases
- CMU 15-445
- MIT 6.824, 6.830
Software Engineering
- MIT 6.031
Distributed Systems
- MIT 6.824
- MIT 6.033
- Principles of Computer System Design: An Introduction
Compiler Design
- Stanford CS143
Parallel Computing
- CS 149
Computer Graphics
- Games101
Computer System Security
- 6.858
Projects
- Operating System: 6.828
- Distributed Systems: 6.824
- Relational Database: CMU 15-445
- Parallel Computing: CS 149
- Compiler Design: Stanford CS143
- Computer Graphics: Games101
- Computer Networks: Stanford CS144
- Computer System Security: 6.858
- CSAPP
- Muduo: Web Server
- TinSTL: STL
- “Tiger Book”: Compiler
CS DIY: CS DIY Wiki