Teaching STEM Skills with NAO Robots
Middle school educator Frank DiMaria uses robots as an interdisciplinary tool to help students learn problem-solving and gain skills they'll need in the future.
Technology teachers face a number of challenges within the STEM fields, like teaching students how to solve problems and providing them with the skills they'll need to succeed at non-scripted jobs or jobs that may not exist yet.
"There are a lot of jobs where you have to figure out the answer to a problem on your own. Your boss gives you a task and says, 'go do it.' I think the importance of STEM is teaching kids how to identify a problem and design a solution to that problem on their own," said Chad Allen, STEM Coordinator, Fort Mill School District, Fort Mill, SC.
To afford Fort Mill School District students the opportunity to learn and hone the STEM skills needed to succeed in the 21st century, Brian Spittle, our director of technology services, searched for an engaging platform. He wanted a platform that was approachable by elementary and middle school students and that could introduce them to computer programing. He found that platform in Aldebaran's NAO robots.
"One of the things we liked about the NAO is that it is open-ended. It doesn't have to be a rote kind of curriculum. You learn the basics, and then you can used your creativity to really have it do what you want it to do. The student has a lot of flexibility," said Spittle.
The NAO robot (pronounced "now") allows me as a middle school technology teacher to introduce my students to computer programing while they also learn a variety of skills related to STEM. For example, when my students program the robot to walk a geometric shape, they are applying skills they learned in other classes. When they write code for the robot they are applying computer science and basic technology skills, but they are also thinking logically, like mathematicians or engineers.
"Students have to design solutions to problems," said Allen. "It goes beyond algorithms and mathematical thinking. A big part of it is logic and teaching kids how to think. The programing and math go hand-in-hand because there is some computation involved in programing. But I also think there is logical thinking, teaching kids how to think logically about the next step in their coding with the robot," said Allen.
Learning by Failing
One of the most rewarding aspects of teaching with NAO robots is stepping back and observing as students tackle a problem. By its very nature computer programing requires steadfast trial and error. Students write code and test it over and over again until it is flawless.
"A big part of STEM is to allow students to problem solve and to fail. That's important. You have be able to see what's working and what's not working and go back and redesign. That's a huge part of STEM," said Allen. "Failure is OK sometime and we need to teach kids that, because that's the only way you're going to become successful.... It's not always how things happen but how you deal with adversity. That's a huge part of what this kind of stuff is," said Allen.
Clearly NAO robots are ideal for teaching STEM skills, but creative, technically savvy teachers can integrate NAO robots into any number of subjects. A social studies teacher can instruct students to program two NAO robots to reenact the Lincoln Douglas debates. Or a language arts teacher can have her students program one NAO robot to play Juliet to a student's Romeo. "[These robots] allow students to really display a lot of creativity in how they choose to use them," said Spittle.
Spittle gained an interest in NAO robots and their capabilities after learning how researchers in higher education use them to teach children with autism. He attended a demonstration and witnessed the programing and interaction. "It was very humanoid, and it looked very approachable by students," said Spittle.
Since our high school students learn computer programing and robotics as part of their engineering classes, Spittle decided to make the robots available to our elementary and middle schools, where computer programing and robotics was not necessarily a focus. "Some elementary schools have a Legos robotics lab, but most do not. So we saw this as an opportunity to provide something that all of our middle and elementary schools could use to get that introduction to robotics," said Spittle.
When our district did its annual computer refresh, Spittle turned our aging computers into two NAO robots. "We took the proceeds from the sale of our old, outdated equipment and used that. We're committed to reinvesting those proceeds into new technology," said Spittle. "Hopefully we'll get many years of use out of these."
The purchase of the robots is an opportunity to get our district to the next level in technology integration. "We're trying to take some of those design and programing concepts that we've hit on in high school and move them down into elementary and middle school. By doing that when those kids get to high school that foundation will already be laid and they'll be able to push high schools to the next level at that point," said Spittle.
Spittle bought our two NAO robots as part of a bundle, including 120 concurrent licenses of the Choregraphe software used to program the robots, a two-year warranty and two days of on-site training. The total cost: $16,000.
Share and Share Alike
In my district, 13 elementary and middle school teachers share the two robots on a rotating basis during the school year. Two teachers can be teaching the Choregraphe software at a time, providing students with programing skills in advance of the robot's arrival. When the robot arrives, students have three weeks to run the code they've written, tweaking it where necessary and enjoying the satisfaction of having programmed a robot.
"We felt three weeks was a good amount of time to start with. We'll see how it goes the first year, and if we need more or less time. Once we see what the level of interest is from our technology teachers and from our students we can look at purchasing additional robots if we feel that's what we need to do," said Spittle.
In my classroom the interest in the robots is through the roof, both with my students and me. I whetted their appetites prior to NAO arriving by sharing video highlights of the training session I attended prior to getting the robot. From the moment I showed my students the videos, they were stoked.
"We're hoping that this whole year is a year of building that excitement. If we introduce the basics [of programing] in the fourth grade then in fifth grade they can start to apply that and have the [robots] do some things on their own. By the time they get to middle school they'll have a really solid foundation about how to program the robot so we would really see them taking off with it, coding it to do some really interesting things," said Spittle. "We're excited that our elementary and middle school technology teachers were so engaged in the training and very eager to get it out to their schools. We're excited to see them embrace this as a new piece of their curriculum and hopefully we'll see the products that students are able to create with it."
Teaching with a NAO Robot
When our coordinator of technology integration, Kiersten Cummings, wheeled the NAO robot into my classroom for the first time safely ensconced in its shock-proof case, she joked that it should be gliding on a red carpet. I suggested that four men with red waistcoats and black Beefeater hats should be trumpeting a fanfare as we ceremoniously unpacked it from the case.
Okay, maybe that's a bit hyperbolic, but the excitement that accompanied NAO's first arrival was palpable at Gold Hill Middle School.
Naturally I expected my middle schoolers to be excited when they learned that they'd have an opportunity to program a robot, but I did not anticipate the excitement displayed by the adults in my building. Shortly after he arrived — and I use the pronoun "he" because we named him Wally — I began getting visits from teachers, administration and support staff, all interested in witnessing the robot's, and my students', capabilities.
Preparing to Teach with Wally
NAO robots are accompanied by Choregraphe software. About a week before Wally arrived, we installed the software on the 30 computers in my lab. For the next week I worked with the software during my planning time, programing the virtual robot in the Choregraphe software, while consulting the 204-page manual that accompanied it. After this initial week, I was comfortable enough to introduce the software to my sixth, seventh and eighth graders, and I began teaching a series of lessons I carefully laid out.
The Students' Tasks
My district purchased two NAO robots to be shared by 13 technology teachers at 13 different schools. Mathematically the robot spends just three weeks in my classroom each semester. When I hosted Wally for the first time, my goal was simple: I wanted to teach my students to program three sets of parameters that would instruct Wally to walk and two sets of parameters that would instruct him to audibly respond using his speech recognition algorithm. I created five separate tasks for my students to accomplish.
Regarding movement, I challenged my students to program Wally to:
- Walk in a complete square;
- Walk a triangle; and
- Walk in a circle.
To demonstrate his ability to communicate using speech recognition, I asked my students to write two sets of code.
- One set instructed Wally to initiate a conversation by asking a question.
- In the other, students initiated the conversation by asking Wally a question. Based on the parameters the students coded, Wally would respond accordingly.
Testing and Grading the Code
As students wrote their code, they tested it on the virtual robot in the Choregraphe software. But to really get the full effect — not to mention the satisfaction of programing a robot — students had to run their code from a designated computer in my classroom. I set up my computer to send code written in Choregraphe to Wally using a WiFi hotspot. For my students to see Wally execute their code in the physical world, they had to open it on my computer and run it from there.
This presented a problem. A typical class has 23 students in it, and each one was responsible for writing five programs. I teach six classes each day. That means 690 students would have to run 690 sets of code, each taking about five minutes.
To streamline this grading process, I graded much of the students' code on their individual computers, without seeing it performed by the physical robot. I set aside two class periods per week during which students could run their code from my computer and see Wally execute it.
Troubleshooting and Applying STEM Skills
Not every line of code a seventh or eighth grader writes is going to run flawlessly. If a student's code did not run properly, she tweaked it until it was perfect. Organically, students formed teams to troubleshoot ineffective code.
The task that presented the greatest challenge for my students was the one in which I required them to program Wally to walk in a circle, a challenge that required students to apply math skills. Students had to know that a circle has 360 degrees, and they had to determine the diameter of the circle by measuring the markings I made on the floor. In addition, they had to consider the X, Y and theta variables and apply them to Wally's motion.
Likewise, when I challenged them to write code that would instruct Wally to walk a triangle, they had to measure the triangle I made on the floor with painter's tape and use a protractor to determine the angles he would need to negotiate to execute the task.
Wally recently returned to Gold Hill Middle School, and now my second semester students will have the opportunity to write code and program him to do amazing feats.