Preschool to College

Getting Started

Roboticists in pre-school can work with with paper circuits: copper tape, batteries, and LED lights. Combine these with construction paper and tape to create make-believe equipment. Model equipment and systems familiar from the every day world. Soon, try littleBits. You’ll quickly graduate from littleBits, too, but they are an important scaffold from paper circuits to more complicated systems. The most exciting littleBit to experiment with is the cloudBit, with which you can explore the “Internet of Things” (IoT) by connecting household objects to “The Cloud”.

Scratch is an easy graphical programming language that can develop with you over many years. You can use Scratch to make an interactive video and audio experience, such as interactive stories, presentations, or computer games. Through the Scratch web site, you can view other people’s projects, including the programs that make these projects work. You can “remix” one of these projects by copying the program and then editing it to create something new. Scratch can also interface with other technologies, such as MakeyMakey. Find out more about Scratch’s history and community here.

Early Robotics

When you’ve tried Scratch you’ll also be ready for several new technologies: LEGO WeDO (appropriate for early childhood and early elementary ages) and LEGO Mindstorms (difficult for many early childhood students but accessible to most 3rd or 4th graders, and challenging into adulthood).  You can find design challenges for Mindstorms through my friend’s web site Dr. E’s Mindstorms Challenges.

You can also build your own machines, robots, and “smart objects” using open source hardware, such as Arduino (a brand name of open source hardware) or other manufacturers. I recommend starter kits from SparkFun, which come with well written guidebooks. If you prefer video tutorials, this middle school instructor made an excellent series of beginner lessons for Arduino. The world of open source hardware may be accessible to children in elementary school but can remain persistently difficult and engaging for grownup engineers.

Studying Computer Science and Programming

A Raspberry Pi is an affordable and fun computer to use while studying computer science. Its parts are visible. You can use it as a regular computer or you can convert one into a single purpose machine. For example, you could make a weather station, a motion activated camera, a virtual private network (VPN), or an ad blocker. On Pi Day (the fourteenth of March or 3/14), many Pi enthusiasts convert their Raspberry Pi’s into π calculators.

For a basic introduction to computer science, I recommend the unassuming Understanding Computers and the Internet.

There are a lot of computer languages to learn. I strongly recommend learning how to use Excel or other spreadsheet software to build dynamic financial models. Excel is not a language, but a program for organizing and manipulating data, including text and numbers. Excel is powerful but accessible.

There are hundreds of computer languages in the world. If you are serious about becoming a programmer, a few popular languages to you should start with are HTML, JavaScript, C++ (for the Arduino IDE), and Python (the most popular computer language today). This book or series of online modules is a popular way to learn about Python. Another introduction to the language of Python is this introductory course at MIT.