From Blocks to Python
Most students meet code for the first time in this course, and they meet it by shipping something real in the first month: a working phone app that responds to taps, tilts, and shakes. Starting in a drag-and-drop block environment removes the frustration of typos so beginners can focus on the ideas that actually matter - events, decisions, loops, and breaking a big problem into small ones.
The middle of the year is a deliberate bridge. Students program simulated self-driving vehicles in an environment that shows every block side by side with its text equivalent, so the leap to typed code feels like translation rather than starting over. By spring they are writing pure Python: list-crunching scripts, a game opponent that adapts to how you play, and a personal automation that kills a chore they genuinely hate.
Along the way students work in small Agile teams, track their code with git, publish a simple project page on the web, and examine who computing helps, who it harms, and what careers it opens. The final unit is a student-chosen build run exactly like the AP Computer Science Principles Create Task, so students who continue to our AP-aligned course arrive already knowing the format.
View the full lesson plan — all 180 periods →
Course structure — 6 units, 6 weeks each
In every unit, weeks 1–5 build the skills and week 6 applies them in a project, with a deliverable due at the end of each day.