Teaching Kids to Code

Before my family had a computer, I knew I wanted to program. I told that story in an earlier post. I’d like my kids to learn to code as well–but they’re growing up in a world very different from that of my childhood, and I haven’t been sure how to recreate for them the empowerment that I felt. I think I’ve found one “magic bullet” entree to the game, and am sharing a brief review of it and of several other resources.

BitsBox

First–our first BitsBox arrived yesterday, and our kids (7 and 6) love it! The company delivers a highly-scaffolded programming environment. The first project has the child type in two lines of code to draw a monster on screen, and then have him burst into flame on a tap. And then, there’s a question: can you make the monster dance instead of burning? And the learning begins.

What I’ve loved about our kids’ interaction with BitsBox so far is they’re exploring. One didn’t like the music that came with the first assignment, so I helped her figure out how to play something else instead (choose a different name from the library and use the song function). Another wanted the monster in another assignment to say something besides “peekaboo”. She tried sound(“hi, you”), but there wasn’t a sound by that name. But, text(“hi, you”) worked to display a message!

Most learning comes from wanting to accomplish something, and then figuring out how to do it. I’m ecstatic that BitsBox seems to be facilitating this kind of learning in our kids!

I hope that BitsBox adds layers of complexity as it progresses, but for the moment, it’s lovely. It even allows kid coders to share their apps with other people, via email or QR code scan. It’s a monthly subscription, our kids are excited about it, and therefore I’m excited about it, for now. I don’t have an affiliate arrangement with them, so no kickbacks are involved in this review. 🙂

Note that both of our kids are proficient readers, and comfortable with the idea of keyboards (though still slow, hunt-and-peck typists). Those are likely prerequisites to enjoying BitsBox, as is the occasional (though not extensive) involvement of an adult “coach”.

Robot Turtles

We got the Robot Turtles board game a while ago. The basic idea is similar to the old “Logo” programming approach: you create a set of instructions for a turtle to follow on its way to the prize. Except, in this case, there’s an adult, the “Turtle Mover”, involved, who “executes” the instructions (potentially including loops and maybe other constructs), making suitable dramatic noises as the turtle turns, moves forward, activates lasers to blast through ice walls, etc.

Our daughters enjoyed this game. I loved the idea. But the “problem space” felt a bit too simplistic, and–I’ll admit it–the role of the Turtle Mover doesn’t get more interesting with time. It still, though, might be worth a try for you. The pieces are lovely, and our daughters enjoyed it.

Lightbot and Lightbot Jr.

This is a great little “puzzle” game for mobile. You give instructions to a robot, which then executes them to turn on all the lights in a “board”. The boards, of course, increase in complexity as you progress, and new options and coding constructs become available.

Links:

Scratch and Scratch Jr.

These are free programs to let kids play with programming. Scratch Jr. is completely graphical; Scratch includes some text, with substantial graphical elements. They’re terrific environments for free-form programming. Our kids have played with Scratch Jr., but haven’t tapped much of the potential, and I haven’t been equipped to guide them. I have a book from No Starch Press on the way that I hope will help me with that. (They also have books on Scratch.)

Other resources

Khan Academy has a course in programming that uses JavaScript and graphics extensively. CodeCombat is a paid subscription that includes a lot of scaffolding. CodeWizards HQ appears to have actual online classes for kids in programming. I haven’t tried any of these.

If you search for “teach children programming” or “teach children Python”, you’ll find an abundance of resources.

Your recommendations?

If you have personal experience with other resources for teaching kids to code, I’d love to hear about them in comments!

Hope’s Hard Edges

Photo by Josh Nuttall on Unsplash

Around the year 2000, I stopped listening to most contemporary Christian music. I’d enjoyed some of the upbeat rhythms, some of the sentiments…but I found myself listening to the most recent WOW collection and nauseated at the sugary, substanceless positivity that I heard. It wasn’t good Christian music. It wasn’t good art of any sort. It was a lie.

The story is told that Siddhartha Gautama grew up as a privileged prince, carefully isolated from the outside world to protect him from physical, mental, or emotional harm. But one day a funeral procession went by outside the palace, and he realized that a world of death existed outside. His ensuing grappling with suffering, we’re told, took him a long way from the palace and into reality, and produced the eightfold path of Buddhism.

The story is told in other forms. In Watership Down, the wanderers find a warren where everything is peaceful, there are no predators, and all eat well…but learn that scaffolding this peace was a maze of farmers’ snares, and a code of silence about them. The peace of the warren depended on it. In The Stepford Wives, a couple moves into an idyllic suburb. The charm and competence of their neighbors is delightful, and incredible…and then the cost becomes clear.

Ursula K. Le Guin, in her haunting fable The Ones Who Walk Away from Omelas, imagines a society of broad freedom, aesthetic delight, and human achievement, and of all those in it. (Search out the story and read it. Really.)

Hope nauseates me. Hope keeps me sane and alive.

Real hope begins with what is true–with the sadness, the horror, the fear, the pain, the injustice that are endemic to the world. And it somehow, often ridiculously, holds on to a belief that things can, that things may, get better. Somehow. Through one’s own actions, through outside factors, perhaps through both.

And there’s the other kind of hope, that is no hope at all. The “hope” of convincing oneself that nothing is wrong, and that no solutions are needed. The hope that tells the musicians in the palace to play more loudly as the funeral procession passes by outside. The hope that proffers weary and worn-through “spiritual” prescriptions to the starving of body or soul. The hope that tells others “be warmed and fed” and prays earnestly for their good, and goes on its way knowing that God is in control and all shall be well. The “hope” that rejects hope, for there is nothing to improve on and nothing to hope for, that constructs an inner idyll as it destroys the world around it.

“Now faith is the assurance of things hoped for, the conviction of things not seen.”

I see the shadows. I’m immersed in them, surrounded by them, even suffused by them. And yet, I act in hope. In hope that the flickering particle of light in me is real, that it might survive, might strengthen others, and that someday it will, somehow, be meaningful. And that the presence of shadows may indicate a light source–and that that possibility is worth everything. Worth survival, worth pain, worth kindness and integrity.

But don’t tell me that all is justice and peace, for there is no peace. If redemption comes, it will come for reality, not for fantasies. It will come for the hard edges of pain and truth, not for the spun candy of niceness. It will incinerate imagined worlds, leaving only the glowing gold of reality. It will come through people who know reality, and live in it.

I do believe in a metaphysical reality–but in that reality, a transcendent God chose to enter, and to submit to, reality as we know it, and worse than most of us know it. God chose to enter human life as a Jewish man under Roman occupation, to become a political victim both of Rome and of Judea, and to be tortured to death. And in Jesus’ death and resurrection (I realize I’m losing some people here, and perhaps gaining some back) and the inauguration of the Church, God’s metaphysical involvement with the world quickly returned to deep, empowered engagement in a very human and physical world. As one of the New Testament letters noted, “How can you say you love God, whom you can’t see, when you hate your brother, whom you can?”

Hope is real, or we are hopeless. What is real, hurts. Hope has hard edges.