A hands-on 10-week journey through programming fundamentals and algorithmic thinking using Python, designed for learners aged 10-16. You'll build a solid foundation in variables, operators, conditionals, loops, and functions, then dive into recursion, sorting algorithms, graph theory, and Dijkstra's pathfinding. Every concept comes alive through interactive apps like a Variable Explorer, Sorting Visualizer, and Caesar cipher encoder.
What Is a Program?
Variables: Labeled Boxes in Memory
Interactive: Variable Explorer
Try it: Python Variables
Which of these is a valid Python variable name?
To store your test score in a variable called `score`, you write: `score = 100`
Data Types: int, float, str, bool
Interactive: Type Detector
What is the type of `3.14` in Python?
`type(True)` returns `<class 'bool'>`
What's the difference between a variable and a value?
Arithmetic Operators
Interactive: Expression Builder
What does `2 + 3 * 4` equal in Python?
`17 // 5` equals `3` because `//` performs integer division (discards the remain...
Comparison & Logical Operators
What does `7 > 5` evaluate to in Python?
`True and False` evaluates to `False` because `and` requires both sides to be Tr...
What does the `%` (modulo) operator do in Python?
Making Decisions with if
Interactive: If-Else Flowrunner
Exercise: Grade Classifier
What character is missing from this code? `if score > 90___`
To check a second condition after `if`, use the keyword `elif`.
Nested Conditions & Real-World Logic
Interactive: Grade Calculator Machine
Which of these are valid Python conditional keywords? (Select all)
An `if` statement runs its block when the condition evaluates to `True`.
Loops: Doing Things Over and Over
Interactive: Circuit Tracer
Try it: Loops & range()
What does `range(5)` produce?
In `for i in range(10):`, the variable changes value with each iteration of the ...
While Loops & Loop Control
When should you use a `while` loop instead of a `for` loop?
Pattern Printing with Loops
Interactive: Pattern Printer
A `for` loop with `range(3, 8)` runs `5` times (from 3 up to but not including 8...
What's the difference between `break` and `continue` in a loop?
Functions: Reusable Code Machines
Interactive: Function Machine
Exercise: Temperature Converter
How do you define a function in Python?
To send a value back from a function, use the `return` keyword.
Parameters, Arguments & Scope
What happens if you try to print a variable that was created inside a function, ...
To call a function named `greet` with the argument `"Sam"`, you write `greet("Sa...
Why do we put code into functions instead of writing it all in one long script?
Lists: Collections of Data
Interactive: List Manipulator
Exercise: Find the Maximum
What does `colors[2]` return if `colors = ["red", "blue", "green", "yellow"]`?
To add an item to the end of a list, use `my_list.append("new_item")`.
Strings as Sequences
What does `"Python"[1:4]` return?
`"hello world".upper()` returns `"HELLO WORLD"`.
What's the difference between lists and strings when it comes to changing their ...
What Is Recursion?
Interactive: Recursion Tree
Exercise: Recursive Factorial
What happens if a recursive function has no base case?
The base case for factorial is: `if n == 0: return 1`.
Thinking Recursively
In `sum_list([3, 5, 2])`, what is the recursive call?
The Fibonacci sequence starts 0, 1, 1, 2, 3, 5, 8, 13. The next number is 21.
Why Sorting Matters
Interactive: Sorting Visualizer
In bubble sort, what happens in each pass?
Selection sort works by finding the smallest element in the unsorted portion and...
Comparing Algorithms
If sorting 10 items takes about 45 comparisons, roughly how many comparisons wou...
What does it mean for a sort to be "stable"?
Graphs: Connecting the Dots
Interactive: Graph Playground
In a graph, what is the "degree" of a node?
In a directed graph, edges have a direction — like a one-way street.
Shortest Path & Dijkstra's Algorithm
Interactive: Dijkstra's Pathfinder
Dijkstra's algorithm always explores which unvisited node next?
In a weighted graph, the "weight" of a path is the sum of all edge weights along...
When would you use a weighted graph instead of an unweighted graph?
Secret Codes: The Caesar Cipher
Interactive: Caesar Cipher Machine
Exercise: Caesar Cipher Encoder
If the letter 'A' is shifted by 3 in a Caesar cipher, what does it become?
In the Caesar cipher, to wrap 'Z' shifted by 1 back to 'A', we use the modulo op...
Debugging: Finding & Fixing Bugs
Interactive: Bug Hunter
A program runs but gives the wrong answer. What type of error is this?
The first step when you see an error is to read the error message, which tells y...
Challenge (Optional): Faster Sorting — Merge & Quick Sort
Course Wrap-Up: Your Coding Journey
Interactive: Algorithm Showcase Dashboard
Which of these are sorting algorithms you learned in this course? (Select all)
What does a function's `return` statement do?
What's the difference between an algorithm and code?
Discuss: Coding & Algorithms Capstone
Showing course outline. Copy to your collection to start learning.