I love volunteering for this event because I get to be around the younger kids learning valuable life skills – namely how to program a computer. The teaching aspect excites me and I enjoy having my eyes opened by the students. There’s always at least one of them with striking insight – I know they’ll go far.
I would like to share the structure of my presentation. This will help you understand why I do what I do.
How I Got Started
Middle school children don’t want to hear about your life story, so I make the introduction very quick and dive right into the session. I like to share how I got started working with computers. I show them a picture of my first computer and some screenshots of the games I used to play.
I started just playing and then tinkering with the machine. It’s important to develop an interest at the start and playing games is a good way to do that.
Computers In Our Lives
I like to ask them what this is a picture of. Computers touch almost every aspect of modern living. The question isn’t so much what you can do with code but rather what can you do that doesn’t involve code.
The basics are then explained – code is simply instructions given to a computer. Programming languages are just different dialects – just like English, Spanish, Russian, etc. I like to use the metaphor of a recipe or driving instructions. Think of writing code like you are telling the machine what to do in a step by step way just like baking off a recipe.
I’ll show snippets of code in various programming languages – even if it is just Hello World. I often like to grab the HTML from the school’s site and show them what is under the hood.
Some other things I present:
- The principle of breaking down big problems into smaller problems and solving them
- The concept of a variables and assignment – like Algebra – assignment for an unknown or changing value
- Conditional statements: if / then / else. Control flow.
- Repetition – looping – do this until this condition is met then…
- Abstraction – the main part of OOP. Managing complexity through suppression of detail
- Libraries – not the places with books that nobody goes to but building off other people’s work. APIs.
Thought Experiment – Program a Robot How to Take a Shower
This is my favorite part. It is the most interactive and usually sparks everyone’s attention. This is what I look forward to most when presenting at the Hour of Code.
Computers are dumb and only do what you tell them to do. I present a though experiment that involves programming a robot to take a shower. I act it out as the robot and the students shouting out instructions. Usually I prep them with:
- Walk into bathroom
- Turn on the shower
- Take the soap in your robot hand…
In order to get them to understand you need to spell everything out for a computer program to work, I ask them to instruct me the robot to shower. I have a few surprises that come up each time.
- When they tell me to walk into the shower I walk forward and hit a wall. They’ve got to give some measurement for how much walking gets me into the shower
- How do I turn on the shower? Turn the handle? Ah you mean I take my robot claw and place it around the knob and rotate counterclock-wise until water comes out
- Invariably they forget some basic things – a lot of times I give this they forget to tell my robot to take off his clothes. Who showers with their clothes on? When applying soap I make them give specific directions on how to move the soap along my metallic body.
Why Should Students Care About Code?
I know everyone won’t go into a career involving writing computer code; however, I emphasize that anyone can learn to do this – it isn’t magic. Nor is it a fringe topic – it is becoming a foundational topic. If you’re not involved in the creation of future technology then either someone else will, or worse – nobody will.
I remind the students about the time before iPhones and Wikipedia. At some point, someone had to make that. Hour of Code provides an opportunity to plant seeds in young students who will one day program the flying cars and life saving medical devices that I’ll need.
Thanks for reading!
If you liked this post then you might also like my recent post about Hour of Code 2018
Do you care about InfoSec and Privacy? Then YOU need to use a VPN.