I have done similar things in the past with kids based on seeing Seymour Papert videos where he has children pretending to be the "turtle" and the other children give the commands.
Besides being a lot of fun, I really think the kids learned a lot and got a feeling of success.
Here is a list of some of the things kids came up with:
- Created Looping techniques
- Repeat 4 times: walk 2ft
- Came up with the idea of using coordinates to program the Robot (ex: goto 1,0 - an actual good use of goto :)
- Measured the whole path, drew models of the path with measurements and planned out everything on paper before writing the program
- Came up with various sensors (ex: sense Obstacle)
- Special thanks to those who improved the sensors and had me stop BEFORE I hit the wall!!!
- Used the idea of Homing Beacons
- Had two styles of programs one where you loaded all the instructions into the Robot, then the Robot followed the instructions. The other interactive where you guided the Robot with voice commands.
- Question, in the above two examples, where was the "intelligence?" In the programmer or in the program?
- Came up with the idea of functions or methods. Higher level commands (aka abstractions) to get a robot to do something (ex: walk = left foot forward, right foot forward).
- Not only did folks walk up the ladder of abstraction as in item 7, one of you walked down the ladder of abstraction and created more detailed command for left foot forward, explaining what each part of the leg had to do to "move left leg forward"
- Last but far from least, you made mistakes!!!! Woohoo!!! Yippeee!!! If you don't make mistakes, you are not learning. Of course that's only true if you learn from your mistakes. But the best is to learn from the mistakes of others, you don't have time to make them all yourself. Feel free to watch me for mistakes, I am a great teacher that way :)
General Techniques for facilitating learning:
- Clap, Clap, Clap - you need this to get their attention and bring a room full of engaged noisy kids to silence and get their attention to make a point or share a really cool thing some kid did. I generally start my first class by staring at the kids and not saying a word. I do this until they start to notice, quiet down and are all looking at me. Then I clap my hands three times and wait for them to repeat. If only a few of them do, I shake my head and clap three times again until all the kids do it. This is usually enough for them to get the idea. I will then do this again when they are not too distracted to get them in the habit. Usually only takes a few attempts and they respond each time after that.
- Give the concept the kids come up with a name. Allow the kids to be the teachers. When a child does something worth noting, do the Clap, Clap, Clap, then say what a great idea
- Catch kids doing things you can compliment them on, ideally in front of the whole class. Once the kids see you complimenting and praising one child they all want it. Better yet, don't wait for kids to be successful, orchestrate their success.
- Lower the Rope - If a task is too hard for some children, give them an easier task. The goal is to make them successful, not to frustrate them.
- Raise the Bar - Plan on tasks for kids who finish quickly or get the solution fast, so that they are challenged and not bored. If appropriate and they could help teach, but you need to train them to teach in a way that builds kids up and helps make them successful.
Things I would do different next time.
- I would spend more time in the beginning letting the kids program me, so I was sure they all got the idea.
- I would also let them program me "interactively" (responding to each command as they say it, rather than having them tell me a bunch of commands at once).
- I would have "lowered the rope" for certain kids and had them program me to walk a straight line to get to a wall, while others were working on the more "complex" challenges.
- I also like the idea from Dr. Techniko of asking kids to program their parents to do something silly or funny.