I think that 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 that they will need in college, they are unlikely to get into those critical classes. 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 to them 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 that 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 they have a context – a reason that 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.
A link to a an image from a two and one half hour analog electronics program - http://o2.aolcdn.com/dims-shared/dims3/PATCH/resize/600x450/http://hss-prod.hss.aol.com/hss/storage/patch/25067659d866fc4fb1759c999d4502c6