A quality learning experience centered on robotics is hard to find for many students who lack STEM resources through their own schools. Although new science standards hope to improve the situation, K-12 schools are struggling to provide a basic STEM education, let alone opportunities involving more specialized lessons in robotics. So on more than one occasion, I have talked to parents who are struggling to find rewarding opportunities for their children. Fortunately, even if one lives in a “robot desert,” today there are many online and physical resources that can provide rich, self-guided education on robotics.
First, most modern robots are driven by computers, and those computers are driven by computer code. For a child or young adult, computer coding can be an excellent gateway into robotics, and it’s never been easier to learn how to code. Websites such as CodeAcademy.com, CodeSchool.com, LearnStreet.com, TryRuby.org, provide lessons in several languages like C, C++, JavaScript, Ruby and Python.
I would say that it ultimately doesn’t matter which language a student chooses to learn, as the world of software development is continually churning out new languages and making older languages obsolete (COBOL, anyone?). What matters is understanding basic concepts like loops and boolean arguments, learning how to break down problems in a way that a computer can process and solve them, and being able to look through someone’s code and understand which line of code does what.
Second, it’s useful to understand how a robot’s computer code and physical parts (such as motors and sensors) work together as a system. Thanks to the “maker movement,” there’s a range of relatively inexpensive systems on the market today that make it increasingly easy for anyone to jump in and make a simple robot. These systems usually consist of a small circuit board that is embedded with a microcontroller “brain”, along with various connectors to hook up external devices. They frequently can be purchased in “kit” form, with a variety of odds-and-ends (LEDs, buttons, sensors, various small electrical components) and reading material that helps guide people through projects of varying complexity. They’re similar to the electronics kits of yore, but capable of so much more.
In a sense, these boards function as tiny home computers, except instead of plugging in keyboards or mice to manipulate programs, you’re plugging in servos to give the robot movement, or light sensors that enable the robot to sense and act differently in bright and dark environments. Arduino, BeagleBone, and RaspberryPi are all boards that are designed so that novice programmers can build functional electronics from the first project. Websites such as Arduino.cc and RaspberryPi.org carry some introductory exercises on doing basic things with these systems (getting a light to blink Morse code, for example), but there are many sophisticated projects scattered across the web by people who are very good at documenting the prototyping process and sharing code.
Last, there’s much a person can accomplish on their own, but the learning process can be much more efficient and fulfilling with the right mentor. These mentors can be found at places like FabLabs, Makerspaces, and hackerspaces, which are places where people who have an interest in programming, digital fabrication, and robotics collaborate. Increasingly, these workshops can be found at libraries and community centers. If one doesn’t exist, it’s possible to rally support in a community to create such a place.
The resources and tools at these workshops are very useful for building robots, and the people who congregate in them can provide useful advice, but a mentor need not be affiliated with any of these places to teach robotics. All a student really needs is a dedicated, trustworthy adult who is willing to learn and to teach.