At my library, LEGOs are perpetually popular. We host a LEGO Contest at least once a year with a continual level of success. Also at my library, we are currently focusing on new technology initiatives to enhance our programming. Thus, my idea to combine the two and try a LEGO Mindstorms program was born.
As I had never used LEGO Mindstorms before, I did a ton of research well in advance. I put a call out on several listservs for help and ideas, and received a plethora of valuable insight. Then, I asked my IT department to order a Mindstorms EV3 kit to try out to see if it would be doable for us. I worked closely with one of our IT technicians to tentatively make a plan: he would familiarize himself with the robots, be there to troubleshoot, and help with more advanced questions; and I would learn the very basics and come up with the program outline.
We ended up purchasing 6 LEGO Mindstorms EV3 core kits to use and downloaded the free software from the Mindstorms website. (Note: You can purchase a site license from the LEGO Education site to get the Teacher’s Edition of the software. It’s much more expensive, but it’s supposed to come with lesson plans and such already done for you.) One day, about a month before the program, I went up to the IT office to work on the outline when I received the news: the IT technician I had been working with was leaving the next week for another job! This meant I was on my own and needed to be good enough to not only use the robots, but also teach the tweens how to use them.
I borrowed one of the robots and set to work giving myself a crash course in LEGO Mindstorms. I found The LEGO Mindstorms EV3 Discovery Book by Laurens Valk to be extremely helpful. I decided to break the program up into three 1-hour sessions and a final 2 hour session that would meet weekly after school. I opened up the program to tweens in grades 4 to 7 and geared it towards those with no programming or robotics experience. You can find a detailed outline of each of the sessions here, but this is basically how I broke down my program:
Day 1: I wanted to give the tweens a good foundation for programming/coding language which would help them with the LEGO Mindstorms software, so for the entire first day we worked with the Hour of Code website. The nice thing about it was that the programming blocks on code.org looked almost identical to the programming blocks from the Mindstorms software. We went though the first hour of code together, but since I anticipated that some tweens would work faster than others, I told them where to stop (which was before the next video) and gave them extra mazes to complete if they finished early.
Day 2: I introduced the tweens to the LEGO Mindstorms software, the parts of the robot, and the steering blocks. Then I gave them some challenges to try based on what we learned, which you can find in my outline. (Note: To save time for this program, we pre-built the robots for them. We chose the Track3r bot with the claw arm as pictured at the top of this post.)
Day 3: We went over the rest of the action blocks (display, brick status, and sound) and the flow blocks. Then I gave them some more challenges based on what they learned that day, which you can find in my outline. We didn’t bother learning any of the other more complicated blocks since this was a beginner class, but I encouraged them to play around with these blocks if they felt comfortable.
Day 4: I began with a very brief overview and asked if they had any questions. Then I gave them some time to just play around and experiment with programming their robots. With about an hour left, I gave them one final challenge using the mission pad mat that comes with the Mindstorms kit.
Here are some videos of the neat things they programmed the robots to do:
What I Learned:
- The tweens had the most fun when they had free reign to experiment and play.
- The final challenge that I gave them seemed to be too difficult and they got frustrated and just didn’t try. Next time I would either make up an easier version of that challenge or just forget it altogether.
- Because we only had 6 kits, we put the tweens in groups of 2 and 3. This seemed to be a good number per kit.
- I didn’t end up needing the full 2 hours for the last session day, so the next time I might just host four 1-hour sessions.
- I realize that these robot kits are expensive and not every library has the funds to purchase multiple kits. One of the suggestions from the listserv was to work with your school’s robotics team to see if they would lend you kits and/or work with you to run the classes.
- I was the only adult in the room with 16 tweens most of the time. For one of the sessions, I had the help of an older teen who had been on his school’s robotics team. It made all the difference when it came time for the tweens to complete their challenges. If you can have a second person in the room, especially if it’s someone who has advanced robotics experience, you’ll be much less overwhelmed.
- For any challenge you give the tweens, have an answer key ready in case they get truly stumped so you can give them hints. I made up answers to my challenges, which you can find here and here. They helped me immensely, though please note that they aren’t the only possible answers and I am still not a robotics expert by any means.
- I also tried this as a standalone 2 hour program. I geared it towards kids in grades 4 to 7 who had a basic understanding of programming or Mindstorms. I ended up getting a mix of beginners and non-beginners. The outline of this session was 30 minutes of software and robot overview followed by 90 minutes of challenges. Because I wasn’t sure about the experience level of this group, I gave them options for each challenge: an easy option and a more challenging one (make your robot move in a square or make your robot move in a triangle). This worked out really well!
- If you don’t want to use the mission pad that comes with the kits, you can also download and create your own challenge maps here.
Other Helpful Links:
Have you hosted a LEGO Mindstorms program at your library? If so, any other tips/tricks?
Kim Castle-Alberts is a member of the School-Age Programs and Services Committee. She is also a Youth Services/Emerging Technologies Librarian at the Hudson Library & Historical Society in Ohio. You can find her on her blog, on Twitter, or at firstname.lastname@example.org.
All photos are courtesy of the Hudson Library & Historical Society.