Learning Roadmap
A step-by-step path for learning to code from zero: what to learn, with what resources, and how long it takes.
Matching resources on the Resources page →
C++ Track
Goal: master a demanding language that prepares you for algorithms, CS coursework and systems programming.
- 1
Set up your environment
1 dayInstall VS Code and MinGW (or another compiler) and get Hello World running.
- 2
Language basics
4-8 weeksVariables, branches and loops, functions, arrays and strings. Follow learncpp.com chapters 1-12.
- 3
Core C++
4-6 weeksPointers and references, structs and classes, the STL (vector, map, string). This is where C++ gets real — type the examples out.
- 4
Practice on a judge
ongoingStart with the easiest Exercism exercises, 5-10 problems a week.
- 5
Build a small project
2-4 weeksA console project of your own: a grade manager, snake game or budgeting tool — learn to organize syntax into programs.
- 6
Go deeper
long-termWork through C++ Primer, then data structures & algorithms (Hello Algo) — and decide between competitive programming and engineering.
Python Track
Goal: start programming fast and solve real problems around you with scripts.
- 1
Set up your environment
1 dayInstall Python 3 and VS Code, learn to install packages with pip.
- 2
Language basics
2-4 weeksWork through the official Python tutorial or CS50P, trying everything in the REPL as you go.
- 3
Build small tools
2-4 weeksRename files in bulk, scrape a webpage, automate an email — pick one real task. It teaches more than ten exercise sets.
- 4
Pick a direction
long-termData analysis (pandas), scraping (requests), web (Flask) or AI — go deep in one.
Web Development Track
Goal: build pages and apps you can share with anyone.
- 1
HTML & CSS
2-4 weeksLearn tags and styling with MDN or freeCodeCamp; recreate any page you like pixel by pixel.
- 2
JavaScript basics
4-8 weeksfreeCodeCamp plus the Odin Project — master DOM manipulation and modern ES6 syntax.
- 3
First real project
1-2 weeksBuild a personal homepage or a small game, deploy it to Vercel or GitHub Pages, and share the link.
- 4
Frameworks & engineering
long-termLearn React/Next.js (this site is built with it), Git collaboration and TypeScript on the way to full projects.
Cybersecurity Track
Goal: solid networking and programming foundations, then real hands-on skill through CTFs and labs (always authorized).
- 1
The three foundations
1-2 monthsNetworking basics (explain TCP/IP and HTTP properly), everyday Linux commands, and Python scripting.
- 2
Web security basics
2-3 monthsStart from the OWASP Top 10: SQL injection, XSS, CSRF. Work through the free PortSwigger Academy labs.
- 3
CTF practice
ongoingpicoCTF first, then HackTheBox or TryHackMe. Join a CTFtime competition every week — start with Web and Misc.
- 4
Pick a specialization
long-termWeb security / reversing / pwn / crypto / pentesting — go deep in one. In security, depth beats breadth.
💡 General advice
- Coding a little every day beats cramming once a week — even 30 minutes counts.
- Debug for 5 minutes on your own first, then ask with a clear problem description. That's the fastest way to grow.
- Watching three tutorials teaches less than typing one; typing one teaches less than modifying one.
- Finish a runnable little project at every stage — it builds both skill and a portfolio.
- If you're stuck for more than two days, skip it. Looking back later, things often click.