Getting Started With Python
Understand Python, the interpreter, Python files, basic syntax, comments, and print statements.
Create a small Python program that prints a personal introduction.
A structured learning path from Python fundamentals to real-world development.
“A roadmap is not a checklist - it is a system for turning curiosity into capability.”
Each checkpoint moves you from fundamentals to practice, projects and real-world implementation.
Build a strong foundation in Python syntax, variables, data types, input, output, operators, and strings.
Understand Python, the interpreter, Python files, basic syntax, comments, and print statements.
Create a small Python program that prints a personal introduction.
Learn how Python stores values and work with the most important built-in data types.
No project
Learn how to accept information from users and produce formatted output.
Build a program that accepts item price and quantity and calculates the total.
Understand arithmetic, comparison, assignment, logical operators, and Boolean expressions.
Create a beginner-friendly BMI calculator using height and weight input.
Learn string indexing, slicing, useful string methods, and basic formatting.
Generate a simple username from a person's first name, last name, and a number.
Reinforce Python fundamentals by solving small independent programming problems.
No project
Combine the week's concepts into one small practical Python program.
Build an expense calculator that accepts an expense name, price, and quantity, then calculates the total and optionally applies a percentage discount.
Learn how programs make decisions, repeat work, and organize logic into reusable functions.
Learn how Python makes decisions using if, elif, and else.
No project
Use multiple conditions to model decisions found in everyday programs.
No project
Learn how to repeat operations over sequences and numeric ranges.
No project
Learn repeated execution when the number of iterations is not known in advance.
Create a terminal game where the user keeps guessing until they find the correct number.
Learn how to package reusable logic into functions.
No project
Practice breaking larger problems into smaller reusable functions.
No project
Apply conditions, loops, and functions to a complete beginner project.
Build a terminal-based quiz that asks multiple questions, calculates a score, and displays the final result.
Learn how Python stores and organizes collections of data using lists, tuples, dictionaries, sets, and comprehensions.
Learn how to store ordered collections and modify them efficiently.
No project
Understand immutable sequences and unpacking multiple values.
No project
Learn key-value data structures for representing structured information.
Build a small contact book using dictionaries for names, phone numbers, and email addresses.
Learn how sets represent unique values and support useful mathematical operations.
No project
Combine loops with Python collections to process data efficiently.
No project
Learn Python's concise syntax for building collections from existing data.
No project
Use multiple Python collection types to build a small data-focused application.
Build a beginner expense tracker that stores expenses, categories, amounts, and calculates useful summaries.
Learn how Python programs interact with files, handle errors, organize code into modules, and manage dependencies.
Learn how to read and write text files safely.
No project
Understand files, folders, and how Python interacts with the filesystem.
No project
Learn how to handle runtime problems without crashing the entire program.
No project
Learn how to split Python programs into reusable modules.
No project
Learn common data formats used by real-world applications.
No project
Understand how Python projects isolate dependencies and install packages.
No project
Build a practical program that combines files, JSON, modules, and exception handling.
Build a command-line notes application that can create, read, update, and delete notes stored locally.
Understand classes, objects, object state, inheritance, composition, and special methods.
Understand the basic structure of object-oriented programs in Python.
No project
Learn how objects control and protect their internal state.
No project
Understand data and behavior shared across instances.
No project
Learn how classes can extend existing behavior.
No project
Learn when combining objects is preferable to creating deep inheritance hierarchies.
No project
Understand special methods that integrate your objects with Python's syntax and built-ins.
No project
Use object-oriented design to create a small domain-based application.
Build a simple library system that manages books, users, borrowing, and returns.
Move from isolated Python scripts toward programs that communicate with external services and automate tasks.
Understand the basic request-response model used by modern web APIs.
No project
Learn how Python applications communicate with external APIs.
No project
Transform API responses into useful Python data structures.
No project
Learn the common failure cases involved in working with external services.
No project
Use Python to automate repetitive tasks.
No project
Learn how applications keep configuration separate from source code.
No project
Combine APIs, error handling, configuration, and automation into one practical application.
Build a command-line weather application that calls an API and presents selected weather information.
Learn the habits that make Python code easier to debug, maintain, test, and share.
Learn how to systematically find and fix problems in Python programs.
No project
Understand why programs need automated checks.
No project
Learn the basics of writing and running automated tests with pytest.
No project
Learn how type hints improve readability and developer tooling.
No project
Learn how real Python applications record useful diagnostic information.
No project
Learn the basic version-control workflow for Python projects.
No project
Review an existing project and improve its reliability, readability, and maintainability.
Take one earlier project and improve its structure, error handling, tests, type hints, logging, and Git history.
Use everything learned so far to design, build, test, document, and present a complete beginner-level Python project.
Choose a project that is realistic enough to finish and meaningful enough to demonstrate your skills.
No project
Turn the idea into a clear Python project structure before implementing features.
No project
Implement the most important functionality of the capstone.
No project
Make the project more realistic by storing data locally or connecting it to an external service.
No project
Make the project more dependable by testing important behavior and handling common failures.
No project
Turn the project into something another developer can understand and run.
No project
Finish the capstone, publish the code, and reflect on what you learned.
Complete and publish a practical Python project that demonstrates your understanding of programming fundamentals, data structures, files, OOP, APIs or automation, testing, and Git.