Explaining Programming to 6 Years Old Kids
Tomek Kaczanowski Apr 6 '17
The task: explain what you do at work to a group of 6 years old kids.
Level: high (my own daughter was among the kids).
Many people shared their ideas of such “lectures” – you can find some really interesting examples on Stack Overflow (e.g. here). Many of them are based on the idea of presenting how computers are stupid and that you need to tell them very precisely what and how to do things to succeed. Fun guaranteed, but I seriously doubt if afterward kids understand anything about programming.
My ideas for a successful presentation were:
Keep them engaged by asking questions and drawing. The original drawings were pretty big (flipchart) and I drew them while talking – which BTW is a nice way to keep a young audience engaged (they had so much fun laughing at programmer straw man or pointing out that Peppa Pig doesn’t look like this, etc). I do not have the original drawings (forgot to take pictures) but I drew them once again so you get the idea.
Build upon what they already know (YouTube, laptops, tablets, DVDs). Nowadays every kid watches cartoons on YouTube, plays games on tablets and observes mom or dad working on their laptops. They also know the movies are kept on CDs/DVDs and that the smartphones and tablets are pretty similar (when it comes to games and movies).
I started with the basic question, “Who knows what a programmer does?” I knew they had some discussion about this yesterday so I wasn’t surprised they had some idea. I gave them my own definition: “Programmer is someone who writes computer programs, who knows the languages used to tell the computer what it should do. A programmer knows a lot about computers.”
Then I draw a programmer at work.
The next step was to discuss computers. All kids started talking about laptops of their parents (it is really lovely how they mention the same thing over and over again). I interrupted after some time pointing to them that there are many computers in different places – like smartphones or watches, but also in cars and lifts. I draw each of the mentioned items and discussed in few words what a computer is used for in each case. I also asked them how they think the weather forecast works (one smart kid answer: “the satellite knows what the the weather will be the next day”) and told them about computer calculating the prognosis based on data coming from thousand of measurement devices.
I wanted to move to computer programs next so I mentioned that computers do what they do thanks to the programs which instruct them to do certain things.
I moved to YouTube because I knew they would know a lot about it. I started by drawing UI that they are all familiar with.
I asked how many movies there are on YouTube. Some of them were confused, but a few shouted “millions” or “infinity”. So I asked if it is possible that all the movies fit on one disc. Then I drww many discs and asked “how it happens that after you tell YouTube to watch certain episode of Peppa Pig it finds the right disc?” They responded with silence so I draw a database and quickly described its role.
I wanted to give them some idea that what they see is only a tip of an iceberg and that the programmers are responsible for much more. I explained how we must take care of various stuff like:
- protecting the movies against bad people (“what would happen if someone changed the database so that instead of Peppa Pig you would see some football match?” – answered with horror silence)
- making backups (“what would happen one disc broke? then you would never be able to watch this Peppa Pig episode in which Daddy Pig tried to hang a picture?” – horror silence again)
- so that YouTube works on different devices (smartphone, tablet, laptop)
- presenting ads
- counting the number of people watching each movie
- showing thumbnails of similar movies, etc.
This was a good time to remind them that the programming is teamwork. The programs are big and demand knowledge of different areas so that many people are involved in their creation. At this point, I updated the first drawing, adding another programmer so that two were sitting close to each other.
The next topic was how computers work – very roughly of course. All I told them was that:
- mouse and keyboard are for people to give commands to a computer
- a computer screen is for computers to respond
- inside every computer there is a processor (you can think of it as of a brain of the computer)
- there is also some disk which allows computers to store information
I concentrated on processor telling them that it uses a funny language which consists only of zeros and ones. Then we had a bit of a fun when I pretended to talk in a language using only As and Bs. Then I explained that the programming languages used by programmers were created so that it is easier to talk with processors.
I followed with the simplest possible examples of programming languages statements (using some pseudocode). I wanted to show them some more but I felt they were losing their focus so I did not even present the for loop.
To finish my lecture I drew, once again, symbols of what we talked about. I drew them one by one and asked questions like “what is this?” and “what do you remember about it?” and so on. It went pretty well.
Additional comments, do’s and don’ts, tips & tricks:
- It was more fun than I expected! I treated this seriously and I was well prepared, and it paid off. The kids were interested and I think they might even remember something. 🙂
- Drawing pictures is the right way to go. It grabs their attention and lets me remind them about things we have discussed few minutes ago by pointing to a certain drawing.
- Be prepared for repeating things over and over again. When I asked about languages they know then one guy raised his hand and said: “I know a little bit of English.” And then his colleague did the same. And then one more. And another. And then rest of the group joined one by one (or few at once). All saying exactly the same about English. It gets even more chaotic when you touch the subject they love like cartoons.
- Some kids will get bored no matter what you do. Their attention span is simply too short.
- Write carefully – e.g. they will protest when you write 1 so it looks like 7.
- During the presentation I understood that there is no point in correcting them – for example, I think they understood that YouTube keeps cartoons on DVDs and when you ask for one then computer selects the right disc and plays it. I think this is perfectly fine. I wanted them to understand the concept (how the search looks like and what does a database do) and not the technical details. I feel this is the right way to go.
- The presentation took me ~25 minutes. No sense to make it longer.