When introducing kids to programming, it’s helpful to get them into the mindset of programming. Having this experience will help them to get the concept that they are in charge of what the code does. They should also see that there is a lot of programmed behavior in the devices and systems in our lives.
Supplies:
People
Paper
Pens/pencils
A space to work in, tiled floors can be handy for calibrating moves
Tools
None
Concepts
Programming
Communications systems
Iterative or Design process
Time frame
This takes at least 20 minutes to explain and do. After that, you could use it as a filler activity, where you use it to illustrate a concept in the language that you are learning.
Mastery Objective
Students or participants will know how to create a very simple programming language so that they can command another person to perform simple tasks and explain where programming is present in other parts of their lives.
Process
Have participants get together in groups of twos or threes. Big groups don’t work as well.
Each group will need a piece of paper and a pen or pencil
Each group creates their own code of simple commands.
Their commands will be written on the piece of paper and then spoken to the programmed person.
The programmed person should not have to read the code, it should be transmitted to that person verbally, or on slips of paper in a sequence.
The programmed person will then carry out the written code as accurately as possible.
Students and participants should use the iterative process, where they try their program and refine it as they go. If they don’t test out the program, it may not do what they want, their may be miscommunications or sloppy code that the programmed person does not follow well.
Have each of the groups or pairs demonstrate to the rest of the group what they have programmed.
Each group in turn has a person who calls out the code, and another person who executes the code.
Each person should think of several objects or systems that use programming techniques in their daily life.
Keep it simple
Make a code of at least five lines of code, one command on each line.
They should avoid words like: “and,” “next” and “then,” which will have the effect of making commands more complex. Implied in the system is that the next line of code or simple command is “next” or “then.”
Don’t make it impossible
Keep the commands realistic for your situation.
If you are limited on time, they should not repeat movements or events dozens or hundreds of time.
If you are limited on space, they shouldn’t have commands like “run for twenty seconds” or “jump eight feet”
If you have regular human beings, they shouldn’t have commands like “jump up three feet” or “lift the maple table top”
Extensions
You could have them create a common syntax for their code, making it more consistent.
Create objects of groups of participants, that could all be commanded by one person acting as the transmitter of the code.
If you try this out, please let us know how it goes in the comments. Send in some photos and video to the MAKE Flickr pool and tag it with ProgramAPerson.



“Sit in nearest chair”?
Wow, that’s a pretty high-level language. Is the chair-finding algorithm documented?
Is there a mechanism for overriding it with a customized chair-finding algorithm?
Actually, after seeing that come up in class, I strengthened the requirement for simple language. “sit in nearest chair” is an example of language that is more complex than the project called for. The picture was taken after trying the project just once with a group new to programming.
While working with this group, I did catch some language that was too complex, or too specific, some of which resulted in the crossed off sections in the picture. The “take off glasses” statement came from a group that only had one person wearing glasses. I thought it should be a bit more universal than that.
It would be a separate session where IF THEN statements would be explored. I think it would be fun to instantiate a group of objects in this project and have them all do something.
Nice job Chris. Thank you! I’ve bookmarked this and forwarded it to our education staff.
AndyL = wanker
Sounds sort of like Logo and turtle graphics.
// What's Trending
Raspberry Pi Design Contest
Dad Builds Son an Iron Man Arc Reactor
Teardrop Camper Trailer
Seventeen Sneaky Secret Hides
What to do with an 800 Lb Eucalyptus Slab
10 Things to Connect to Your Raspberry Pi
80-Ruxpin Art Installation
3D Printed Kinetic iPhone Cases
// What's Shared
A better way to slice a pumpkin
DIY Nerf Darts
100 Dollar Store Organization Ideas for Craft Rooms and Beyond
In the Maker Shed: Minty Boost USB Charger
Mad’s Mouse House
Lace Princess Crowns
I Have a (Puzzling) Dream
Play the Rings of a Tree Trunk Like a Record
// Most Commented
Plastic Bags into Plastic Blocks: Revisited
10 Hot New Boards to Watch
Why the Maker Movement is Here to Stay
MAKE Asks: Roadside Hacks
Ten Tips for Hand Saws and Blades
DIY Hacks & How To’s: Convert From Battery Power to AC
How To Make Your Own Laundry Detergent
What to do with an 800 Lb Eucalyptus Slab
Trending Topics
Get our Newsletters
About Maker Media
Subscribe
to MAKE!
Get the print and digital versions when you subscribe