When teachers ask me what to do first in CSP Python, they usually aren’t asking for a philosophy. They’re asking for something practical they can use tomorrow.
This is my two-week starter plan for a beginner-heavy CSP class. It’s designed to:
- build classroom routines for coding (without chaos)
- get students successful fast (without fake “copy/paste success”)
- normalize debugging early (without students feeling dumb)
- create momentum so the rest of the year is smoother
If you’re on a block schedule, treat each “day” as a chunk and combine two days per block.
Week 1: Confidence + Foundations
Day 1: What is CSP Python (and what it is NOT)
- Goal: Set expectations and reduce beginner anxiety.
- Do: Explain that coding is testing, not memorizing. Show a tiny program run (print statements).
- Student task: Identify inputs/outputs in real systems (quick worksheet or discussion).
- Exit ticket: “What do you think programmers do most: type, test, or debug?”
Day 2: The coding workspace + running code
- Goal: Students can run code reliably without technical derailments.
- Do: Teach how to run code, re-run, and read output. Model “change one thing, test.”
- Student task: Run a starter program and make 5 small edits (text changes, numbers, order).
- Exit ticket: “What did you change and what happened?”
Day 3: Variables (the “label maker” concept)
- Goal: Students understand variables as labels that store values.
- Do: Predict → run → explain cycle (repeat several times).
- Student task: Fill-in-the-blank variable practice + short challenge: change values to match a target output.
- Teacher move: Celebrate “good predictions,” not just correct answers.
Day 4: Input and output (basic interaction)
- Goal: Students can collect input and produce formatted output.
- Do: Show string concatenation / f-strings (whichever your course uses).
- Student task: Build a “mini interview” program (name, favorite snack, etc.).
- Exit ticket: “What’s the difference between a variable and input?”
Day 5: Debugging Day 1 (make mistakes on purpose)
- Goal: Students learn: errors are information, not judgment.
- Do: Read a simple error message together. Teach: line number + what it expected.
- Student task: “Fix the code” mini set (3–6 short bugs).
- Win: Students leave Week 1 believing “I can fix things.”
Week 2: Skill-building + Independence
Day 6: Data types (without drowning in vocabulary)
- Goal: Students know the difference between strings and numbers and why it matters.
- Do: Show common confusion: "5" vs 5. Predict output before running.
- Student task: Sort examples into string/int/float + quick edits to fix type issues.
Day 7: Math in Python (simple, useful, confidence-friendly)
- Goal: Students can do basic calculations and store results.
- Student task: Make a tip calculator or “total cost” calculator (guided).
- Teacher move: Require students to write 1 sentence explaining the formula in words.
Day 8: Conditionals (introduce decision-making gently)
- Goal: Students can write a basic if statement and explain it.
- Do: Truth statements → if/else as “choose a path.”
- Student task: Simple “if this, then that” scenarios + 1 guided coding challenge.
Day 9: More conditionals + common logic mistakes
- Goal: Reduce the most common beginner errors (indentation, == vs =, logic order).
- Student task: Fix-the-logic set + short build: “can you ride?” height/age checks.
- Exit ticket: “What is the #1 thing that breaks if statements?”
Day 10: Mini-checkpoint + small project
- Goal: Students prove independence in a low-stakes way.
- Option A: Short quiz + corrections.
- Option B: “Choose-your-own mini program” with 3 required features (variables, input/output, if/else).
- Teacher move: Let students personalize, but keep the required features tight.
Why this plan works
- Fast wins: Students succeed early, which reduces fear.
- Predict → Run → Explain: Creates real thinking instead of copying.
- Debug early: Stops the “I’m bad at coding” story before it starts.
- Low-stakes independence: Students learn to try before asking.
Quick adjustments (if your class is different)
If your students are very advanced
Combine Days 2–4, add stretch challenges, and increase the mini-project complexity on Day 10.
If your students are true beginners
Slow down Days 6–9, and add an extra practice day after conditionals before the mini-checkpoint.
Want Unit 1 Resources That Match This Plan?
If you want classroom-ready Unit 1 lessons, practice, and checks that align with this two-week start, you can find my CSP Python Unit 1 resources here.