From Drawing Lines to Testing Ideas β½π±
The 2026 World Cup was already waiting inside Nicole's P5JS project.
Her goal:
Build the trapezoid-shaped net on both sides of a soccer goal.
But before bringing the idea into P5JS, we went back to Python turtle to understand the geometry underneath.
The project began with a simple right triangle.
Then came horizontal net lines.
Then the triangle became a trapezoid.
And finally, the drawing became a mathematical model.
Instead of hard-coding one shape, Nicole's program began asking the user:
How tall should the trapezoid be?
How long should the triangle part be?
How long should the rectangle part be?
Now the same program could generate many different shapes.
Then we started testing.
Not just the normal case.
The extreme cases.
The Edge Case
We tried a trapezoid where the rectangle part disappeared.
Then we tried one where the triangle part disappeared completely.
In the rectangular case, something unexpected happened:
A blue net line covered part of the red edge.
To me, it was just a tiny edge case.
I was about to say,
"Don't worry about it..."
Nicole interrupted:
"I know why."
And before I could finish my sentenceβ
she fixed it.
π
That tiny moment was much bigger than the visual bug.
Nicole had:
noticed the unexpected behavior,
understood the geometry behind it,
identified the assumption in her model,
and corrected the program herself.
No solution was handed to her.
She found the problem.
She understood the problem.
She fixed the problem.
This is the transition from drawing to modeling.
A beginner asks:
"How do I draw this shape?"
A programmer begins asking:
"What happens when the parameters change?"
An engineer goes one step further:
"What happens at the boundary?"
Nicole was beginning to think that way.
Her three test cases were not merely different pictures.
They explored the mathematical limits of her model:
trapezoid β triangle β rectangle
The soccer net became a laboratory for geometry, programming, and debugging.
A soccer goal can become a doorway into geometry, programming, mathematical modeling, and engineering.
Start with something meaningful, turn it into a model, change the parameters, test the boundaries, and let the learner discover what breaks.
Because the moment a student says "I know why" before the teacher can explain the problem, the student has begun thinking like a problem solver.
Epilogue
The final destination is still the P5JS World Cup soccer goal.
But the real project has already become much bigger.
β½ Soccer
β Geometry
β Coordinates
β Ratios
β Loops
β Parameters
β Edge Cases
β Debugging
One net.
Many worlds.