Computer Science Autodidact
status:
active
tech used
- Scheme, C, Go, Python
documenting my self-education journey in Computer Science
learning path
generally following MIT’s 6-3 degree chart and utilizing OCW to help guide/track my first few “semesters”
semester 1
- review and optimize my tools
- 6.001 - Structure And Interpretation Of Computer Programs
- OCW 2005 6.001
- [alternate] 6.100A - Introduction to Computer Science Programming in Python
- 18.01 - Calculus 1
- 8.011 - Physics 1
semester 2
- 6.19
- 6.1900 - Introduction to Low-level Programming in C and Assembly
- 6.1910 - Computation Structures
- 6.1200 - Mathematics for Computer Science
- 18.02 - Calculus 2
- 8.021 - Physics 2
semester 3
- CS61C - Machine Structures
- 6.1010 - Fundamentals of Programming
- 6.1020 - Software Construction
- 18.06 - Linear Algebra
semester 4+
- 6.1210 - Introduction to Algorithms
- 6.1220 - Design and Analysis of Algorithms
- 6.1800 - Computer Systems Engineering
- 6.1400 - Computability and Complexity Theory
- 6.5250 - Distributed Algorithms
- 6.5820 - Computer Networks
- 6.5840 - Distributed Computer Systems Engineering
references and inspiration
- An Autodidact’s Degree in Computer Science
- Teach Yourself Computer Science
- What every computer science major should know
- A Self-learning, Modern Computer Science Curriculum
- OSSU computer science curriculum
- 10 Books for the Self-Taught Computer Scientist