All products featured on WIRED are independently selected by our editors. However, we may receive compensation from retailers and/or from purchases of products through these links.
In honor of Computer Science Education Week, I am doing a series about Computer Science. The first post was about howI got into the field. Today's topic is "programming for fun." Maybe you're in a technical field, maybe you're not. Maybe you have kids, maybe you don't. Whatever your time and technical skill limitations, there's a way to learn programming for fun!
The great news is: robots are cool. Even better, playing with robotics will provide essential skills in building, electronics, and programming! Below are a few fun ways to introduce robotics and programming to your kids.
Lego MindstormsDon't worry, you don't need to be a kid to enjoy Lego Mindstorms. I bought one for my husband on his birthday, years ago before we even had kids. It was loads of fun to build a robot and let it run around spooking the cats. The Lego Mindstorms comes with its own kid-friendly code editor which provides the basic programming workflow (while loops, if statements, etc.) in easy-to-understand, click-and-drag icons. As two experienced programmers, we quickly got fed up with the proprietary graphical code editor and jailbroke the Mindstorm to code in C++ and control it via iPhone.FIRSTFIRST is a program to teach robotics to kids ages 6 to 18. You can participate or mentor your local team, or create your own team if your area doesn't already have one--in other words, it is the Girl Scouts of robotics.While robots are all the latest rage, it can get expensive. It all starts with a Lego Mindstorms, then you get a cheap Arduino board (often featured on GeekDad)--next thing you know you've spent hundreds on servos. Fortunately, you don't have to break the bank to learn programming. If you already own a computer, you have all you need! While much less kid-friendly, you can find a whole range of programming languages, compilers, and code editors online for free. If you don't know where to start, the following are good free options to get you started:1. Find free online instructions. Just about every programming language and tool comes with free instructions to get you started. The hardest part is trying to decide what you want to do: Is it an Apple iPad app? Go to iOS Dev Center. Are you an Android geek? With theAndroid's Developer's Guide I was programming my own app within a couple of hours. Want to learn Java? Get started at Java.com and The Java Tutorials. 2. Free online courses galore! You don't have to spend a single penny, you only have to make the difficult choice: Stanford, MIT, or Google?
No matter which instruction method you choose, one day you will get stuck. I promise you: it's inevitable. Your environment path won't be setup correctly, or Eclipse will refuse to compile, or you'll have a legitimate bug in your code. As always, the internet is there to help, but getting an actual person to help you (or a shoulder to cry on) will be an invaluable resource when your online tools fall short. Here again, you have many options:
- Take a course at a community college and befriend the teacher. Chances are, if you're their favorite or even just a recurring student with a friendly face, they won't mind answering a question or two during their office hours, even if you're not currently enrolled in a class.
- Hire a tutor. Does your nearest college offer computer science courses? Congrats, there's a whole class of students who'd be willing to help you for a little extra cash or maybe even just a homemade meal.
- Find a makerspace or hackerspace. The world is full of individuals looking for a place to play around in a constructive way. Groups have been popping up like daisies lately, aiming to provide a place and community where people with similar interests can join together to work on fun projects. Makerspaces tend to focus on providing a space and tools for building and making things, while hackerspaces generally focus on programming, electrical, and robotic projects. The terms are only loosely defined, so don't be too quick to judge a space by its label. Usually it works like a gym membership: you pay a flat monthly fee for access to the space, tools, and the unlimited knowledge of your fellow makers.
To find a hackerspace near you, refer to the List of Hackspaces.