This Python roadmap shows the order to study this course in, how long each part typically takes with steady practice, and how to choose a specialisation. The short version:
- Core language: syntax, values, decisions, loops, collections, functions, errors, files, modules, classes.
- Professional skills: debugging, testing, logging, style, type checking, dependencies and Git.
- One specialist track that matches your goal: web and databases, data science, algorithms, or machine learning.
- Projects throughout, as evidence that you can build things.
weekly_plan = {"read": 2, "practise": 2, "build": 1, "review": 1}
print(sum(weekly_plan.values()), "study sessions a week")The sections below explain each stage, which lessons belong to it, and how to measure progress honestly. Every lesson link goes to the full course on this site.
Foundation route
The foundation covers everything the later tracks assume. Study it in order, because each stage builds on the last:
| Stage | Lessons include | You can then |
|---|---|---|
| Beginner | introduction, variables, strings, if/else, loops, lists | write short scripts that calculate and decide |
| Intermediate | dictionaries, functions, comprehensions, error handling, files, modules | organise code and process real data |
| Advanced | classes, inheritance, generators, decorators, testing, web APIs | model problems with objects and use libraries confidently |
| Files and standard library | JSON, CSV, pip and venv | handle common data formats and environments |
Depth lessons, such as type casting and range() in depth, sit next to their main topic; read them when you reach it. Skipping prerequisites, for example jumping to classes before functions are comfortable, turns later topics into memorisation instead of understanding. With around five hours a week, most learners complete the foundation in two to four months.
Professional route
Once the core is comfortable, learn the habits that make code reliable and shareable:
- Debugging and logging: find and explain problems.
- pytest in depth and mocking and fixtures: prove code works.
- PEP 8 style and type checking: keep code readable and catch mistakes early.
- Dependency management and Git: make projects reproducible and collaborative.
These skills grow best through projects rather than as separate definitions. Add tests and logging to your beginner and intermediate projects as you learn them, use Git from the first commit, and run a formatter and linter on everything. Within a few weeks the habits become automatic.
Optional tracks
After the core and professional skills, choose one track based on your goal. You don't need all of them to build useful programs:
| Goal | Track | Start with |
|---|---|---|
| web apps, APIs, backend work | Database and web | SQL CRUD, HTTP and REST, Flask |
| analysing data, reports, dashboards | Data science | NumPy, pandas, Matplotlib |
| interviews, competitive programming, CS foundations | Data structures and algorithms | complexity, search, graphs |
| predictive models | Machine learning | introduction to ML, then the ML lessons |
The machine learning track assumes the data science track: models are fitted on pandas and NumPy data, and evaluating them needs the statistics lessons. Approach it after those prerequisites. Automation and scripting need no separate track: the core, plus files, the standard library and environment configuration, covers most of it.
Evidence and careers
Measure progress by what you can do and explain, not by lessons completed:
- Projects: finished, tested, documented programs, ideally one per stage, in a public Git repository.
- Explanations: can you explain your design choices and the trade-offs you considered?
- Reproducible checks: tests that pass on a clean checkout, and quiz results by chapter that stay high a week later.
For a first portfolio, choose projects that match the role you want: an automation tool that saves real time, a small backend API with a database, or a data report with clear charts and documented cleaning. Two or three solid projects beat ten tutorial copies.
Completing a course or scoring well on quizzes doesn't guarantee expert status or a job. Employers look for evidence of building and maintaining real programs, communicating clearly and learning independently. The interview questions lesson and coding challenges help with the interview itself.
Independent practice and a worked check
Task: write a realistic weekly study plan and choose one career-aligned specialisation and a demonstrable portfolio project. Fill in this template:
plan = {
"hours_per_week": 5,
"sessions": {"read": 2, "practise": 2, "build": 1, "review": 1},
"current_stage": "Intermediate",
"goal": "data analyst",
"track_after_core": "Data science",
"portfolio_project": "monthly sales report from CSV exports with cleaning notes and charts",
"review_date": "2026-12-01",
}
assert sum(plan["sessions"].values()) <= 7, "plan more rest days"
print(f"{plan['goal']}: {plan['track_after_core']} track, project: {plan['portfolio_project']}")Revisit the plan on its review date and adjust the pace honestly. For the worked check, the separate machine learning track should be approached after the core and relevant data science prerequisites.
Reference and next practice
The official Python tutorial complements this course. Use the Python exercises and Python quiz to check each stage, and return to the Python course page for the full lesson list.
Study Plan and Learning Roadmap Summary
- Foundation route: The preserved twenty five lessons anchor the course, with new fundamental pages placed near their prerequisites.
- Professional route: Debugging, tests, logging, typing and project tools follow the core language.
- Optional tracks: Database and web, data science, DSA and machine learning are goal dependent branches.
- Evidence and careers: Use finished projects, explained decisions and reproducible checks as progress evidence.
Study Plan and Learning Roadmap Examples
Each example shows the code, the output it produces and what each part does.
Study Plan and Learning Roadmap in a small program
A weekly plan stored as a dictionary:
weekly_plan = {"read": 2, "practise": 2, "build": 1, "review": 1}
print(sum(weekly_plan.values()))
print("Build days:", weekly_plan["build"])6
Build days: 1Line-by-line explanation
- Line 1Sessions per activity: two reading, two practising, one building and one reviewing.
- Line 2Six sessions in total.
- Line 3One session a week goes to building a project.
Turning the roadmap into a dated plan
from datetime import date, timedelta
stages = [
("Beginner", 19, 4), # stage, lessons, lessons per week
("Intermediate", 14, 3),
("Advanced", 13, 3),
("Files and standard library", 11, 4),
("Professional development", 9, 3),
("One specialist track", 9, 2),
]
start = date(2026, 11, 2)
week = 0
for name, lessons, per_week in stages:
weeks = -(-lessons // per_week) # round up
begins = start + timedelta(weeks=week)
week += weeks
print(f"{name:<28} {weeks:>2} weeks from {begins.isoformat()}")
print(f"Total: {week} weeks, about {week / 4.3:.0f} months, plus project time")Beginner 5 weeks from 2026-11-02
Intermediate 5 weeks from 2026-12-07
Advanced 5 weeks from 2027-01-11
Files and standard library 3 weeks from 2027-02-15
Professional development 3 weeks from 2027-03-08
One specialist track 5 weeks from 2027-03-29
Total: 26 weeks, about 6 months, plus project timeLine-by-line explanation
- Lines 3 to 10Lesson counts per stage come from the course; the pace per week is your choice.
- Line 15Ceiling division rounds a partial week up to a full one.
- Line 19The plan is an estimate to adjust after a few weeks of real progress.
Common Study Plan and Learning Roadmap Mistakes
Starting a specialist track before the core
Week 1: pandas, scikit-learn and neural networksWeeks 1-12: core lessons with small projects
Then: data science track, then machine learningSpecialist libraries assume functions, collections, classes and error handling; without them every error message is a mystery.
Measuring progress by lessons completed
"I've finished 60 lessons, so I'm job-ready.""I can build and test a small API, explain my design choices, and my chapter
quiz scores stay above 80% a week after studying."Study Plan and Learning Roadmap in Real Projects
Following a roadmap in practice
Most people learn Python alongside work or study, so a sustainable pace matters more than speed: a few focused sessions each week, every week, with regular review. Adjust the plan after a month based on real progress, and don't hesitate to spend longer on topics that don't click yet.
Python skills lead to many roles: backend developer, data analyst, data engineer, machine-learning engineer, test automation engineer, DevOps and site-reliability engineer, and scientist or analyst in almost any field. The core of this roadmap is shared by all of them; the specialist track and your projects are what point you towards one.
Study Plan and Learning Roadmap FAQ
How long does it take to learn Python?
With about five hours a week, most learners are comfortable with the core language in three to four months and ready to build useful projects. Reaching job-level skill in a specialisation usually takes six to twelve months of steady practice and projects.
What should I learn first in Python?
Start with how to run code, then variables and types, strings, conditions, loops and lists, followed by dictionaries and functions. These fundamentals appear in every later topic.
Can I learn Python on my own?
Yes. A structured course, regular practice with feedback, small projects and the official documentation are enough for many people. Reading other people's code and asking questions in communities speeds things up.
Which Python specialisation should I choose?
Choose by goal: web and databases for backend development, data science for analysis roles, data structures and algorithms for interviews and computer science foundations, and machine learning after data science if you want to build predictive models.
Do I need to learn every lesson before building projects?
No. Start small projects after the beginner stage and grow them as you learn. Projects reveal which topics you need next and make lessons stick.
Study Plan and Learning Roadmap Exercises
Answer each one and check it instantly. If you get stuck, open the hint before the answer.
When should the separate machine learning track be approached?
Which review concern is valid for study plan and learning roadmap?
Study Plan and Learning Roadmap Quiz
2 questions to check what you learned.
When should the separate machine learning track be approached?
- Before variables and collections
- After the core and relevant data science prerequisites
- Python ignores the distinction
Which statement correctly describes optional tracks?
- Database and web, data science, DSA and machine learning are goal dependent branches.
- Only the example output matters, not the rule
- Every operation has the same behavior