I wrote a post to Lisa Perez a while back giving her some advice on a robotics curriculum, so I will repost it here:
Have you checked out Carnegie Mellon University’s Robotics Academy products? These are especially useful - I have successfully used both Camp-on-a-Disk and the RoboLab Video Trainer.
Try coming up with a theme - some themes that I have done in the past have been:
Robo-Olympics
The kids had to build robots which mimicked an Olympic sporting event. For example, we did Shotput (throwing a ball long distance), Basketball (aiming to shoot a ball in a hoop), Sumo-wrestling (the robot had to push soda cans out of a ring), Robo-tennis (the robot actually WAS the tennis ball in this case - the kids put touch sensors on the front and back of the robot and programmed it so that when the touch sensor was tapped by one of the kids ping pong paddles, it would turn for a random amount of time and continue forward - the kids had to keep it from bumping the side of the playing field), and many others.
“Probe” Camp-on-aDisk
We used Carnegie Mellon’s “Probe” camp-on-a-disk for this camp. The kids completed a game challenge that came with the software. The “Probe” camp was a space-exploration theme. We had kids complete mini challenges that led up to a final challenge, which was a mini competition that parents came to at the end of the week.
Fairy Tale Theme
This was the theme that we used for our RoboCamp for Girls. We took a fairy tale (most of which portray the female characters as helpless waifs who end up being rescued by the male character), and twisted it around so that instead, the female characters had to come up with an innovative engineering solution to their problem, instead of relying on a “Knight in shining armor” to come and rescue them. For example, we took the story of Rapunzel (who was trapped in a tower and was eventually rescued by knight), and changed it so that she engineered her own device for escaping the tower. The girls built a tower and then a mechanism which would be used to lower her out of the tower. Our final challenge took the story of Cinderella and made it so that Cinderella builds her own carriage to get to the ball, among other things. There were many other cool challenges in this program… I promise I will get around to publishing them!
Harry Potter Theme
This was our most recent camp. We came up with a variety of challenges that were based on the Harry Potter books. We made believe that the kids were all members of the “BotBolts School of Robotics Wizardry”, and were divided up into the four houses. An example of one of the challenges we made up for this camp was the Quidditch tournament, where the robots had to score points in a manner similar to actual Quidditch (minus the flying!).
So, as you can see, there are alot of different things you can come up with! You can even ask the kids for suggestions… there is really no limit to your creativity here! If your program is going for a long time, you can try coming up with a different theme for each week (or two weeks) to keep things interesting.
On a different note, there are a few things which I think are often overlooked when people design robotics curricula (regardless of the ages of the students). The main point of many of these tips is to **NOT OVERLOOK TEACHING THE SIMPLE THINGS.
**
1) Make sure that you give the students time to practice building.
Many times, robotics classes focus quite heavily on the programming aspects. This often results in student frustration because their building skills are at a lower level than their programming skills. Nothing is more frustrating than having a great program that doesn’t work because you can’t build the accompanying mechanism!
Some kids have an intuitive mechanical sense or a lot of experience and don’t need a whole lot of instruction in those areas, but even these kids can be helped greatly if they are given instruction in the building of mechanisms. Many kids who have not played extensively with Legos don’t have a good understanding of mechanical design and troubleshooting. I found that this was especially common in my girls camps - not that the girls were any less capable than the boys, but they generally did not have the same level of experience! More boys than girls are encouraged to play with things like Legos and blocks when they are children. Also, mechanical instruction will ensure that everyone is on the same page to begin with.
Some teaching pointers for building mechanical skills:
Start kids off by building non-robotics related mechanisms/items. If you are going to be doing a game challenge, oftentimes you will need pieces of the playing field to be built. You can have kids either follow instructions (this is acceptable for helping kids gain familiarity with Lego parts their functions), or build on their own (to encourage mechanical creativity). You can even do an introductory challenge that doesn’t involve the robot - an example is the Rapunzel tower activity that I described above.
Give lessons about mechanics in presentation form (keep it relatively short though) - topics could include gears, chassis building, wheels, torque, etc. and their applications. Then, allow the kids to get their hands on whatever it is you just taught them. For example, when I teach kids about gear ratios, I usually build a tiny gearbox ahead of time that I can pass out to them and let them spin so that they can see how different gear combinations result in different speeds. Another thing I do to teach good chassis construction techniques is to do a “drop challenge” (I believe someone already mentioned this), where the kids have to build something robust enough to withstand a minor fall.
2) Differentiate between learning styless
I come from a family of educators (whether I am lucky or not is another question), so I hear all the time about various teaching techniques for a classroom setting. One concept of teaching that is very important is the idea of “differentiated learning”. It is very rare that you will ever have a class of kids with identical skill levels and experience levels. Therefore, it is necessary to “differentiate” your instruction to accommodate all of the various student backgrounds and abilities.
An example of a time that you will need to do this is when groups of kids are working on an identical project all at the same time (perhaps a mini-challenge), and some of the students finish before the others do. Some kids are faster than others at completing tasks or grasping concepts. For the quick learners, you must either have another, more in depth task for them to complete, or have them be willing to go around to the other kids in the room and help them. I remember that last year, when we did the RoboCamp for girls, one of the girls finished before everyone else and needed something else to do. She had finished her basic robot, and had also shown that she was ready to do something more challenging. So we set her up with one of the Mindstorms instruction booklets, and let her build a more complicated arm mechanism for her robot. We added a few more things to our mini-challenge for her to complete using that arm.
But differentiated teaching styles aren’t just for the gifted students - one must also be aware of those who have more difficulty in completing tasks or understanding concepts. You may have some students with learning disabilities, or other differences in learning style, such as Attention Deficit Disorder. Make sure that your teaching is presented in a variety of formats, to accommodate these learning styles - try your best to include visual, auditory, and kinesthetic elements in your lessons. I personally like PowerPoint, because it gives visual learners a chance to see what I am talking about, auditory learners can hear what I am talking about, and afterwards, I have a hands on challenge that utilizes all of that information for the kinesthetic learners. Also, be sure to have enough people on hand to walk around the room and give extra help to those who may need it. Sometimes it is necessary to spend a lot of time with one student, and that isn’t always easy if there aren’t other people around to watch all of the other kids.
3) When teaching programming, don’t forget to teach basic maneuvering skills.
When you start teaching programming, begin with the basics on how to use the software. Don’t jump right in to the programming concepts. If you are using RoboLab (which I highly recommend over Mindstorms), make sure that you teach kids how to maneuver between the different cursor types, how to use the functions palette, and how to wire properly. Proper wiring techniques are HUGEMONGOUSLY IMPORTANT! Almost 70% of the errors kids get when they try to load their code onto the robot is from wiring errors, and these wiring errors aren’t always easy to spot. I should probably add that I am talking about using the Inventor level on RoboLab, not the Pilot Level. Even for the beginners, Inventor level is many, many times better than Pilot level. Start right out with the beginners using the highest Inventor level. It’s confusing to them to tell them to start using a different level, and if they make a mistake they will be trying to find certain functions that just aren’t there. I’ve never had any problems with kids getting confused by using the highest level.
Also, a good format of teaching programming is:
- First present the concepts of the lesson in PowerPoint form
- Have the kids watch you do what you just taught them on an overhead projector
- When having the kids watch you, ask them questions like “what should I do next?” and “what does this icon mean?” to refresh their memory.
- Have them do exactly what you did on their own computer (so they know the basic sequences)
- Have them do a slightly different challenge on their own computer to creatively test their new skills
4) Tips on getting kids to work together and maintain Gracious Professionalism
On the very first day of class, make the behavioral expectations VERY CLEAR. Start off by explaining what it means to have Gracious Professionalism, and that disrespectful comments towards other people is not to be tolerated. Also, try implementing a reward system, where each student or group of students is awarded “GP points” each time you see them working together well or helping out another group. At the end of the class you can give away a small prize to the group of kids with the most points.
I would recommend pairing kids together in twos for each of the mini challenges you give them. Three kids in a group often leaves one person out, and a single person “group” doesn’t help the kids develop teamwork skills.
Thirdly, I would recommend that you don’t put a whole lot of competitive emphasis on the mini-challenges. Make it so that each task is more of a demonstration of the students’ skills, as opposed to a competition aimed at determining who has the best skills. Too much competitive pressure can make kids feel less confident, as well as leading to some hurt feelings. This is why I was afraid of doing the Lego robotics program at my elementary school when I was in middle school.
5) Get kids familiar with the technical terms they are working with
On the first day of class, teach the kids the names for all of the various Lego pieces. It’s much easier to talk about “plates”, “beams”, and “bushings” than to say “hey, can you pass me that little grey thingy over there?”.
6) Tips on keeping things clean and orderly
Make sure that all of the Lego parts are sorted! Having sorted parts makes it WAY easier to build things with ease. Make sure you sort parts by type, not by color. Also, I would not recommend having the kids sort them as this is an extraordinarily boring task that could discourage them from wanting to participate. Have a couple of friends come over and help you sort (I would come help you if I lived in Michigan! lol).
Also, have a good policy about lost Legos. In my camps/teams, every time a Lego dropped to the ground, someone would have to shout “Lego down!”. Once the Lego was picked up and put back in it’s proper place, then that person would shout “Lego Found!”. The Lego down/lego found phrase seems to motivate kids to make sure nothing is lost.
Of course, these suggestions are for a Lego Robotics curriculum, but I am sure that you can build upon these ideas if you want to use them for something else. If you want to do VEX Robotics, try coming up with a game such as WPI’s Savage Soccer, or do a mini-FIRST competition(read here for an example of a mini-FRC game that Team 40 did. Also, read Art’s Paper on the uses of VEX in FRC).
Also, try these having to do with incorporating FIRST robotics into the classroom, even though they aren’t directly related (they might help):
http://www.chiefdelphi.com/forums/showthread.php?t=48383
http://www.chiefdelphi.com/forums/showthread.php?t=31765
http://www.chiefdelphi.com/forums/showthread.php?t=44806
http://www.chiefdelphi.com/forums/showthread.php?t=48306
http://www.chiefdelphi.com/forums/showthread.php?t=48910
And another paper:
http://www.chiefdelphi.com/media/papers/1302
Hope this helps! Feel free to ask me any questions, as I am pretty experienced with running Lego Robotics camps for middle school aged kids.
– Jaine