Foundation Level
Starter Tier
Begin your Python journey here. Master variables, data types, conditionals, loops and functions — the building blocks of every Python program.
Topics Covered
Enjoying the lessons?
Upgrade to unlock AI features, progress sync & more
Lesson 2
How Python Reads Your Code
Lesson 2
How Python Reads Your Code
Lesson 3
Text in Python — Strings
Lesson 3
Text in Python — Strings
Lesson 4
Numbers in Python
Lesson 4
Numbers in Python
Lesson 5
Mixing Text and Numbers
Lesson 5
Mixing Text and Numbers
Lesson 6
Comments — Talking to Your Future Self
Lesson 6
Comments — Talking to Your Future Self
Lesson 7
Your First Error — Reading Error Messages
Lesson 7
Your First Error — Reading Error Messages
Lesson 8
print() Superpowers
Lesson 8
print() Superpowers
Lesson 9
Making Output Beautiful
Lesson 9
Making Output Beautiful
Lesson 10
Milestone: Your First Name Card
Lesson 10
Milestone: Your First Name Card
Lesson 11
What Variables Are
Lesson 11
What Variables Are
Lesson 12
Naming Variables Well
Lesson 12
Naming Variables Well
Lesson 13
Changing Variables
Lesson 13
Changing Variables
Lesson 14
String Variables — Storing Text
Lesson 14
String Variables — Storing Text
Lesson 15
Number Variables — Storing and Calculating
Lesson 15
Number Variables — Storing and Calculating
Lesson 16
Boolean Variables — True or False
Lesson 16
Boolean Variables — True or False
Lesson 17
Using Multiple Variables Together
Lesson 17
Using Multiple Variables Together
Lesson 18
Variable Tricks — Swapping and Multiple Assignment
Lesson 18
Variable Tricks — Swapping and Multiple Assignment
Lesson 19
Constants — Values That Never Change
Lesson 19
Constants — Values That Never Change
Lesson 20
Milestone: Personal Profile Card v2
Lesson 20
Milestone: Personal Profile Card v2
Lesson 21
String Length — Measuring Text
Lesson 21
String Length — Measuring Text
Lesson 22
Combining Strings — Concatenation
Lesson 22
Combining Strings — Concatenation
Lesson 23
f-strings — The Modern Way to Build Text
Lesson 23
f-strings — The Modern Way to Build Text
Lesson 24
String Methods: Changing Case
Lesson 24
String Methods: Changing Case
Lesson 25
String Methods: Cleaning Text
Lesson 25
String Methods: Cleaning Text
Lesson 26
Finding Things in Strings
Lesson 26
Finding Things in Strings
Lesson 27
Slicing Strings — Getting Parts of Text
Lesson 27
Slicing Strings — Getting Parts of Text
Lesson 28
Multiline Strings — Storing Long Text
Lesson 28
Multiline Strings — Storing Long Text
Lesson 29
Aligning Text — Making Things Line Up
Lesson 29
Aligning Text — Making Things Line Up
Lesson 30
Milestone: Bio Text Generator
Lesson 30
Milestone: Bio Text Generator
Lesson 31
Getting User Input
Lesson 31
Getting User Input
Lesson 32
Input is Always Text
Lesson 32
Input is Always Text
Lesson 33
Converting Types — int(), float(), str()
Lesson 33
Converting Types — int(), float(), str()
Lesson 34
Type Checking — Knowing What You're Working With
Lesson 34
Type Checking — Knowing What You're Working With
Lesson 35
Math with User Input
Lesson 35
Math with User Input
Lesson 36
The Age Calculator — A Real Project
Lesson 36
The Age Calculator — A Real Project
Lesson 37
Asking Multiple Questions — Building a Conversation
Lesson 37
Asking Multiple Questions — Building a Conversation
Lesson 38
Cleaning User Input — Handling Real People
Lesson 38
Cleaning User Input — Handling Real People
Lesson 39
Showing Results Beautifully — Polished Output
Lesson 39
Showing Results Beautifully — Polished Output
Lesson 40
Milestone: Interactive Bio Builder
Lesson 40
Milestone: Interactive Bio Builder
Lesson 41
Comparing Values — The Six Comparison Operators
Lesson 41
Comparing Values — The Six Comparison Operators
Lesson 42
Your First if Statement
Lesson 42
Your First if Statement
Lesson 43
if and else — Two Paths
Lesson 43
if and else — Two Paths
Lesson 44
if, elif, else — Many Paths
Lesson 44
if, elif, else — Many Paths
Lesson 45
Logical Operators — and, or, not
Lesson 45
Logical Operators — and, or, not
Lesson 46
Nested if Statements — Decisions Within Decisions
Lesson 46
Nested if Statements — Decisions Within Decisions
Lesson 47
Truthy and Falsy — What Python Considers True
Lesson 47
Truthy and Falsy — What Python Considers True
Lesson 48
One-Line Conditions — Ternary Expressions
Lesson 48
One-Line Conditions — Ternary Expressions
Lesson 49
Real Decisions — Putting It All Together
Lesson 49
Real Decisions — Putting It All Together
Lesson 50
Milestone: Smart Bio with Personality
Lesson 50
Milestone: Smart Bio with Personality
Lesson 51
Why Loops Exist — The Problem They Solve
Lesson 51
Why Loops Exist — The Problem They Solve
Lesson 52
Your First for Loop — Iterating Over Things
Lesson 52
Your First for Loop — Iterating Over Things
Lesson 53
range() — Counting Made Easy
Lesson 53
range() — Counting Made Easy
Lesson 54
Using the Loop Counter — Building With i
Lesson 54
Using the Loop Counter — Building With i
Lesson 55
while Loops — Condition-Based Repetition
Lesson 55
while Loops — Condition-Based Repetition
Lesson 56
break — Escaping a Loop Early
Lesson 56
break — Escaping a Loop Early
Lesson 57
continue — Skipping an Iteration
Lesson 57
continue — Skipping an Iteration
Lesson 58
Nested Loops — Loops Inside Loops
Lesson 58
Nested Loops — Loops Inside Loops
Lesson 59
Counting and Accumulating — Building Results With Loops
Lesson 59
Counting and Accumulating — Building Results With Loops
Lesson 60
Milestone: Stats Display — Bringing Loops to the Bio
Lesson 60
Milestone: Stats Display — Bringing Loops to the Bio
Lesson 61
What Lists Are — Storing Multiple Values
Lesson 61
What Lists Are — Storing Multiple Values
Lesson 62
Accessing Items — Indexing and the Zero Problem
Lesson 62
Accessing Items — Indexing and the Zero Problem
Lesson 63
Modifying Lists — append(), insert(), remove(), pop()
Lesson 63
Modifying Lists — append(), insert(), remove(), pop()
Lesson 64
Checking Lists — len(), count(), and Membership
Lesson 64
Checking Lists — len(), count(), and Membership
Lesson 65
Looping Through Lists — The Most Common Pattern
Lesson 65
Looping Through Lists — The Most Common Pattern
Lesson 66
List Slicing — Getting Parts of Lists
Lesson 66
List Slicing — Getting Parts of Lists
Lesson 67
Sorting Lists — sort() and sorted()
Lesson 67
Sorting Lists — sort() and sorted()
Lesson 68
More List Methods — extend(), copy(), count(), reverse()
Lesson 68
More List Methods — extend(), copy(), count(), reverse()
Lesson 69
Lists of Mixed Types — Real-World Data
Lesson 69
Lists of Mixed Types — Real-World Data
Lesson 70
Milestone: Hobbies and Favourites Manager
Lesson 70
Milestone: Hobbies and Favourites Manager
Lesson 71
Why Functions Exist — The DRY Principle in Action
Lesson 71
Why Functions Exist — The DRY Principle in Action
Lesson 72
Defining Your First Function — def, Name, Call
Lesson 72
Defining Your First Function — def, Name, Call
Lesson 73
Parameters — Giving Functions Information
Lesson 73
Parameters — Giving Functions Information
Lesson 74
Return Values — Getting Information Back
Lesson 74
Return Values — Getting Information Back
Lesson 75
Default Parameters — Optional Arguments
Lesson 75
Default Parameters — Optional Arguments
Lesson 76
Multiple Parameters — Functions That Handle Complex Data
Lesson 76
Multiple Parameters — Functions That Handle Complex Data
Lesson 77
Functions Calling Functions — Building Complex Behaviour
Lesson 77
Functions Calling Functions — Building Complex Behaviour
Lesson 78
Scope — Where Variables Live
Lesson 78
Scope — Where Variables Live
Lesson 79
Docstrings — Documenting Your Functions
Lesson 79
Docstrings — Documenting Your Functions
Lesson 80
Milestone: Bio Component Functions
Lesson 80
Milestone: Bio Component Functions
Lesson 81
Structuring a Program — The Professional Way
Lesson 81
Structuring a Program — The Professional Way
Lesson 82
Input + Variables + Functions — The Complete Pattern
Lesson 82
Input + Variables + Functions — The Complete Pattern
Lesson 83
Smart Functions — Functions That Make Decisions
Lesson 83
Smart Functions — Functions That Make Decisions
Lesson 84
Functions with Loops — Processing Collections
Lesson 84
Functions with Loops — Processing Collections
Lesson 85
Building a Menu — User-Driven Programs
Lesson 85
Building a Menu — User-Driven Programs
Lesson 86
Handling Bad Input — Defensive Programming
Lesson 86
Handling Bad Input — Defensive Programming
Lesson 87
Making Output Beautiful — ASCII Art and Formatting
Lesson 87
Making Output Beautiful — ASCII Art and Formatting
Lesson 88
Adding Personality — Making Programs Feel Alive
Lesson 88
Adding Personality — Making Programs Feel Alive
Lesson 89
Comments and Clean Code — Writing for Humans
Lesson 89
Comments and Clean Code — Writing for Humans
Lesson 90
Milestone: Complete Bio Generator Draft
Lesson 90
Milestone: Complete Bio Generator Draft
Lesson 91
Reviewing Your Code — Reading It Like a Stranger
Lesson 91
Reviewing Your Code — Reading It Like a Stranger
Lesson 92
Refactoring — Making Good Code Great
Lesson 92
Refactoring — Making Good Code Great
Lesson 93
Edge Cases — When Users Surprise You
Lesson 93
Edge Cases — When Users Surprise You
Lesson 94
Making Programs Feel Alive — Responses and Variety
Lesson 94
Making Programs Feel Alive — Responses and Variety
Lesson 95
Testing Like a User — Breaking Your Own Program
Lesson 95
Testing Like a User — Breaking Your Own Program
Lesson 96
Sharing Your Code — Comments for Other People
Lesson 96
Sharing Your Code — Comments for Other People
Lesson 97
What Comes Next — The Beginner Tier Preview
Lesson 97
What Comes Next — The Beginner Tier Preview
Lesson 98
Final Assembly Part 1 — Building the Complete Program
Lesson 98
Final Assembly Part 1 — Building the Complete Program
Lesson 99
Final Assembly Part 2 — The Complete Personal Bio Generator
Lesson 99
Final Assembly Part 2 — The Complete Personal Bio Generator
Lesson 100
Graduation: Final Exam and Your Python Future
Lesson 100