Suggested Paths
For beginners, the biggest risk isn't picking the "wrong" topic — it's overwhelm and quitting. Pick a goal, follow the order. Each track starts from a shared Python + CS + Math foundation.
Everyone starts here
Foundation · ~3 months part-timeEveryone starts here. Python builds confidence fast because you see results immediately; CS gives you the vocabulary every other course assumes; Math is a slow background drip — not a blocker.
- 1
Python
Programming Languages · Beginner · 1,289 lessonsFirst language. Quick wins build the habit before anything harder.
Start course →
- 2
Computer Science
Foundations · Intermediate · 2,872 lessonsLight pass — variables, functions, data structures, complexity. The vocabulary downstream courses assume.
Start course →
- 3
Mathematics
Foundations · Beginner · 3,121 lessonsBackground drip: discrete logic, basic stats, a touch of linear algebra. Don't wait to finish before moving on.
Start course →
Then pick a track
Systems / Embedded
~9–12 months part-time after foundationFor people who want to know what's actually happening under the abstraction — memory, pointers, and the machine itself. C is the shortest path to the hardware, and everything after it explains why the machine behaves the way it does.
Log in to save this path to your profile and track progress.
- 1
C
Programming Languages · Intermediate · 1,219 lessonsManual memory, pointers, and compilation. The language the operating system under your laptop is written in.
Start course →
- 2
Software Engineering
Software Engineering · Intermediate · 1,933 lessonsBuild systems, testing, and version control. Systems code lives for decades; discipline matters more here than anywhere.
Start course →
- 3
System Design
Software Engineering · Advanced · 1,919 lessonsZoom back out — how low-level components compose into services that survive real load.
Start course →
- 4
Security
Infrastructure & Security · Intermediate · 3,052 lessonsBuffer overflows, memory safety, and why so many CVEs are C bugs. Learn to write code that doesn't become one.
Start course →
Beginner-protection rules
Apply these regardless of which track you pick.
- Don't wait to finish Math before moving on — keep it as a background track.
- Ship one real app before circling back to Security and System Design.
- Don't rush ML/DL — without stats, you'll run libraries you can't reason about.
- Pick one language at a time. Switching too early kills momentum.
- Pick a track and commit for at least a month before second-guessing it. Overwhelm and quitting are the real risks — not picking the 'wrong' path.
Want to skip around instead? Browse all courses.