Live Instruction · Python · K-12 · CodeWizards HQ
Teaching Python to Middle & High School Students —
CodeWizards HQ
Live virtual Python instruction for middle and high school students across international cohorts — scaffolded project-based sessions, real-time debugging, and Socratic facilitation designed to build independent problem-solving habits from the start.
The Role
Python instructor for K-12 learners
CodeWizards HQ is a coding education platform for middle and high school students — structured around live virtual sessions, project-based curriculum, and a gamified learning environment that keeps younger learners engaged across cohorts in multiple countries.
As a Python instructor, I lead live sessions for small international cohorts — students in the US, South Africa, and beyond — working through a sequenced Python curriculum that builds from variables and user input to modules, string operations, and interactive graphical applications. Sessions are 60–90 minutes, virtual, and built around a project students code live alongside instruction.
The K-12 context shapes everything: pacing, analogy selection, how errors are handled, and how much time is spent not just on the code but on the underlying mental model. The goal isn't just to get the program working — it's to build the habit of thinking like a programmer.
Python
K-12 · CodeWizards HQ
Live Virtual · International
Middle & High School Students
Project-Based · Scaffolded
Session Spotlight
Lesson 3 — Modules and Strings: The Wizard Adventure Shop
This session introduces two major Python concepts — modules and string operations — through a single cohesive project: building a Wizard Adventure Shop, an interactive program that displays items, takes user input, and calculates a total cost.
The project is scaffolded across four steps, each one introducing a new concept by creating a real need for it:
Add the shop title and background
Import the WizardLib module, add a background image, and position the shop title using library functions — introducing the concept of modules as pre-built tools.
Display how many items the user wants
Capture user input, build a receipt string using string concatenation and f-string interpolation — introducing the cleaner syntax and why it matters as programs grow.
Calculate the cost of each item
Create price variables, multiply by quantity, and update the receipt — introducing arithmetic operations and data type conversion from string to integer.
Display the total
Add a grand total calculation and display it using a multi-line f-string — completing the shop and connecting every concept introduced across the session.
Both students completed all four steps and had a working Wizard Adventure Shop by end of session.
Facilitation Approach
How the session was designed to teach
A few deliberate moves that show up throughout this session and define the instructional approach.
Socratic questioning before answers
When students hit errors, the first move was a question: "What does the error say? How do we fix it?" — guiding them toward the diagnosis rather than handing it over. Students who find the answer themselves retain it.
Multiple analogies until one lands
To explain Python modules, three analogies were tried in sequence: building a house without making the bricks, furniture assembly, and using a hammer without forging it. Different mental models work for different learners.
Scaffolded work blocks
Each step was given 5 minutes of independent work time before regrouping. Students who finished early got bonus prompts; students who hit errors shared their screen for live debugging with the group watching.
Error as a teaching moment
Both students hit the same type conversion error independently: can't multiply sequence by non-int. Rather than preventing the error, the curriculum surfaces it — and the session used it to teach int() conversion in context.
Real-world framing throughout
The Wizard Shop is framed as a basic version of an Amazon or eBay cart — a real-world anchor that makes the abstract (variables, multiplication, string output) feel like it's connected to something that actually exists.
International cohort, adapted delivery
Students in Texas and South Africa in the same session — different time zones, different contexts. Delivery pacing and check-ins accounted for connection lag, and prize restrictions for international students were noted and addressed.
Session Clip
Watch the Session
A clip from Lesson 3 — Modules and Strings: The Wizard Adventure Shop.
Curriculum Coverage
Concepts taught in Lesson 3
Lesson 3 sits at a pivotal point in the CodeWizards HQ Python sequence — the first session where students move beyond basic math and variables into using external libraries and managing data types carefully.
The hardest moment in the lesson is the type conversion error. Input functions in Python always return a string, but students try to multiply it by a number — and Python throws a type error. This is an intentional friction point in the curriculum: the error teaches the concept more durably than explaining it in advance ever could.
Both students hit this error independently in the session. Walking them through the diagnosis — reading the error message, understanding why strings can't be multiplied, and wrapping the input in int() — is where the real learning happened.
By the end of the session, both students had built a working Wizard Adventure Shop that accepted user input, calculated item costs, and displayed a formatted receipt — a complete, runnable application built from scratch in 75 minutes.
Python Modules
Importing and using WizardLib
String Concatenation
Combining strings with the + operator
F-String Interpolation
Cleaner variable insertion in strings
Data Type Conversion
str() and int() functions
User Input
Capturing and using input() values
Arithmetic Operations
Multiplication for cost calculation
Multi-line Strings
Triple-quote strings for formatted output
Reflection
What K-12 instruction adds to the practice
Teaching Python to middle and high school students is a different discipline than teaching adult career-changers — the stakes feel different, the patience required is different, and the design of analogies matters more. A 25-year-old career-changer can tolerate ambiguity and abstract framing for longer. A 13-year-old needs a concrete mental model in the first 60 seconds or you've lost them.
The CodeWizards HQ experience has sharpened two things specifically: analogy selection and error tolerance. On analogies — testing three different framings for the same concept live in a session, watching which one produces a visible "oh" moment, is fast feedback that most curriculum work never delivers. On error tolerance — building sessions where errors are expected, surfaced, and used rather than avoided has changed how I think about assessment design at every level.
Interested in working together?
I'm currently available for remote instructional design and eLearning development contracts.