제가 공부하려고 개인적으로 정리한 리스트입니다.
따라서, 각 커리큘럼에 대한 문의나 질문은 여기에 해주시면 감사하겠습니다.
At Least
Must study at least these two books.
- Computer Systems: A Programmer’s Perspective
- Designing Data-Intensive Applications
Programming
- SICP (Structure and Interpretation of Computer Programs)
- Course: Brian Harvey’s Berkeley CS 61A
Architecture
- CS:APP (Computer Systems :A Programmer’s Perspective)
- Course: Berkeley CS 61C
Algorithms
- the Algorithm Design Manual
- Course: Steven Skiena’s lectures
- (also recommended) How to Solve It, Polya, Conway
Math
- Mathematics for Computer Science
- Course: Tom Leighton’s MIT 6.042J
Operating Systems
- OS:TEP (Operating Systems: Three Easy Pieces)
- Course: Berkeley CS 162
Network
- CN:TDA (Computer Network: a Top Down Approach)
- Course: Stanford CS 144
Database
- Readings in Database Systems
- Course: Joe Hellerstein’s Berkeley CS 186
Languages & Compilers
- Crafting Interpreters
- Course: Alex Aiken’s course on edX
- (also recommended) Compilers: Principles, Techniques & Tools, commonly called the Dragon Book
Distributed Systems
- Designing Data-Intensive Applications by Martin Kleppmann
- Course: MIT 6.824
- (also recommended) Maarten van Steen and Andrew Tanenbaum’s Distributed Systems, 3rd Edition