Suggestions for a middle school robotics curriculum

Hello all,

I’ve established a Mindstorms robotics program at Mott Children’s Hospital on my campus, and I have a curriculum established for the first four sessions of it (to be spread out through the month of August) which consist of drivetrain lessons on torque and speed, lessons on different types of appendages, and matching challenges for said lessons. Each session lasts approximately two hours long.

Now, this may or may not be just a summer thing for me, as I’ll be very busy during the school year, but if I do find the time to extend it through September and beyond, I will. I’ll need more topics on which to base lessons/challenges on, though.

Anyway, getting to the point, what topics, besides what I have already mentioned, would you suggest that I could do for the lessons/challenges?

As always, thank you for your help,


make up teams of a few kids and with their skills they have learned so far to make a bot that will complete the tasks. The tasks can get harder and harder.

Like week 1 maybe try to make a robot that will go through a simple course the fastest. Make it like a sqare or something. And you can eventually build it up to adding arms and other features to do things.

Before making challenges need manipulators do a manipulator lesson. Like how to make a simple arms that will just stay parallel to the surface it is driving on the turn 90 degrees upwards.

Though I can’t pretend to be a genius on what you should teach them specifically, here are a few basic suggestions based on a few years of general teaching experience with that age at camps:

  1. Let them choose! They’re going to be most interested in learning what they choose to learn. Near the end, go over everything you’ve learned, and ask them what they want more of, what interested them the most. Maybe it’ll go in a direction you don’t quite anticipate, but you can throw in other things along the way. This will keep them interested.

  2. Be active. The school year is a busy thing for middle-school kids, and none of them have their own cars. Try to make sure the curriculum is somewhat flexible, and it’d be cool to provide things that they can take home and apply or something if they want, like an activity that’s really useful to them.

  3. Give them opportunities to show their knowledge to their peers. I don’t know how this would work for you, but if you can get a long-term project going you can demo it later. Demos are fun, and the kids will have a lot of pride in what they’re doing.

Now, most importantly…

No. They’re not in high school yet. Some of them might have experience, others might not…but they’re doing something fun, and awesome. No matter what you teach them, teach them first and foremost to be proud of what they’re learning and what they are capable of. We can read about torque and speed in books, we can build a robot and drive it, but determination and character are built by time and encouragement, not just by studying.

I’m working at a lego camp right now that sounds similar to the program that you’re running. Most of the kids at this camp are younger than middle school, but the same challenges might be useful. One of the skills that is stressed towards the beginning is the ability to build sturdily. One of the challenges is to build a tower of a certain height (around 4" I think) that can support the weight of one of the teachers. Another similar one is to build a car which can be dropped from about ankle height and stay in one piece. One more complicated challenge is to build a line following robot. They also built robots to play tug of war (attaching string between the robots and driving in opposite directions).

Maine’s FLL puts on a trackmeet every year. Basically, they have a whole bunch of mini events, like ping pong shot put, weight moving, fastest robot, line following, things like that. Here’s the link (scroll down and there’s a powerpoint/PDF describing the challenges).

Also judging by what you’ve taught them (if you teach them how to program what they’ve been building), seems to me like you could cumulate the lessons with a mini robot sumo competition.

If you do have a drop challenge, raise the height above the ankles, because Lego robots track straighter the better they are held together. By the time I moved on from FLL the rule on our team was if you couldn’t drop it from at least two feet, it wasn’t sturdy enough for the competition table.

I suppose I should note we took the RCX off of the robot when we dropped it.

Team 25 runs a 3 week long summer Lego camp/course for students entering the 6th, 7th, 8th, and 9th grades. The first week we’ve covered the basics: building a base/drive train/gear ratios, and had activities such as drag racing and other simple tasks.

We then introduced the different sensors [light sensor/touch sensor] and had them make robots that did simple tasks such as following a line, or bumping into the wall and then turning around. We then made the challenges progressingly harder to include some activities such as making a robot that would drive up to a box, sense it, grab it, and pull it back to behind the starting line. We also held robot sumo matches [a big hit amongst the kids], and had a catapult/throwing challenge. We’ve done many other activites as well, aside from these. Feel free to contact me.

Hopefully this gave you a couple of ideas to implement into your program.

My daughter, young whippersnapper that she was then, did this during a technical interview. The question was how robust was the robot; she lifted it about a foot off the table and dropped it. Next question?

Lisa, she’s busy holding her own FLL camp right now. I’ll make sure she gets on tonight to contact you.


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.

Pretty soon I am going to be posting a white paper on all of the Lego Robotics activities my mother and I have come up with (I know, I know, I have been threatening to post a white paper for a long time but it never happened… I swear I will get this one done before I leave for college!). Try coming up with a theme - some themes that I have done in the past have been:

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 :stuck_out_tongue: ), 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:

  1. First present the concepts of the lesson in PowerPoint form
  2. Have the kids watch you do what you just taught them on an overhead projector
  3. 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.
  4. Have them do exactly what you did on their own computer (so they know the basic sequences)
  5. 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.

Ok, I think it’s high time I write a white paper. Sorry about the length of this post, there are probably a lot more things that I can add, but this is enough for now. Lisa, let me know if you want any more help. It’s just one PM away!

– Jaine

If legos are the building medium, a weight lifting mechanism competition is always fun. Regulate the number of motors and standardize batteries, and then see who can lift the most wieght, and also see who can lift the most in the shortest time (some sort of composite score which is a function of both).

here is something Nebraska Omaha just completed.

It has some good suggestions. but I look look mainly on the spreadsheet on the bottom… the rest of the stuff may not apply to legos.

Nate Edwards

Thanks all for your suggestions, I greatly appreciate it.

Just as an update, the first session of my program was today, and it turns out there also will be younger patients ranging from 4-8 years old. Even though the curriculum was geared more toward middle schoolers, they still grasped onto the concepts of robust construction and even the programming. :slight_smile:

I will have to alter my other lessons a bit, but I think I should be able to take the ideas you’ve offered and simplify them a bit so that this age group can actively participate with the robot as well. Again, thank you for your help.

The height that we used was higher before, but I think that some RCX’s were broken. I would think that it’s alright to do it from that high as long as a teacher looks at the robots before they are dropped to make sure that the RCX isn’t in a position to be damaged.

Try using a replica of the RCX instead. If you can find something heavy (about the weight of the batteries), and encase it in Legos to make a new “brick” about the size of the RCX, this can be used in place of an RCX to avoid damage.

Hm…yeah. I recall hearing a few stories about how once, they gave the kids the objective to stop when it reached the end of the table…

I’m sure you can all imagine how that one turned out. :rolleyes: