Living Museum of Learning

Where real moments become exhibits
← Prev Next →
The Space Between the Stars

The Space Between the Stars

Tianjing discovers loops, spaces, experiments, and the courage to figure things out

August 15–16, 2026

At first glance, this looks like a very simple Python exercise:

*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *

But this little triangle contains a remarkable amount of learning.

Tianjing had only recently begun learning Python. Even the most basic pieces of the language were new to her. She had learned how to print a star, but she had not yet developed a mental model for how repeated code, indentation, and nested loops fit together.

So Donald gave her a challenge: reproduce the triangle.

And almost immediately, she encountered the first great mystery:

“那个空格怎么打出来呀”
“How do I type that space?”

Then she asked:

“是空格的英文么”
“Is ‘space’ the English word?”

Donald deliberately did not answer the programming question.

Instead, he moved the question into the family group:

“Put your question here. Nothing to hide. Chinese is accepted.”

Tianjing said:

“好的”

And then she went to work.

The first discovery: the star

Donald reminded her:

“You figured out how to print a star on your own, right? 👀”

Tianjing answered:

“没有”
“No.”

But Donald knew she had.

He reconstructed what she had actually done:

She first tried:

print(*)

It didn't work.

Then she tried:

print("*")

And it worked.

What looked to Tianjing like “I didn't figure it out” was actually her first programming experiment.

She had tried something.

The computer rejected it.

She changed her idea.

The computer accepted it.

Donald wasn't merely teaching her the syntax of strings. He was teaching her to recognize her own discoveries.

The second discovery: the space

Now the same problem appeared again.

She needed a space before the stars.

But this time, Donald did not rescue her.

The question itself contained a clue.

She had already identified the object she needed:

a space.

Soon she discovered that a space could live inside quotation marks just like a star:

" "

And that tiny discovery unlocked the whole picture.

The “nothing” between the left edge and the first star had become something the program could manipulate.

A blank space was no longer merely absence.

It was a character.

Then came the loops

The triangle required repetition.

One row.

Then another.

Then another.

At one point Tianjing recognized the idea before she could remember its name:

“We have something to do this repeating thing, right? That thing right?”

She couldn't remember:

loop
for loop
or even the Chinese word 循环.

But she remembered the concept.

And gradually she learned to see the structure:

for ...
├── this is inside
├── this is inside
└── this is inside

this is outside

The indentation was no longer decoration.

It determined the body of the loop.

The finished program

Her submitted solution was:

for r in range(7):
for _ in range(12 - r * 2):
print(" ", end="")
for _ in range(r + 1):
print("*", end=" ")
print()

There are several beautiful ideas hidden inside this tiny program.

One outer loop
for r in range(7):

Tianjing made the natural conceptual decision:

one iteration = one row.

One inner loop for spaces
for _ in range(12 - r * 2):
print(" ", end="")

She discovered that the number of leading spaces decreases as the row number increases.

Another inner loop for stars
for _ in range(r + 1):
print("*", end=" ")

She discovered the second pattern:

1, 2, 3, 4, 5, 6, 7

stars per row.

And finally
print()

The newline belongs after the two inner loops.

The triangle is therefore not merely a picture.

It is a description of a pattern:

Each row consists of some spaces, followed by some stars, followed by a new line.

Tianjing had begun turning a visual pattern into an algorithm.

Then Donald changed the game

The next class did not continue working on the triangle.

Tianjing had already done well.

So they moved on.

They played with a random walk using Python's turtle and random:

from turtle import *
import random

speed(3)

for _ in range(100):
r = random.randint(1, 100)

if r % 2 == 0:
right(90)
else:
left(90)

fd(30)

exitonclick()

For the first time, Tianjing watched her own code produce behavior she could not completely predict.

A random number determined whether the turtle turned left or right.

And suddenly she began asking questions such as:

“Should this be random?”

“Should that be random too?”

Those questions marked another transition.

She was no longer merely asking:

“What does this line mean?”

She was beginning to ask:

“What happens if I change the rules?”

She carefully experimented with:

speed,
step length,
number of steps,
and the degree of randomness.

The program became something she could play with.

And then came one more discovery

Tianjing had always been able to see the result of her code in the Python window.

But now she learned how to record it.

She discovered that the moving turtle could become a video—something she could share with other people through Slack or WhatsApp.

Her reaction was:

“还能这样啊?”

“Wait… you can do that too?”

That sentence may be the most important line in the entire exhibit.

Because she wasn't really discovering a video-sharing feature.

She was discovering a new possibility:

I can make something happen on a computer.
I can watch it happen.
I can capture it.
And I can show it to someone else.

The boundary between learning, making, and sharing had suddenly become much larger.

What this tiny triangle really represents

It would be easy to look at Tianjing's homework and say:

“She learned nested for loops.”

That is true.

But it misses the important part.

She learned something deeper.

When she didn't know how to print a star, she experimented.

When she didn't know how to print a space, she asked.

When she couldn't remember the word “loop,” she still remembered the idea.

When the turtle started walking randomly, she began wondering which parts of the program should be random.

When she discovered video sharing, she realized that the thing she had made could leave the Python window and enter the world.

These are not isolated programming tricks.

They are pieces of a much larger habit of mind:

I don't know yet.
Let's try something.
Let's see what happens.
Maybe I can figure it out.

The real artifact

The stars are the visible artifact.

The code is the technical artifact.

But the real artifact is invisible:

Tianjing's growing belief that she can figure things out.

That belief cannot be taught by explaining everything immediately.

Sometimes it is built by leaving a question unanswered for a little while.

Sometimes it is built by letting a failed experiment remain hers.

Sometimes it is built by asking:

“You figured that out yourself, right?”

even when the student doesn't yet believe she did.

And sometimes it appears in four simple Chinese characters:

还能这样啊?

That is the sound of a door opening.

Museum note

Learner: Tianjing
Age: 13
Medium: Python, nested loops, turtle, randomness, experimentation
Exhibit type: Learning in progress
Date: August 15–16, 2026

Key ideas discovered:

" " · strings · print() · for loops · nested loops · indentation · loop bodies · patterns · conditional decisions · even/odd · randomness · experimentation · turtle graphics · recording · sharing

Most important discovery:

“I can figure things out.”

And perhaps that is the most valuable program a young learner can ever run.