The Brave Warrior Keeps Walking
When Tianjing's dad first asked for help, his biggest concern was not grades. He wanted her to regain confidence before the new school year. She had been talking less and less at home.
Three weeks ago, Tianjing knew essentially nothing about coding. Since then, she has entered Python, Swift, P5JS, Unix commands, vi, touch typing, complex numbers, DMOJ, and increasingly challenging mathematics.
On the same day she registered her DMOJ account, she began working through problems. She independently conquered DMOJ Problem 3, sorted by difficulty, and then moved on by herself to the correct algorithm for Problem 4.
On the morning of today's class, I saw Tianjing online and asked whether she would mind starting 11 minutes early.
She replied:
βδΈδΌε―δ»₯εβ
("Can we wait for a while?")
When we connected later, she told me:
βI worked on this for hours before today's class but couldn't make it work.β
Her Python program for finding the second largest number was nowhere near compiling. She had even searched through more than ten Python files with cat but could not find the old code for finding the largest number. Some basic syntax had disappeared from memory, including the square brackets for arrays.
But when I asked:
βNo worry. Do you have a solution? Any algorithm?β
she answered:
βI do.β
We went to the whiteboard.
Instead of code, Tianjing drew several rooms containing random numbers: 3, 5, 1, 4...
Her idea was simple: find the largest number, βkillβ it, then scan again to find the second largest.
I immediately understood the strategy.
Then she said:
βIf there is another 5...β
She had found the edge case I had missed.
We wrote down the question she was already thinking:
What if there is another 5?
I showed her one possible way to βkillβ the 5 in code:
box[1] = -1
But I also realized that the implementation was still too much for her to carry independently. So the homework changed.
Keep thinking about your cool solution and playing with it. But it's not homework anymore.
The new homework became much simpler:
Draw bars to represent 7 random numbers.
She drew the first rectangle with a random height.
Then our class ended, and I went to the badminton court with Cindy.
Tianjing's progress is not simply a story of learning more and more subjects.
It is a story of becoming willing to enter unfamiliar territory.
Yesterday, she learned mean absolute deviation βon site.β My own memory was rusty, so I drew what I thought the concept meant and told her I wasn't 100% sure. If it didn't work, we would Google it or learn from another source.
I happened to be right.
Today, Grade 7 was also new territory. She had scored 28/30 on Grade 6 the day before, so either repeating Grade 6 or trying Grade 7 was reasonable.
We chose 7.
The problems became longer and trickier. She moved slowly, but firmly.
That is the confidence I want her to carry into Grade 9:
Not βI already know everything.β
But:
βIf I meet something new, we simply learn it on site.β