A teenage student smiling while testing a block-coded app on a smartphone, laptop showing colorful code blocks beside it

From Blocks to Python

Grades 9-12 · 6 units · 36 weeks · 180 one-hour periods · 180 hours of instruction

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.

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.

Unit 1

Apps That Listen

6 weeks
Unit 2

Programs with Moving Parts

6 weeks
Unit 3

Crossing into Text

6 weeks
Unit 4

Vehicles That Think

6 weeks
Unit 5

Fluent in Python

6 weeks
Unit 6

Automate Something Real

6 weeks