Teaching robotics to kids

Teaching technology to young learners is essential for increasing the number of productive scientists and engineers.

I think most of you will agree that we need engineers to solve many of the problems facing our planet today.

Teaching technology to young learners is essential for increasing the number of productive scientists and engineers. If students do not enter college with the required math and science skills, their chances of completing an engineering degree are greatly reduced.

If students don’t come to high school prepared to enter the math and science classes they will need in college, they are unlikely to get into those critical classes.

[Get a 10% discount on ARM TechCon 2012 conference passes by using promo code EDIT. Click here to learn about the show and register.]

So, we need to start before high school. As soon as kids are able to operate in the most basic computer environment, use a keyboard and focus for a few hours at a time, we need to introduce them to programming logic and algorithms that are common to all programming languages.

Understanding the concepts of programming is important for success in engineering but the application of software - the integration of logic and hardware is both context for learning and skill for success in solving difficult problems. Teaching software without hardware is like explaining the purpose of The Arc without The Flood. Robotics is a rich context for learning technology and it is a means to an end – a very cool hook on which to hang complex concepts.

Most engineers are not good at introducing the basic concepts, anxious to skip to the beauty of the elegant solution, so there is a need for teachers who understand both engineering and the mechanism for learning technology.

It is easier to educate a teacher to develop student’s learning and troubleshooting skills than it is to teach engineers how to teach. Students can learn from experts in a given field once they know the process of learning, they have had incremental success with the technology and they have a basic idea of how to troubleshoot a problem.

By the time kids make it to college, we hope they know how to learn, but I teach at the junior college level and I know that very often this is not true. Much of my time is spent explaining the process of learning along with the actual concepts. There will always be a small number of students who can sit down with a programming manual and learn to program on their own but there are many who, once they have been shown the method of learning and have a context – a reason they find relevant, they progress to a level that is above a basic level and are ready to be taught by an expert. Unfortunately, these skills are often not taught in engineering schools because professors assume that their students should already know how to think logically.

I use practical, intuitive technologies to solve real problems so that students can see the relationship to commonly used systems. I use MikroBasic and PIC embedded controllers because they are cheap and easy to understand, they are similar to more advanced controllers and software and these skills will help them succeed in engineering school and throughout their careers. Young children in my programs also learn to read schematics, breadboard and troubleshoot electronic circuits, which is useful for developing analog devices used for sensing. The Basic language is intuitive and sets the stage for learning programming logic and algorithms that are common to all programming languages.

--

David Peins teaches children as young as eight years old to read schematics, create working circuits on breadboards, program embedded controllers with MikroBasic and to program their own autonomous mobile robots to play ‘Robot Sumo.’

It is true, children need these skills from an early age because this is the demand in our world today and the demand will stay like this for a long time from now on. Schools should be prepared for that. There are some interesting training programs on http://www.goodbuddynotes.com/productsforteachers.html. Interested parents should check this out. The future is in the hands of our children.

I've been mentoring students on inner-city USFirst robotics teams for the past four years. These students have never had to apply trigonometry to solve a real problem. We introduce physics, research, electronics, mechanics, pneumatics, programming, and shop. Along with presenting your ideas, brainstorming, and experimentation. Our students are shown its okay to fail as we modify and fix our designs while building a robot. Hopefully they also learn to listen.
We have not been too successful teaching AutoDesk 3D Inventor, PTC MathCad, nor programming WPI Java with Netbeans. But we haven't given up yet, and we have some students that still might decide to dive in. I would have killed to have this opportunity in High School.
There is much more to teach than programming PICs, or reading a circuit, or lighting up an LED. Showing our students that we can design, build, debug, program, and run a robot in a little more than six weeks is intense. Showing them that they can do more is priceless.
I say yes, robotics is a great way to show students how to apply math and science.

My experience as mentor in electronics and robotics is with 5th to 9th graders. There is a significant improvement in critical thinking and analysis after taking this technical engineering class, this skills are not only limited to the class, they learn to apply it to other situations and use it to their advantage...there is the "student learning skills development" Not sure if pic is good for mid school, but arduino has been a big success, as well processing..it is a start point for creativity...one way or the other...we have to do something....

It has been my experience as a High School level coach of a robotics competition team (FIRST www.usfirst.org) that the students are very capable. What is normally missing is the motivation and technical guidance. The students (once motivated by the competition) are able to learn to solve complex problems involving mechanical, electrical, programming and systems level challenges. The thing that makes the most difference is mentors! The mentoring of students provides them with help through some of the more difficult to navigate problem areas and allows them to achieve some success. Once the students have tasted success it becomes a more powerful incentive to continue to strive and grow. The FRC program (FIRST Robotics Competition) brings together all the right ingredients for a successful recipe. One advantage of the program is the real world tools and language use that is a real life skill for the students.

A good article. The kids to be first introduced with R,L,C ,D.C and A.C, frequency, semiconductors and then IC chips and programming.Then it is possible for them to read schematics and have a basic under standing why and how these components are inter connected. This will take a big time some where near 150 hours to 300 hours. Probably they can do it in their summer vacation.Also this can be introduced in schools to all the students.The teachers need lot of patience and more focused on individual kid to bring their talents up. By knowing this i appreciate very much Mr.David Peins.

What is easy to understand about a PIC controller or the ardunio computers that are everywhere. Being able to follow a recipe does not make one a good cook. Letting kids work with robots is one way to introduce them to a lot of the very basic physics, as they make things happen. As an engineer I have taught quite a few people a lot of different things, they seemed to learn very well. Of course, I started with the "What", and then we got to the how and why afterwards. That does seem to work fairly well.
The problem with teaching programming is that most of what they learn in third will be obsolete by the time they reach fifth grade. And I am not convinced that logical thinking and programming are related in any way. Programming is much more about steps in sequence than about actual logic. So learning about how to develop sequences is a fundamental part of programming.