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.
A space to work in, tiled floors can be handy for calibrating moves
Iterative or Design process
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.
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.
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”
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.