Living Museum of Learning

Small circle, Big thinkers
← Prev Next →
One Theme, Five Worlds

One Theme, Five Worlds

The first sketches from our 6th Dream Team Summer Challenge

Every summer, our Dream Team takes on one open-ended programming challenge. This year's prompt was just one sentence: create a 10-second P5JS animation inspired by the 2026 World Cup. No sample solution. No prescribed approach. Within days, five students (plus one Python special guest) had already started heading in completely different directions.

Instead of comparing progress, I realized the real exhibit wasn't the finished animations—it was watching each student's thinking emerge. The first drafts already revealed their personalities: storytelling, geometry, experimentation, elegance, curiosity, and even productive mistakes.

One simple prompt became six different worlds. Ethan imagined a story. Albert discovered perspective through a geometry problem. Oliver questioned proportions. Jayden turned an accidental twisted pentagon into a new animation idea. Nicole found two elegant ways to simplify the mathematics. The assignment stayed the same; the thinking diverged.

Ethan

His first draft already has a soccer field, a goal, and three stick figures.

You can almost imagine the next scene: the ball weaving among the players before finding the back of the net.

The story is already there.

Albert

Albert's soccer field immediately became... a parallelogram. 😄

Perspective!

But then he ran into an unexpected problem:

"How do I draw the penalty area and the goal area as parallelograms?"

Sometimes one small geometric question becomes the whole lesson.

Oliver (Special Guest)

Oliver doesn't use P5JS, so he's building his animation in Python.

His first draft has two stick figures with a soccer ball between them.

Then came the question that made everyone smile:

"Is the ball as big as the head?"

The best programmers are often the ones who keep asking tiny questions that nobody else thinks to ask.

Jayden

Jayden had never touched P5JS 3D before.

So we played.

Sphere.
Box.
Cone.
Cylinder.
Torus.

Then came rotateX(), rotateY(), and orbitControl().

When I asked,

"What do you want to build?"

his answer surprised me.

"I have no idea."

Perfect.

So we started with a soccer field.

He looked up the official dimensions—105 × 68 meters—and carefully sketched a beautiful field on our digital whiteboard.

Later we experimented with beginShape() and endShape() to build a pentagon for a soccer ball.

The result?

Not quite a pentagon.

More like a twisted piece of paper floating in 3D space.

Instead of being disappointed, Jayden immediately imagined a new animation:

Maybe the ball could bounce through a zigzag path, like a pool ball, before flying into the goal.

That's creative coding.

Mistakes become ideas.

Nicole

Nicole is the only student who started building the field completely on her own.

She has already built badminton and NBA courts before, so she naturally reused many of those ideas.

But she still surprised me—twice.

First, for the penalty arc.

Instead of calculating start and end angles, she simply drew a full circle and let the penalty box cover the unwanted part.

No angle calculations.

Elegant.

Then, while building the other half of the field, I expected her to duplicate everything symmetrically.

Instead, she simply rotated the entire scene by 180 degrees around the Y-axis, adjusted the Z position slightly, and reused the same drawing code.

Again, elegant.

Good programmers don't just solve problems.

They often remove the problem entirely.

Open-ended projects reveal far more than technical skills. They encourage students to make design decisions, embrace unexpected results, and discover that there are many valid ways to solve—or even redefine—the same problem.