Swift Playgrounds - Should we teach coding, or creativity? →
In some ways, Swift Playgrounds tries to follow the legacy of HyperCard (it does have some limited form of sharing and inspection). But in many ways, it fails to do so because it’s so stuck in the idea that we need to teach our children how to code.
I can understand what Taylan Pince thinks, probably because I’ve started my developers day in a similar way.
My first computer was a Commodore 64 my parents received with the purchase of a 12 volumes encyclopedia; in those years computers (any kind of computers) was really expensive here in Italy and, except for (few) persons who need them for working, rarely you can found those piece of tv-attached-electronics in homes.
My first years on those computer go through in the most common way a child use it: gaming, gaming, gaming. I remember sometimes (about one or two times a year) I was able to buy a magazine from “Jackson Libri” (a really popular editor here from ‘80 to ‘90), who contains a cassette with some games (usually, rebranded version of other games: different title, different graphics, same game).
The lack of easy access to games made me thinking about how can I use that machine (which I love) when I’m bored by the games I’ve already played again and again.
So I’ve discovered that computer comes also with an instruction manual; I was not capable to read english, but I had found that if I copy some part of that manual on the computer itself, some cool stuff happen: the computer can start asking a question and react based on what I reply, a balloon appear on the screen and start flying around, or a song start playing. This thing, for my children eyes, was alive: can be teached and can do anything I want.
So, I’ve started in that way: copying the code provided in the manual and trying to change strings in order to understand what those meant; funny thing, I also ignored the fact I can save and restore my programs, so I proceed to copy everything again the next day (if I had performed some cool changes, I had to copy by hand the code on paper - yeah, no printer here).
In those times, you don’t have any chance: your parents probably don’t know anything about computer, and if don’t want to play you can’t do nothing more than picking up the manual and trying something; you’ve to learn programming from a blank sheet, like me and Taylan do.
But today the thing is a little bit different; the childs have access to plenty of content thanks to internet: games, videos, images, any kind of entertaining content. It’s a good thing, I can explain everything to my childs, with the support of different media available online.
Unfortunately, this also mean there are a lot of distractions available: if you put a child in front of something who can’t provide an instant feedback on what they do (unlike a piece of paper with some pencils, or a paint or music application), not a lot of those ones are interested in proceed with this activity, due the lack of real time interaction they require.
So, I think the approach of the Swift Playground application, who isn’t really new if you think about similar apps like Lightbot, can be an interesting way of teaching child the “disassociation” between their interaction (the act of coding) and the result of that activity (seeing their code run).
An environment where the act of playing with a monster (or a robot) can teach not only the basic of coding, but also the not strictly necessity to interact in real time to do something on a computer/device, can be really helpful, before the knowledge of the act of coding itself.
I hope to see a lot of childs start programming, because the freedom to do anything you want simply by typing on a keyboard (or on glass, of course) can unlock the mind and help think to every possible iteration not only in our digital world, but in the real one also.