Do a search for “robots for teaching programming” using your favorite search engine sometime. You’ll find a lot of news about the latest and greatest robot for educational use. They are all “new” and “innovative” and designed to get students excited. This week it is Root – a robot that climbs walls or white boards. It even has a brush for erasing the white board. Looks pretty cool and I know at least one of the people on the team and they are awesome. This adds to a long list of educational robots. And I do have a list of robots for teaching programming.
So should you be using them to teach programming? And if so, which robot? Or several robots? How are you to know? My wife and I have purchased a number of robots over the years. My wife uses them with her students but honestly I haven’t been driven to use them with mine. I can’t explain why other than I’m just not sold on the idea for me. Although perhaps there is some analysis paralysis involved.
I’ve got some friends who just jump right in and try things out. My friend Doug Bergman has a number of robots he uses with his students. (Doug if you are reading we need a blog post or two about this.) I admire him greatly for his innovation. He has more time with his CS students than I do though that is a factor as well. When you have one semester total to teach programming as I do there is a tendency to play it safe. That may or may not be the best thing but …
I was thinking about this on my drive into school this morning. What I’d really love to see is a whole track at CSTA on robots. We’ve had the occasional talk about using robots in the past. And we had some robots exhibiting at the last CSTA conference. (Thanks for coming Wonder Workshop.) Wouldn't it be cool to have lost of educational robots in the exhibit hall and a bunch of teachers talking about their use of robots in actual classrooms?
I’m not on the program committee and I don’t know what the plans are or who is exhibiting but I can dream. And I can suggest that if you are teaching with robots you submit a proposal. :-) If not that PLEASE leave a comment about the robot(s) you are using and how it is working for you.
I am a fan of the Lego Mindstorms robots. It is not the robot I am particularly fond of, but the variety of languages they can be programmed with. The NXTs can use NXT-G (Lego's language), Python, Java, and RobotC. The Levo EV3s can use Small Basic. I love robots that use multiple languages. I love telling a kid "So the robot goes through the maze in language X. Make it do it in language Y." Remember, my teaching goal has never been to make kids good programmers in a language, but to make kids good at learning a language. Multiple language robots are great for that.
ReplyDeleteI love this idea! You should pitch it to them :)
ReplyDeleteA couple of years ago we held a coding hackathon for kids at the White House and invited in a bunch of robot manufacturers and users: we had Nao robots, Dot and Dash, Lego Mindstorms, 3D printed Sumobots, Sphero, ... robots are a great tool for making the conceptual physical. It's a lot clearer that you've screwed up your code when the robot walks off the tabletop! :)
I second the support for LEGO Mindstorms. I've tried Arduino robots with kids and I would say that they would be great in a high school class where kids are learning Java or C. However, I found for my population that they were too finicky to build with (we use the Multiplo kits at multiplo.org). However, I love how robust the LEGO kits are - I have seen robots dropped and stepped on, and they still survive. The native programming language is a bit strange for those who are used to text-based languages, but I think it is a good stretch for everyone (the kids and I!) to try to program in a different paradigm.
ReplyDeleteWow the Multiplo stuff looks fantastic!
ReplyDelete