Living Museum of Learning

Where real moments become exhibits
← Prev Next →
Learning Momentum: Two Sisters, Two Languages, Two Ways of Thinking

Learning Momentum: Two Sisters, Two Languages, Two Ways of Thinking

TJ: Python with a for loop · Enning: p5.js without a loop

On the morning of August 11, two sisters submitted homework within less than an hour of each other.

At 8:24 am, Tianjing submitted yesterday’s Python turtle homework in Slack.

At 9:20 am, Enning submitted today’s p5.js homework.

Donald put the two pieces of work together and gave the image a simple title:

TJ: py with for loop
EN: p5js without loop

The comparison is almost comically simple.

But behind these two screenshots is an extraordinary amount of learning momentum.

Just days earlier, Enning had zero coding experience. In five days, she had already completed a small iOS 24 game with Swift and Xcode, then moved into p5.js and began translating geometric ideas into code.

Tianjing, meanwhile, had already been working with Python turtle and loops, and was beginning to think about repeated geometric patterns algorithmically.

They were learning different things.

But they were moving.

Tianjing's homework contains two for loops.

The first repeats a pattern three times:

for i in range(3):
fd(300)
bk(300)
right(90)
fd(50)
left(90)

The second repeats another pattern six times:

for i in range(6):
fd(50)
left(90)
fd(150)
bk(150)
right(90)

She is no longer simply giving the turtle a long sequence of individual instructions.

She is recognizing repetition and expressing it as a loop.

And just before submitting this homework, Tianjing had encountered a small Python error.

She asked:

“这个是错的吗”

Donald pointed out the missing colon and explained another fundamental idea:

i is a variable. "i" is a string.

Tianjing tried again.

Then:

“还是不可以”

Donald was preparing to bring her online into Slack to debug it together.

And then, before he had to:

“可以了”

She had solved it.

Twenty-four minutes later, her homework was in Slack.

Enning's program tells a different story.

She is using p5.js without loops, constructing geometry explicitly from individual line() commands.

First, a grid.

Then a triangle.

Then:

parallelogram

Then:

trapezoid

Her code contains the coordinates of the points that define those shapes:

// parallelogram
line(200, 500, 340, 500);
line(200, 500, 150, 600);
line(340, 500, 400, 600);
line(150, 600, 400, 600);

// trapezoid
line(500, 200, 650, 200);
line(500, 200, 450, 280);
line(650, 200, 600, 282.5);
line(450, 280, 600, 282.5);

She is learning a different programming idea:

a geometric object can be constructed from coordinates and line segments.

And remember the timeline.

Five days ago: zero coding experience.

Now she has already completed an iOS app and is writing code to construct mathematical figures.

She even knows the long English words parallelogram and trapezoid, can spell most of them, and has developed the habit of reaching for a dictionary whenever she encounters unfamiliar vocabulary.

The Sweetest Moment

Enning didn't just submit her homework to Slack.

At 9:20 am, she submitted it.

At 9:21 am, she posted a screenshot in the family WhatsApp group:

“finish”

She was excited.

She wanted her family to see what she had made.

Donald replied:

“Donald saw homework well done by both Tianjing and Enning. He cannot be happier.”

And Enning answered:

“😁thankyou”

That tiny exchange says something important.

She wasn't merely completing an assignment.

She was proud of her work.

Put the two programs side by side and the contrast is wonderful.

TJ: Python + for loop

She is learning to see repetition and abstraction.

Instead of writing the same instructions again and again, she discovers a pattern and tells the computer to repeat it.

Enning: p5.js without a loop

She is learning to see geometry as coordinates and construction.

Instead of thinking of a parallelogram or trapezoid as something that already exists on paper, she is learning how to make one appear through code.

Neither approach is “better.”

They are simply two different doors into computational thinking.

And that is what makes this morning so satisfying.

Two sisters.

Two programming languages.

Two different approaches.

Two successful submissions.

And both are moving forward.

Momentum

The word momentum may actually describe this better than “progress.”

Progress can be a single achievement.

Momentum is what happens when one achievement makes the next achievement easier to begin.

Tianjing solves a Python error → submits her homework → gets ready for her next class.

Enning completes an iOS app → learns p5.js → draws geometry → discovers new English vocabulary → looks up unfamiliar words → finishes her homework → proudly shares it.

One thing leads naturally to another.

And in about ninety minutes, Tianjing will have her next class.

The next adventure?

The Collatz conjecture.

Yesterday she was drawing patterns with turtle.

Today she is about to explore a mathematical process that begins with a very simple rule and leads into surprisingly deep territory.

That's the momentum.

Not merely “They learned something.”

But:

They learned something, and now they are ready for the next thing.

Two learners can progress rapidly from simple drawing commands to loops, abstraction, geometric construction, debugging, independent practice, and increasingly complex mathematical ideas—each at her own pace and in her own way.

By turning mistakes into questions, questions into experiments, experiments into working programs, and working programs into the confidence to attempt the next challenge. The teacher does not need to solve every problem; sometimes the most valuable moment is allowing the learner to reach “可以了” herself.

Because the goal is not to accumulate isolated coding tricks. It is to create a learner who keeps moving: notice → wonder → try → fail → understand → build → share → try something harder. Once that cycle gains momentum, learning begins to propel itself.