Living Museum of Learning

Where real moments become exhibits
← Prev Next →
The Student Who Started Managing Her Own Learning

The Student Who Started Managing Her Own Learning

From 28/30 in Grade 6 math to a soccer-goal net, a refactoring session, and one deliberately funny Rubik's Cube

Ivy is entering Grade 10 in one week. She independently decided to join our 14-day experiment: one hour of learning every day.

There was a simple agreement behind the experiment. She would work through Khan Academy's math course challenges, and a score of 29/30 would be our evidence that there was no significant hole in that grade's mathematics.

She had already been moving through the grades quickly. Earlier, she had worked through the challenges in pairs—Grade 2 and 3, then Grade 4 and 5. Today she completed Grade 6 and scored 28/30.

But the interesting part of the class began after the score.

When Ivy finished the Grade 6 challenge, she naturally asked:

"Should I do Grade 7 now?"

It would have been easy to say yes. More grades, more progress, more impressive numbers.

Instead, Donald said:

"No. Let's switch to the 2026 World Cup project. Did you see the soccer goal image I sent you earlier?"

Ivy scrolled back through the WeChat conversation.

"Yes, I did."

Donald circled the trapezoidal side section of the soccer goal net.

"Do you remember Python Turtle? We can figure out this part of the net together."

Her memory of the terminal, vi, and Python was rusty. But the tools had not disappeared. In her ws/pyws/ directory, there were more than ten Python files from her earlier work.

She opened the old environment and quickly recovered her Python tools.

The problem itself turned out to be more interesting than simply drawing a trapezoid. The repeated grid lines in the net had different lengths, so the regular structure needed to be separated from the irregular remainder.

Ivy paused for a few seconds.

"Maybe I should separate the regular part of the net from the rest."

"Great idea," Donald said. "That's how engineers think."

Within the second 30-minute section, Ivy produced an elegant Python Turtle version of the trapezoid. Instead of manually drawing every repeated line, she described the structure with parameters and a loop:

top = 50
bottom = 100
height = 100

and then:

for i in range(0, (bottom - top)//5):
line(i * 5, 0, i * 5, 100)

The old programming environment had come back surprisingly quickly. More importantly, Ivy was beginning to see the difference between drawing an object and describing the structure that generates the object.

There was another tiny mathematical moment during the Grade 6 challenge.

A dot plot appeared again.

Donald said:

"Oh, it's called 'dot plot'. I didn't know."

Ivy replied:

"We met a lot of it."

Donald asked:

"We don't have this thing in China, right?"

"No. None. I had never seen it in China."

The underlying mathematics was not necessarily new to Ivy. The representation and its terminology were. Repeated exposure had already made the object familiar to her before she had explicitly thought about its name.

Earlier in the same challenge, Ivy had also encountered the term "mean." Donald pointed out that if this was her first encounter with the terminology, it was important because she would see it repeatedly in mathematics.

"You'll meet MAD shortly—mean absolute deviation."

"What's that?"

Donald deliberately left the question unanswered.

"Never mind. We'll talk about that in due course."

She was still working on the Grade 6 challenge, and there was no reason to interrupt the current problem just to satisfy the next curiosity.

The question itself was enough.

In the third 30-minute section, the class moved into Xcode.

Ivy had previously created a Rubik's Cube drawing with many hardcoded numbers. Now there was finally enough understanding to refactor it.

She immediately rolled up her sleeves.

Numbers such as cellSide, frontX, frontY, and deltaH could become meaningful constants. Repeated drawing operations could be expressed through loops rather than copied coordinates.

Donald reminded her to double-check the result regularly. Refactoring too much code at once could allow regressions to accumulate until it became difficult to determine which change had caused the problem.

At the end, they intentionally left one constant extended:

let deltaH: CGFloat = 90 + 100

The result was a funny, distorted Rubik's Cube.

It was not a bug to be feared.

It was a controlled experiment: change one parameter, observe the geometry, and know exactly why the picture changed.

The most important learning of the session was not the 28/30.

Ivy learned to move between different modes of thinking.

In mathematics, she encountered new terminology and representations: mean, MAD, and dot plots.

In geometry, she looked at a real soccer goal and decomposed its net into regular and irregular structures.

In Python, she rediscovered old tools and turned repeated drawing into a loop.

In software engineering, she replaced hardcoded values with parameters and learned to refactor incrementally while checking for regressions.

Most importantly, she demonstrated something deeper: ownership.

When she could not attend on Friday, she told Donald early, apologized, and asked to make up the class.

When rescheduling, she proposed 1.5 hours on two days instead of simply accepting a two-hour session.

Today, she proposed starting at 7:30.

Even when she was outside and expected to be five minutes late, she communicated rather than disappearing.

The teacher was no longer managing every detail of her learning.

Ivy was beginning to manage it herself.