The Slanted Bar
The homework sounded simple:
Draw 3 bars to show 3 random numbers.
Enning did something else.
She generated three random numbers—but instead of simply drawing three ordinary bars, she created several geometric shapes. One of them was visibly slanted.
Donald looked at the code and wondered:
What happened here?
The mystery lasted until Donald asked Enning directly in class:
“Why is one of them slanted?”
Her answer was simple:
She did it deliberately.
The “wrong” bar wasn't a mistake.
It was an artistic decision.
The next day, Enning redid the program.
This time, each random number became the height of its own bar-like shape. The three numbers were clearly represented, while she still drew the shapes in her own way.
Then the class moved into 3D.
She learned about WEBGL, orbitControl(), coordinates, axes, translation, and cylinders. Her next challenge became:
Show 3 random numbers with 3 standing cylinders on the X-Z plane.
After yesterday's surprise, Donald repeated the instructions many, many times.
Three numbers.
Three cylinders.
Standing.
X-Z plane.
😂
But perhaps that was part of the lesson too.
With Enning, the first question cannot always be:
“Is this correct?”
Sometimes it has to be:
“What were you trying to do?”
A surprising result may be a mistake.
Or it may be an idea that the teacher hasn't understood yet.
Enning is learning to translate imagination into code. Donald is learning to look for the imagination inside the code.
The goal isn't to make her predictable.
It is to help her become better at turning her unpredictable ideas into things other people can understand, explore, and build on.
A simple programming exercise can become an unexpected piece of creative exploration.
Give the learner a clear constraint, then ask what she intended before correcting what she produced.
Education works better when we discover the learner's thinking instead of assuming it in advance.