My nine-year-old daughter has had some interest in coding for the last couple of years.
Now bear in mind, at that age, “coding” is pretty much using a program that lets the user drag and drop pre-set commands into a stacked order for, say, a basic (real or virtual) robot to execute:
Forward 1 space
Forward 1 space
Forward 1 space
Turn right
Forward 1 space…
That became more complex with a robot kit that she put together herself, and then could use an app on a phone to control, using upgraded pre-made commands for it to roll forward or backward, make turns, play music, turn on lights if it was picked up, etc.
Which begat Scratch, a simplified coding language–still very blocked out, but now with flexibility within what those blocks make happen–for programming videos and basic games that gives kids the freedom to do a lot more for a final product. Scratch encourages its users to mix and match components of videos and games they see within their small community, and it encourages the users (“Scratchers”) to give credit for where those game/video elements came from for their own remix, which I love.
But today she announced she would like to start using Python.
I’m only passingly familiar with what Python is, but knew it to be a full-on coding language that’s used by adults for real-world applications. This all seemed a bit of a jump to me, but given she could already code in a more advanced system than I ever learned–Gather ’round the rocking chair, chil’ren, and I’ll tell you all about the days of programing in BASIC and Fortran!–and given she’s demonstrated an ability to grasp other things in past years of school that I would’ve thought were beyond her, I figured trying Python couldn’t hurt. That was underscored by her confirming that Scratch itself (or I imagine at least the Scratchers connected there) recommends Python as a good step up the coding ladder from Scratch.
After a couple of failed attempts to download it onto other computers, I opted to just put it on my Windows laptop.
It was a quick download, a quick install, and with the help of a kid-oriented book she has that introduces kids to a variety of coding programs, she was off and running.
How fast?
I’ll put it this way: fifteen minutes later, she called me in to play a game she made.
A game. In this language she only started learning before I began doing some dishes.
Granted, it was a very simple game–There’s a ghost behind one of three doors; which door do you choose to open? If there’s no ghost behind the door you picked, you get a point and go to the next room and are presented with the same scenario; if/when there is a ghost, game over–and she’d copied it directly out of the book she was using, but the point is, she’s typing that fast and accurately and using a highly regarded programing language and making it work for her.
I encouraged her to make sure to read the following pages of the book, that broke down each item of the ghost game coding to explain what did what within the game.
She did.
And then was on to the next program, which surely built on what she had just done.
I told her a few times how impressed and proud I was of her for getting into Python, and it’s true. I don’t know that there are many nine-year-olds who are into coding at all, let alone at that kind of level.
But what I didn’t tell her was good lord, it made me feel like I’d aged a couple more decades when my little girl was making those kinds of mental leaps and bounds and, in a very real way, surpassing me in ability.
At nine.
Good thing I love seeing her grow up into her own (brilliant, creative, curious, funny) person or I might… might be a little jealous of seeing her excel so quickly with this new(fangled) technology.
I may check out Python, as well, just to see what it’s all about. Maybe we’ll see if we can teach this old dog some new tricks yet.
And if not… well… I guess I could always ask her to help me with it.