Starting From Scratch

I am trying to teach myself how to become proficient in a computer language called JavaScript. Sometimes, I stare at the ceiling instead of my screen.

Frustrated with my struggles with JavaScript’s complexities, I like to imagine myself as a young Hufflepuff working my way through the slow and methodical mastery of spells at Hogwarts. I like to think computer programming and wizardry have a lot in common. Programming is a skill that can make you more powerful but it takes hard work and dedication. And, once acquired, you need to remember to use your powers for good.

I want my children to be good, kind, and capable wizards when they grow up. In other words, I’d like to introduce them to computer programming.

My kids – a boy aged 7 and a girl who is 5 – see me every day either in front of the desktop computer in the kitchen or on the sofa with my laptop. Maybe it’s the familiarity, but they don’t find my computer work interesting. Unless they hear a sound from my computer, because that means a video from YouTube is being played. And of course they run to investigate.

But whenever I’ve shown them code (“Look what happens when you press Control-U on a webpage!”) they quietly wander off before I can even engage them with what it means.

So I tried again using a slightly different tactic. One Sunday, I sat down in the kitchen and brought up MIT’s Scratch website. Scratch is designed for kids between 8 and 16 to learn about the basics of programming by making multimedia. I had heard about Scratch before but this was the first time I actually sat down and tried to make something myself.

I figured out some of the basics – such as how to move the cat ‘sprite’ on the screen and then how to make it ‘meow’. Once there was sound my kids sidled up to investigate. My 7-year-old asked me if I could make something other than a cat. So I opened up the folder and we investigated together. I can’t remember who was taken by the buffalo ‘sprite’ more — me or him — but he quickly became the second actor in our scene.

My children’s interest lagged while I struggled with what is known (in the parlance of gaming) as ‘collision detection’. I wanted the buffalo to move towards the cat and when they touched, I wanted the cat to meow. It took some trial and error but eventually I figured it out and ended up with this masterpiece:

Since then, I’ve occasionally asked if he’s interested in making something in Scratch again. Every time, he shrugs and asks if we can play a game instead. I haven’t pressed him on it because I figure that he’s just not that into it now — I should just wait and re-introduce it again in a year or so. Just to see if he can see its potential for MAGIC.

One of my struggles in learning JavaScript on my own (once the kids are in bed and my husband is watching TV) is that it’s not only frustrating working through code. It feels kind of lonely too.And the research backs me up here. Pair programming – working side by side with someone – makes for more positive experiences when learning how to code.

I think our next project in Scratch is going to be something that we work through together. And it will probably involve wizards.