by Cesare Rocchi

Blank canvases for kids

HyperCard didn’t try to teach you coding. It really didn’t try to do anything. It just gave you a blank canvas that you could do anything you wanted on. This had two advantages: You had to work hard to learn, and you also had to use your imagination and creativity to find solutions and build the things you wanted.

Swift Playgrounds: Should we teach coding, or creativity? source

When I learned programming I did it the same way, starting from a blank canvas. Not that I had alternatives. That’s probably why I like exploring, deconstructing and I try to teach such an attitude to my kids.

But what was good for us back in the day doesn’t mean it’s good nowadays. I have grown up thinking that programming is a sort of dark art, and you had to be really motivated to learn it. You had to spend time finding manuals, borrowing magazines and overcome the boredom of copying source code, line by line, from printed pages.

Nowadays it’s quite the opposite. Everybody is pushing you to learn coding, and part of the effort is to provide complete projects, ready to run. This probably leads to the tell-me-how-to-fix-it effect, which I am noticing more and more in people that are learning to code nowadays.

We’ve gone from one extreme to the other. I wonder if there’s a middle ground, that leads to exploration without being overwhelming as a blank page.