DEV Community

Explaining Programming to 6 Years Old Kids

Tomek Kaczanowski on April 06, 2017

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 thei...
Collapse
 
tomchapin profile image
Tom Chapin • Edited

I highly recommend using a children-friendly programming language like Scratch (scratch.mit.edu/) to explain programming to kids.

Don't focus on the low level computer science (like how binary and assembly works).

While that's certainly going on in the background, it's not what programming is really "about". Programming is about applying logic to solve problems.

You can demonstrate simple programming concepts in plain language, like so:

here is a bucket of different colored balls
go through the bucket of balls and pull out each ball one by one
if the ball is blue, then
yell "this ball is blue!", then
throw the ball!

You have an example that is perfect for demonstrating usage of variables, lists, loops, conditional logic, and methods!

You can express this programming example on a whiteboard in plain language, or in any number of actual programming languages.

For example, in Python:

def throw_ball(ball_color):
   print("I am now throwing the "+ball_color+" ball!")

bucket_of_balls = ["blue", "red", "orange"]
for ball_color in bucket_of_balls:
   if ball_color == "blue":
      print("this ball is blue!")
      throw_ball(ball_color)

Collapse
 
johnw71 profile image
John Wingfield

Great post Tomek. I shall try this on my 6 yr old, as she thinks my job is basically watching tv... :)

Collapse
 
oktayacikalin profile image
Oktay Acikalin

My wife thinks the same of me. Do you think, I could try this on her? 😅

Collapse
 
nirajkvinit profile image
Niraj Kumar

:D Same here.

Collapse
 
evanwolf profile image
Phil Wolff

There's an exercise I use where we act out different parts of a computer. Someone plays Customer who sets out the goal. Another plays the Programmer with help from a scribe/coder who writes the steps on a flipchart/whiteboard. Programmer tells the Input to do something, a step from the program. They pass this on to the CPU who says thanks. CPU passes info (like a number to added) to Storage/Memory. CPU does the task (like adding three or four numbers by talking to storage. CPU passes the result to Output who tells the programmer the answer. Fun, confusing sometimes, but you get to deconstruct something and understand about giving good instructions, bugs, etc.

Collapse
 
nsoswald1 profile image
Nick Oswald

One thing I did with explaining some programming to my daughter was to have her "control" a robot. I'm the robot and she has to tell me how to go to the kitchen, open the fridge, and get a drink. She quickly figured out that I would only do the exact command that she told me to do. Some of those were, "walk forward", "lift arm", "open door", etc. It was a great experience and both her and her sister got a huge laugh out of "controlling daddy robot".

Collapse
 
andy profile image
Andy Zhao (he/him)

This is brilliant! Such a good real world interpretation of programming.

Collapse
 
ancadenisabarb1 profile image
Anca Denisa Barbu

I followed the ideas from this post along with the one abover, from your comment Phil. The kids (aged between 9 - 13) were very delighted and they enjoyed the role play.
Thank you for these ideas that worth spreading.

Collapse
 
alt_lv profile image
alt (Guna)

It is related to the topic so i will share it here :)
More and more there are stories on how we teach others about programming and tech.
It started as a book but have became so much more -> helloruby.com/
Perhaps this proves useful ^_^

Collapse
 
amit_savani profile image
Amit Patel

Thank you for sharing helloruby.com. I didn't aware about it!!

Just ordered!!

Collapse
 
rncdev profile image
Ritujoy Chowdhury

Thank you Tomek. Do you think the act of drawing affected their attention in any way? Would pre-printed images be more helpful or it's just irrelevant?

Collapse
 
fakenickels profile image
Gabriel Rubens Abreu

great post!

Collapse
 
oktayacikalin profile image
Oktay Acikalin

I would love to see you and your class in action 😊👍

Collapse
 
greg_graham profile image
Gregory Graham

Great post! I teach Python programming to 6th grade boys, and I will try your idea of drawing pictures and see if it helps.

Collapse
 
patricktingen profile image
Patrick Tingen

Hi Tomek, good post. I once volunteered to work as a "computer dad" at the school of my daughter. Very funny to be working with children of about 6-7 years old. I found their openness lovely.

Collapse
 
kittyhacker101 profile image
kittyhacker101

This kind of reminds me of when I explain stuff to my grandma, because she isn't really good with computers. It's fun to explain what you are doing to someone who isn't good with computers :P

Collapse
 
romswo profile image
Roman Swoszowski

That's a nice approach. Will test it on my kids :)

Collapse
 
jitusonijk profile image
JItendra Soni

Good post Tomek

Collapse
 
dhandspikerwade profile image
Devin Handspiker-Wade

Sounds like it was an interesting challenge!

Just small note:

Then I drww many discs