Coding for kids

My daughter Iris is 7 years old and sometimes I ask her, just for the fun of it, what she wants to be when she grows up. Sometimes Iris is going to be a police woman, sometimes she wants to work with pets, and sometimes she wants to be a superhero. Sometimes she says: “Or maybe I am going to do what you do, mommy.” This always makes me smile. Then she adds: “Then we could work together, wouldn’t that be fun?”

I have promised myself not to push her in a specific direction, so I certainly will give her the freedom to do that and help her with it, or let her go in a completely different direction. Having said that, I have always wondered if she’d enjoy programming and enjoy the abstract thinking that goes along with it.

Recently, Ed Price brought to my attention that Microsoft is putting serious effort in getting kids in contact with programming, often for the very first time. Here are some links:

This has certainly peeked my interest and I was thinking of a way how to adapt that for a Dutch audience, but then I found out I don’t actually need to. If you live in the Netherlands, there’s something called “codeuur” (hour of code): http://www.codeuur.nl/. That settled it for me, and in the next few weeks I’ll be contacting my daughter’s school and see if they’re interested in me and my husband teaching the kids some programming. The programs I mentioned are well thought out, but given the audience (kids that are approx. 7 years old) I feel the need to provide them with a basic overview of some core concepts.

It was quite clear to me what I’d like to start talking about, and I’ve searched for some nice pictures to go along with that to keep things interesting. Let’s go through the topics and some of the pictures I’ve come up with (at the end of the post I’m including a link to the entire presentation if you’re interested in seeing all the pictures)…

Of course, as we may have learned from “Alice in Wonderland”, a story needs to be told from the beginning. So, I’d like to begin with showing the kids a picture of the first computer in the world, the Eniac, taking up nothing less than an entire room.

Then, I want to move on and show different pictures of different types of computers. I’ve found it’s quite confusing for kids to understand that computers of different sizes all can be computers, so I’ll show pictures of a desktop, laptop/notebook, tablet, smartphone and smart watch and hope that by that time all children realize that those are all computers that can come in quite different sizes.

Then I want to take a look at some possibilities of the now or the near feature and discuss wearables. What about a computer in your glasses, jewellery, or toothbrush?

I also want to talk about what the internet is – all these computers around the world communicating to each other can be visualized quite nicely as you can see for yourself if you download the presentation.

I also want to discuss the “Internet of things”. Some of the kids have probably already come in contact with some of the aspects of it. Maybe their father uses an app to find out where his car is parked, maybe they like the idea of being able to find out the whereabouts of their cat, or maybe their mother uses her phone to turn on the heat before arriving at home.

I want to explain the concepts hardware and software. Concepts quite difficult to explain in words, but quite easy to visualize. Let’s take hardware. I’ve found a picture showing the insides of a computer, this makes perfectly clear what it is.

As far as software is concerned, it is also quite easy to show different manifestations of it, such as a picture of a Mario computer game, or a YouTube screenshot (since most kids seem to enjoy finding movies of small animals), or a screenshot of Skype. Kids may or may not have used Skype, but at any rate, every kid will be able to relate to software that allows you talk to a person and see him or her at the same time.

Having discussed software, it gives me the opportunity to discuss what a person who creates software, a software developer or programmer, is. Of course, this is also an excellent opportunity to have a laugh. So I tracked down a funny photo of a very nerdy programmer (yes, I know, how stereotypical is that).

Since it’s a mini-course about programming I also want to talk a little bit about programming languages. Starting with the interesting fact that a computer only understands zeroes and ones. Then, I’ll show a fragment of a grown-up programming language that I tend to use a lot myself, namely C#. After that, I want to show what a programming language for kids looks like, which is a lot more accessible.

Of course, when the kids start programming it is quite possible and acceptable they’ll make mistakes. Such mistakes are called bugs and I want to explain to them why such mistakes are called bugs.

Finally, I want the children to try out if programming has something to offer them and have fun without being afraid of trying out new things and making mistakes. Especially for the girls, since currently there are still relatively few women out there doing coding. To me, the next picture is as encouraging as it gets:

If you want to download the presentation and check out all the pictures or use it for your own purposes, that’s absolutely fine. You can get it here.