Car Maze: Learn Python
A bilingual browser game that turns Python commands into visible movement across 58 missions and seven puzzle worlds.

A coding lesson that behaves like a game
Players study the road, choose a goal and write a small program that moves the car. Running the code makes the result visible immediately, so a wrong turn becomes something to inspect rather than a hidden mistake.
The missions progress from ordered commands to conditions, loops, functions and more complex problem solving. The Python environment is deliberately limited for learning and safety; it is not a general-purpose Python runtime.
One learning problem, several connected systems
- Learning language
- Python commands for movement, decisions, repetition and reusable functions.
- Application
- A React and JavaScript browser interface with a separate execution worker, progress storage and installable PWA support.
- Content system
- Fifty-eight missions across seven worlds, with goals, obstacles, hints, replay and bilingual explanations.
- Quality work
- The students tested valid and invalid solutions, progress recovery, both languages, mobile layouts and safe execution limits with instructor review.
The students remained responsible for the decisions
AI could suggest or draft a small piece, but the project still required a clear rule, useful context, testing and a human decision about whether the result belonged in the game.
- Define the missionState the goal, allowed commands and success condition before asking AI for help.
- Build one system at a timeSeparate movement, code execution, mission data, hints and progress so each part can be understood and checked.
- Run and observeCompare what the program was meant to do with what the car actually did.
- Debug and explainFix the cause, retest nearby missions and explain why the change works.
Because code becomes easier to discuss when children can see it act
Car Maze gives a concrete use case for planning, sequencing and debugging. It also demonstrates the central course principle: AI may help write, but the student must define the problem, judge the output and improve the system.
