The fun part was several months later when the students began to notice that while everyone had dozens of stars by their names, one student had none at all. One of the other students raised their hand and asked her about it in front of everyone else (I was amazed the teacher had never noticed). She was upset and berated me about it in front of the class, then sent me to the Principal's office. I knew instinctively that she was totally fucked for being so clueless, and I happily explained exactly what I did to the Principal and later to my parents. I wasn't in trouble and I knew it. About a week later a new teacher was brought in and she was great, she interacted with the class and I started participating because class was once again more interesting. I don't know how a teacher that bad ever got hired, but at least the school did the right thing later.
A great feeling to have. I remember a similar teacher who could probably account for the death of ten trees every class with the reams of worksheets she'd hand out. Asked to speak to her before class to see if I could be moved as our 'teaching/learning' styles didn't link up. She refused to speak in private and insisted I spoke in front of another teacher she was chatting with at the time. Thanks, you've just given me an audience I thought. Was cheeky in the way I spoke, was sent to principal who was very straightforward in saying that this teacher was on her way out and his hands are tied to do anything about her. Asked me to apologize for the cheekiness (insincere apologies from teenagers? par for the course really) and then was happily moved to another class. But anyways, enjoyed that feeling of 'I know I'm not in trouble here'.
The issue is more about public education policy and the millions who don't make it to higher education, or who waste it. And all the lower level classes that don't amount to anything.
For someone to amount to something, they need to be productive. If you have a job, you know this by heart. Your production is the amount to measure, just as an artist is measured by their paintings. And to say mathematics or programming is about learning before building is total BS. Most self taught programmers do so building things. Engineering requires understanding, so if you've engineered it, you've acquired the knowledge.
If something has no productive value, then it would have no value (beyond academia). So the key is simply this: Make sure to arrive at productive value before the end of each course, and let students experience the production of it.
Of course there are better schools, better classes, and better teachers who practice this. There are students who get it, and already do it without being told. It's just that the whole paradigm is still backwards.
I liked the example where you said the student painted pixel by pixel. If it was a forced assignment it would have been intellectual torture, but because it was something the student came up with as an outlet to their creativity, something tedious became enjoyable.
For me also, the moment when I saw my student creating something so cool was breathtaking. It also proves so many of my fellow colleagues wrong, who keep going on that today's students don't have the motivation as they used to in the past.
Seeing the results pop up on the screen was certainly a highly-motivating factor (and satisfaction with text results from algorithms came later ;-) )
Working with shapes to learn programming makes a lot of sense to me.