Self-taught
A self-taught computer science roadmap
There are two good shapes for a self-taught CS education. Broad: work through the subjects of a degree (programming, architecture, algorithms, math, operating systems, networking, databases, compilers, distributed systems), as OSSU and Teach Yourself CS lay out. Deep: go narrow and far on the core, building real systems and then mastering algorithms, as cracked.guide does. Both work. Pick by what you want at the end.
The broad roadmap
If you want what a CS degree covers, the two best free maps are:
- OSSU: a full undergraduate curriculum made of online courses, about two years at 20 hours a week.
- Teach Yourself CS: nine subjects, one book and one lecture series each, 100 to 200 hours per subject.
A typical order: programming, then computer architecture, algorithms and data structures, discrete math, operating systems, networking, databases, languages and compilers, distributed systems. Broad paths are great for interviews and for knowing what exists.
The deep roadmap
If you want to be unusually strong at the core, go deep:
- Programming fluency in a couple of languages, including C. (Week 0 on cracked.guide is an on-ramp.)
- Build two interpreters with Crafting Interpreters: parsing, closures, a bytecode VM, a garbage collector. 28 weeks.
- Knuth, every volume: TAOCP 1 to 4B, one section a week with exercises. About two years.
- Practice on the side: NeetCode 150, two problems a week, and programming games for fun.
This is the cracked.guide path, 145 weeks with a date on each one. Generate your own dates.
How to choose
| If you want | Go |
|---|---|
| A job in tech within a year | Broad, plus interview practice and projects |
| To know every CS subject at survey level | Broad |
| To be the person who knows how things work underneath | Deep |
| Both, eventually | Deep first for a year, then fill gaps from a broad list |
They combine well. Teach Yourself CS even lists Crafting Interpreters as its compilers book. See cracked.guide compared with the other paths.
What makes any roadmap work
Every self-taught roadmap fails the same way: no schedule and no feedback. Put dates on it, work a fixed number of hours each week, and use checks that do not depend on your own optimism (tests, judges, emulators). Most people who start any long plan stop somewhere in it. Having a date for this week is what keeps you from stopping.
Questions
How long does it take to teach yourself computer science?
A broad curriculum like OSSU estimates about two years at 20 hours a week. The deep cracked.guide path is 145 weeks (about 2.8 years) at 8 to 12 hours a week.
What is the best free computer science curriculum?
For breadth, OSSU or Teach Yourself CS. For depth in algorithms and systems, cracked.guide. They answer different goals.