How to teach kids to program

Usable tips also applyable to grownups?

Jessica Ellis gave a lot of great tips on how to teach kids to program at Techorama 2017 in Antwerp. She has ben an active teacher in the tkplabs.org society and introduced something clever called “barbecoding”. In an attempt to create an appealing programming camp for boys and girls, she successfully combined food and science. She shared her story in an hour and I did my best to extract the most important principles as I thought it might be a great idea to apply that to our team in my daily work as a software developer.

Why would those principles only apply to kids?

1. Do Hard Things (and have food)

Don’t treat people as you categorize them. Do hard things, even if you think they are not capable of doing something like that. Don’t label them as “smart” - the brain will become wired for failure and they’ll be scared to make mistakes.
The food part is especially interesting as I’ve read in some management book years ago one concept called “do food”. Bring (home made) food to a meeting - it immediately breaks all ice, effectively. Since then, I constantly rely on homemade cakecups to ease other’s minds. It really does work and it’s a lot of fun to make.

2 Work in a group (failing in a group > failing alone)

Pairing and mob programming can be done with kids and enables them to learn faster (from each other instead of only from the teacher or themselves). It’s also less bad to try and fail: at least you’ve failed together then.
I successfully used mob programming as a teaching instrument at work. It makes the problem less daunting for someone who isn’t eager to speak for a group.

3 Be Surprised (laugh a lot)

Life is full of surprises. Be genuine.
Stop taking everythig seriously. Something I love to do: inspire others to laugh more - at themselves, at me, at the situation we’re in. And then get to work.

4. Feel Powerful (never say you can’t do anything)

This is extremely difficult for grownups and I still can’t wrap my head around the why. “Oh but I can’t do it as good as you” or “you are the expert, I wouldn’t be able to do such a thing” or “no, I can’t do that, I’m not smart enough” are sentences I hear on the workfloor every single day. And that’s very very saddening because I’m not smarter than anyone else - in fact, I’m convinced I know less than they do - I just manage to get away with it.

Recognizing talent and mentoring them to become teachers themselves is something I have to do more often - that means less work for me.

5. Show Your Work

Reminded me of Austin Kleon’s show your work - a lovely book that inspires to put stuff out there, like this very blog or my “bad” drawings. I love to show my work, but grownups tend to think someone shows their work because he or she wants everyone to know how great they are.
Maybe. But foremost, they might want feedback. And get better. And that means, they need your help. So stop that train of negative thinking and start helping. Stop saying “my work is redundant, it’s nothing, it’s not showable, nobody would like it” and start putting stuff out there.

6. Unplug & learn without a computer

Computational thinking can also be learned with the help of post-its, some yarn, a thread and some markers. Your cognitive process picks up things a lot faster if your body is doing stuff instead of yawning at a computer screen. Get up and move. Pair more strictly: set a timer and require everyone to physically move.

It was very inspiring to see what Jessica and her team of teachers (15 year olds by the way!) managed to do. I know I’ll be trying to incorporate the rules stated above in my daily work, even if I’m not directly working with kids.