This week, we wrapped up our discussion from last week on introductory programming languages (Scratch, WeScheme, Boostrap, etc.) and I brought in one of the many ideas that people in the K-12 community have to get younger kids into the realm of Computer Science: Lego Mindstorms. Above is the programming environment for the Lego Mindstorms robot and is very similar to the environment that we see in Scratch, with its drag-and-drop menus. I believe that this makes it easier for people who are just learning to program to have something physical that can respond to the movements that you program it to do. This program is one of the original step-by-step programs that the default system can walk first-time users through and even allow a sample program to be downloaded to the NXT(motherboard) so users can see the robot’s reaction to the given movements first-hand.
Another perk about the Lego Mindstorms approach to introduce students into computer science is that the robot-building and programming are separated into different difficulty levels for the user to choose. This makes it easier for teachers to teach this material to students and to allow the students to go at their own pace. Those who have more experience with programming and building can go ahead to the higher level challenges while other students can start at the beginning, all at their own pace. In my high school science class, we used these Lego Mindstorms as a “robotics” lab where students would be split into several teams and have a 3-week period to create a robot that pushed empty film canisters into a marked boundary. This created a competitive atmosphere where each team wanted to do better than the rest, which allowed creative designs and programs that would grab the most film canisters as possible. I believe this same technique could be used throughout all the Seattle Public Schools and that instead of trying to implement a brand new course throughout all schools, we should start small and have a “robotics” lab in all science courses to give students a feel to Computer Science. Once students are interested in the field, we can then push to get Computer Science teachers in every school so that students can pursue their interests and…if they aren’t interested in Computer Science, at least they have some experience with it and know what it is.
LEGO Mindstorms work great and I have used them in my teaching (for college artists and designers as well).
The one downside is the cost. The sets are expensive ($200+, I think) and that means a huge budget item for cash-starved public school classrooms. Even with group work, it’s a big investment, beyond the reach of most of our budgets.