Find all your DIY electronics in the MakerShed. 3D Printing, Kits, Arduino, Raspberry Pi, Books & more!
ProgramAPerson.jpg

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.

Chris Connors

Making things is the best way to learn about our world.


Related

Comments

  1. AndyL says:

    “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?

    1. Chris Connors says:

      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.

      1. Anonymous says:

        Nice job Chris. Thank you! I’ve bookmarked this and forwarded it to our education staff.

    2. Anonymous says:

      AndyL = wanker

  2. Lukas Steiblys says:

    Sounds sort of like Logo and turtle graphics.