Learning and Growth
Goals:
- build and rebuild a strong foundation in CS
- practice efficient and effective learning with the Pomodoro Technique, time tracking, and spaced repetition
- learning in public
- keep track of big and small wins!
Here is the list of topics and associated resources that I'd like to learn. I've taken some of these in the past so I may not go through everything but I'll be crossing off courses or books that I finish and note the ones that were only partially done. In addition, I'm going to try to keep track of how long the courses take me.
Currently working through:
- Grokking System Design Fundamentals**
Programming
Computer Architecture
Data Structures and Algorithms
Leetcode DSA Crash Course- Grokking Algorithms
- Algorithm Design Manual
- 6.006
Math
- 6.042
Operating Systems
- Operating Systems: Three Easy Pieces
Computer Networking
- Computer Networking: A Top-Down Approach
Databases
Languages and Compilers
- Crafting Interpreters
Distributed Systems and Systems Design
- Grokking System Design Fundamentals**
- Grokking the System Design Interview
- Designing Data-Intensive Applications (Ch. 3, 5, 6)
Credit: The list is inspired by Teach Yourself CS and Ravi Dayabhai's Learning Sabbatical