Using NAO in the classroom
This year, our school bought a couple of new ‘toys’ for the classroom, to be used as little ambassadors for CS and physical computing: twin NAO robots. During 1st quarter, I used them to do mini-lessons with the 6th graders to teach them about various programming concepts, and teamwork, and to have a little fun. They are very engaging devices. I think some of the kids fell in love, and I got many inquiries about whether they could take more computer classes to continue working with NAO.
They’re not easy robots to learn. They work with a language called Choregraphe, which is a block-based language with wires like LabView. If you dive into the blocks, there is Python code. My huge CS teacher confession is that I have never actually learned Python. It looks straightforward, but it’s overwhelming to add the new text language on top of the block language and other technical issues that came with programming the NAO – booting it up, connecting it to a network, understanding the center of gravity and the fall sensors, and so on.
But as with everything else, I knew I would never actually learn the robot unless I had a compelling reason to, so I told my Robotics Engineering class we were going to put away the Legos for a few weeks and do a unit on NAO programming. I don’t know if I came off as knowing what I was talking about. I told them we would make the robots dance and use the sensors and do a project. They needed no convincing.
For the first project, I used the little NAO curriculum that Aldebaran sent us, and put together a tutorial on how to make the robot dance. I divided the kids into groups and asked each group to create a short dance sequence of 10 seconds or less. We would string all of the sequences together into a long class dance.
It ended up being a really interesting activity. It exceeded my expectations.
The students created their dance moves in the virtual robot in Choregraphe, and then had to test it on the live robot. If the robot lost its balance and fell over, I made the students fix the program and bring it back when it would run without the robot falling. It took quite a lot of time for the kids to take turns on the real robot, so if your program didn’t work, you made fixes and it could be a half hour before you could try it on the robot again.
However this created a really interesting problem-solving dynamic. Kids are used to getting instant feedback on what they try – through online math exercises, games, quizzes – the “gamification” of education is a powerful motivator. But when the feedback wasn’t instant, they were motivated by quality and care – not speed or trial-and-error. I remembered when my dad said he had to create punchcards for his programs and then fly them to Kansas City to be compiled on the punchcard reader. Talk about a long feedback cycle – his punchcards had better be perfect or else the trip was wasted! Similarly, after the kids saw their programs failed once, I rarely saw them fail twice. They brought the programs back after more thorough testing and analysis showed they would not make the robot fall over. I saw some very careful work going into every frame of movement so the robot would stay standing.
So while I love the ideas behind gamifying your classroom, I believe there’s something to be said for activities that reward precision and diligence rather than instant gratification.
I don’t know if I could articulate what skills or concepts I was teaching the kids, but the lesson created some excitement and suspense. It was also really difficult for classroom management. Once a group was done with their dance moves, some kids caused a little trouble with each other – horseplay and such. I was consumed with unzipping files and bringing them into the Choregraphe software, and giving feedback to the kids, so I let things be more rowdy than I was comfortable with.
I’m totally building this plane as I’m flying it. I am learning a lot more this way than if I were exploring with no urgency or purpose, but it’s stressful. The next lesson I will do with the kids is to have them make a speech-recognition program that has the NAO ask trivia questions. I will blog about it then!