Beginner Python Roadmap
Python Intro
Quick intro to Python. What it is, who it's for, where it shines, and how to start!
Displaying Output with print()
Write your first Python code with print(), show text and numbers, and learn how to fix tiny early errors.
Comments with #
Learn how Python comments work, how to write helpful notes with #, and how to use comments without changing program output.
Reading Basic Error Messages
Learn how to read Python's early error messages, find the broken line, and fix simple mistakes without panic.
Common Syntax Errors
Learn how to spot and fix early Python syntax errors like missing quotes, parentheses, indentation issues, and invalid characters.
Values and Literals
Learn what Python values and literals are, including numbers, strings, booleans, and None.
Variables and Assignment
Learn how Python variables work, how assignment stores values, and how to reuse named values in your code.
Python Variable Naming Rules
Learn how to name Python variables clearly: valid names, snake_case, keywords, capitalization, and readable habits.
Values & Variables - Reassignment
Learn how Python variables can change values, how reassignment works, and why code like score = score + 1 is not as weird as it looks.
Checking Types with type()
Learn how to inspect Python values with type(), spot common beginner types, and understand why tiny quotes can change everything.
Python Integers and Floats
Learn how Python handles whole numbers, decimal numbers, negative values, and number-looking text.
Basic Arithmetic Operators
Learn how to calculate with Python using addition, subtraction, multiplication, division, and variables.
Statements vs Expressions
Learn how Python expressions produce values, how they fit inside statements, and how assignment evaluates the right side first.
Python Integer Division, Remainders, and Powers
Learn how to use //, %, and ** in Python to split numbers into groups, find leftovers, and calculate powers.
Python String Fundamentals
Learn the basics of Python strings: text values, quotes, variables, empty strings, and why "25" is not the same as 25.
Python Quotes and Escape Characters
Learn how to write Python strings with quotes, apostrophes, newlines, and escape characters.
String Concatenation
Learn how to join strings together in Python, handle spaces, and include numbers in text safely.
Dynamic Strings with f-strings
Learn how to build clean Python text with f-strings, variables, simple expressions, and fewer plus-sign headaches.
Basic String Methods
Learn how to clean, transform, replace, and split text in Python using basic string methods.
String Length with len()
Learn how to measure text length in Python with len(), including spaces, punctuation, and empty strings.
String Indexing
Learn how to grab characters from Python strings using positive and negative indexes.
Python String Slicing
Learn how to extract parts of strings using start, stop, step, negative indexes, and practical slicing patterns.
User Input with input()
Learn how to make Python programs interactive by asking the user for text with input().
Converting User Input to Numbers
Learn why input() returns text and how to convert user input with int() and float() before doing math.
Python Boolean Values
Learn Python booleans: True, False, bool, flags, and why "True" is not the same as True.
Python Comparison Operators
Learn how to compare values in Python and turn small questions into True or False.
Python Logical Operators
Combine boolean conditions with and, or, and not, then use parentheses to make complex rules clear.
Truthy and Falsy Values
Learn how Python treats strings, numbers, and booleans as truthy or falsy, and when to use bool() versus exact comparisons.
Python if Statements and Indentation
Learn how Python uses indentation and if statements to make decisions and run code only when conditions are met.
Python Else Branches
Learn how to use else branches in Python to handle clean either/or decisions.
Python elif Chains
Learn how to use elif chains to choose one path from several possible options.
Python Nested If Statements
Learn how to put if statements inside other if statements and handle multi-step decisions clearly.
Python Input Validation with if
Validate numeric and text input with if statements, clear rules, useful feedback, and membership checks.
Project 1: Byte Cinema Ticket Kiosk
Combine input, strings, comparisons, branching, validation, arithmetic, and f-strings in your first larger Python project.
Python List Basics
Learn why Python lists exist and how to create clear, ordered collections of related values.
List Length with len()
Learn how to count list items with len(), handle empty lists, and avoid confusing length with indexes.
Python List Indexing
Learn how to retrieve list items with positive, negative, and variable indexes—and understand IndexError.
Python List Slicing
Learn to select parts of Python lists with start and stop indexes, omitted bounds, and negative indexing.
Python for Loops & Loop Patterns
Learn how Python for loops work, then use them to process list items directly and make simple decisions.
Repeating with range()
Learn to repeat code, generate number sequences, and count forward or backward with Python's range().
Python Break and Continue
Learn how to stop loops early with break, skip individual iterations with continue, and choose the clearest loop pattern.
Python Accumulator Pattern
Learn the accumulator pattern in Python: build totals, count matches, combine text, and avoid common loop mistakes.
Python Nested Loops
Learn how nested for loops work and use them to build grids, combinations, patterns, and multiplication tables.
Python Lists: Mutation & Building Patterns
Learn how to add, replace, and remove Python list items with append(), index assignment, pop(), and remove().
Building Lists with Loops
Learn how to build new Python lists by collecting, filtering, and transforming values with loops.
Python Lists: Copying vs Aliasing
Learn why Python lists sometimes change together, then create safe copies and choose the right pattern.
Sorting and Reversing Lists
Sort and reverse Python lists while staying in control of whether the original list changes.
Python While Loops
Learn how Python while loops use conditions and counters to repeat code, count in either direction, and move in custom steps.
Python While Loops: Stopping and Debugging
Learn when to use while loops, how to stop them safely, and how to fix infinite and off-by-one loops.
Python Dictionary Basics
Learn why Python dictionaries exist and how to create clear, readable key-value records.
Reading and Updating Python Dictionaries
Learn how to read dictionary values by key, add new entries, and update existing values.
Dictionary Key Checks & Safe Lookups
Check whether dictionary keys exist, avoid KeyError, and read optional values safely with in and get().
Looping over Dictionaries
Learn how to loop through dictionary keys, values, and key-value pairs, then build clear reports, totals, and filtered summaries.
Nested Lists and Dictionaries
Learn how to organize, access, loop through, and update structured Python data using nested lists and dictionaries.
Python Tuples & Tuple Unpacking
Meet Python tuples: create fixed groups of values, read them by index, compare them with lists, and unpack them into clear variable names.
Python Sets
Learn how Python sets keep values unique, simplify membership checks, and combine groups with union and intersection.
Python Functions
Learn why functions exist, how to define and call them, and how they make repeated Python code easier to read and change.
Python Function Parameters and Arguments
Learn how parameters and arguments give Python functions flexible inputs, including multiple values and positional order.
Python Functions: Returning Values
Learn how Python functions return values, how to reuse those results, and why return ends the current function call.
Python Functions: Return, Print & None
Learn when functions should return values, when they should print output, and why unexpected None values appear.
Local Variables and Function Scope
Learn where Python variables are available, how function scope works, and how to move local values safely with return.
Python Default & Keyword Arguments
Make Python functions easier to call with useful defaults, clear keyword arguments, and readable mixed calls.
Python Docstrings
Learn how to write clear, useful docstrings that explain what Python functions do, accept, and return.
Project 2: Dungeon Inventory Manager
Combine dictionaries, loops, lists, functions, and return values in a menu-driven inventory project.
Python Modules & Imports
Learn what Python modules are, where they come from, and how to reuse code with import and module.name.
Python Imports & the math Module
Import specific names, compare import styles, and use sqrt(), ceil(), floor(), and pi in practical calculations.
Using Random in Python
Use Python's random module to roll numbers, pick list items, and build tiny games and generators.
Creating Your Own Python Module
Learn how to organize related Python functions in your own module and import them wherever you need them.
File Path Basics
Learn how Python finds files with relative paths, absolute paths, and the current working directory.
Reading Text Files in Python
Open and read text files in Python, use with open(...) safely, and process the contents as a string.
Reading Files Line by Line
Learn when and how to process a text file one line at a time without loading its entire contents into one string.
Writing and Appending Text Files
Learn to write and append text files in Python, add clean line breaks, and choose the right file mode without losing existing data.
Python Tabular Data Basics
Learn to read rows and headers, convert text fields into numbers, and process simple tabular files with Python.
Project 3: Quiz Tournament from CSV
Combine modules, CSV reading, dictionaries, random selection, loops, functions, and text-file appending in a multi-file quiz project.
Syntax Errors vs Exceptions
Learn how to tell Python syntax errors from runtime exceptions and read the clues behind common failures.
Handling Exceptions in Python
Learn how to use try/except, catch specific Python exceptions, and handle predictable runtime errors clearly.
Python try, except, and else
Learn how else gives successful exception-handling code its own clear path, and recognize what finally means when you encounter it.
Python Validation Loops
Combine loops, exception handling, and condition checks to keep asking until the user enters a valid value.
Print Debugging & Small Reproductions
Find Python bugs with purposeful print() calls, clear checkpoints, and small reproductions that keep the problem while removing the noise.
Python Code Style & Habits
Make your Python easier to read with clear names, consistent formatting, and useful comments.
Refactoring Repeated Code
Learn how to spot repeated Python code and refactor it into clear, reusable functions and loops.
Reading Someone Else's Code
Learn how to read unfamiliar Python code, trace its execution, predict its output, and make small changes safely.
Project 4: Build an Expense Report
Build a multi-file expense report app using CSV reading, exceptions, dictionaries, functions, and text-file writing.