Every era demands—and rewards—different skills.

In different times and different places, we have taught our children to grow vegetables, build a house, forge a sword or blow a delicate glass, bake bread, create a soufflé, write a story or shoot hoops.

Now we are teaching them to code.

We are teaching them to code, however, not so much as an end in itself but because our world has morphed: so many of the things we once did with elements such as fire and iron, or tools such as pencil and paper, are now wrought in code. We are teaching coding to help our kids craft their future.

Tweets about #CSEWeek #CSedweek Tweets



In this collection we share many different perspectives on coding, from a university professor's vantage point (MIT's Mitch Resnick describes why learning to code is like learning to learn) to an entrepreneur's reflections from his cross-country roadtrip to bring coding—and his stuffed dog—to classrooms across the U.S.

President Obama: Learn to Code!

Mitch Resnick: Let's teach kids to code

You can learn to code on your own by dipping into one of over 40 tools for learning to code that we've compiled (check out the bottom of this page). Or if you need more guidance, take a page out of educator Kasey Bell's book and follow her beginner's guide to coding in the classroom.

We should always teach children to bake bread, feed the goats and wield a hammer. But throwing in a little Java could take them a long way, too.

Got your own take on coding? Tell us at feedback@edsurge.com. Or if you want to share your thoughts broadly, post a comment below or give us a tweet @edsurge.

There are endless ways to learn programming available online. We've selected our favorite 40+ tools to get you started. Whether you're a complete tyro, robot-hacking hands-on learner, or a "l33t" coder looking for advanced training, you'll find something to help you hone your skills.

Learn Programming Logic

Product Price Alice

Free downloadable software that teaches computer programming in a 3-D environment. Kids can create animation, games or videos to share on the web. There's also quite a collection of resources for teachers.

Free

BitsBox

Monthly subscription service that sends a box of programming challenges for kids, along with lesson guides and other goodies.

$20 to $40/month

BotLogic

Introduces basic programming concepts by asking players to navigate a series of challenging mazes.

Free

CargoBot

Players learn coding logic in this iPad app by using a string of commands to organize crates with a robotic arm. As levels get more complex, the user must create functions and optimize his limited number of moves to meet the objectives.

Free

Code.org Studio

Offers free basic and intermediate modules featuring cartoons and characters from Angry Birds to Star Wars and beyond, for use at home or in the classroom. Teachers can access a dashboard to track student progress.

Free

CS Unplugged

Here's a nifty trick—learning computer science without a computer! This series of logic exercises uses cups, ping pong balls and post-it notes to teach students the logic behind coding. The site also has videos of each exercise being used in a class.

Free

Karel Coding

Self-paced online programming course that's currently used in schools, programming clubs and at homes. The course includes an optional algorithmic thinking pre- and post-test.

$50/yr

Move the Turtle

Based on the Logo programming language, this iOS app helps players learn coding logic by guiding a turtle through obstacles to a destination. Players can also use its composer function to create intricate designs.

$3.99

Pluralsight

Offers free coding courses for kids on Scratch, HTML, App Inventor, Kodu and Hopscotch

Free

RoboLogic

Players program a robot's movements on a grid and get it to light up specific squares before they run out of moves. Teaches concepts of functions and nesting.

$0.99

Turtle Academy

A collection of short, free lessons using the Logo programming language. Students will learn the basics of programming logic in this browser-based program.

Free



Learn to Code with Visual Blocks

Product Price App Inventor for Android

This MIT-created platform uses visual blocks to allow students to create apps that can be exported to Android devices. Large library of tutorials that get as advanced as SMS texting and GPS. Requires a Google Account to use.

Free

Hopscotch

This free iPad app uses a visual programming language similar to Scratch to help kids learn the basics of programming logic, such as sequencing, loops, variables, functions and conditionals.

Free ($0.99 for in-app purchases)

Scratch 2.0

Created at MIT, Scratch popularized visual blocks as a way of learning programming. But don't let the easy interface and cute graphics fool you--users can make and share anything from simple animations to fully-fledged games.

Free

SNAP!

SNAP!'s visual blocks support higher level computer science concepts like recursion, procedures, and continuations, making it appropriate for even college level intro classes. While it doesn't have the same social functions of Scratch, SNAP! can work with the Nintendo Wiimote and LEGO Mindstorms NXT. Comes with a manual and sample projects and can use much of Scratch's documentation as well.

Free

Tynker

Inspired by Scratch, Tynker has a dashboard to allow teachers to create a more structured way of teaching code with visual blocks. Includes assessment, classroom management, lesson plans, and a built in tutor.

Free to $399 for class account (30 students)



Learn Specific Coding Languages

Product Price Code Avengers

In-browser exercises and courses in JavaScript, HTML5, CSS3 and Python. Introductory courses are free, with intermediate and advanced courses for $29-$39.

Free to $39 for advanced lessons

Codecademy

Offers free coding courses and curriculum resources including lesson plans to help teachers plan computer science classes. Exercises are done in browser and checked automatically for accuracy.

Free

CodeHS

Karel the Dog just got some new tricks! CodeHS offers full year courses to teach Introduction to Computer Science in JavaScript, AP Computer Science in Java, and a professional development course for teachers.

Free; contact CodeHS for school subscription

HTML5 Rocks

Online resource with tutorials, demos, and sample work in HTML5. Supplementary resource for educators teaching the language.

Free

Khan Academy

Users watch videos, do exercises and play with sample code to learn JavaScript programming basics. Completely browser-based with an interactive player/editor.

Free

KidsRuby

This free, downloadable program teaches kids Ruby and can be used completely offline. KidsRuby includes resources from other programs like Hackety Hack and Ruby Warrior. It can be installed on Mac, Linux, Windows, and even Raspberry Pi.

Free

MIT OpenCourseWare

This initiative by MIT puts all of the course materials from the university's undergraduate and graduate courses online. This includes syllabi, reading lists, and sometimes practice questions and video lectures. Covers many formal programming languages and offers advanced theory classes as well. Recommended for students who are self-motivated.

Free

Mozilla Thimble

Sample websites with annotations guiding students to change variables to impact aesthetics and usability. Instructors will want to create their own lessons around the content.

Free

Treehouse

Over 100 interactive courses that cover languages from HTML to Ruby on Rails, and organized according to real-world skills such as web design, backend development and building apps.

$25 to $49/mo

W3 Schools

Extensive tutorials in web development languages like HTML, CSS, JavaScript, XML, PHP, and SQL. Includes interactive sample code.

Free



Games—and Tools to Code Your Own Games

Product Price Code Combat

In-browser, multiplayer live coding game set in a fantasy world. You play as a wizard who navigates obstacles and battles enemies using Javascript.

Free for first course; additional courses require one-time fee

Globaloria

Blended-learning courses that teach students to design and code educational games using Flash Actionscript, Unity3D, JavaScript, and more. Used as standalone courses or to supplement core classes.

Free. Contact Globaloria about school subscription. Hakitzu

This iPad game teaches the fundamentals of JavaScript by allowing players to program robots to compete in arena battles.

Free (in-app purchases available)

JS Dares

A collection of JavaScript lessons that go from teaching a student about basic syntax to helping them recreate working games. Browser-based and completely free.

Free

Kodable

Kodable is a freemium educational iPad game offering a kid-friendly introduction to programming concepts and problem solving. For kids ages 5 and up.

Free to $6.99; school pricing available

Kodu

Created by Microsoft, this program uses a visual language to create games. While the PC version is free, Xbox 360 users can pick up a copy for $5.

Free

Stencyl

Game creation software that allows users to make playable apps for iOS, Android, HTML5, Window, and Mac. The game logic is programmed with visual blocks. The official site has forums and a crash course to get you started.

Free



Learn to Program Hardware

Product Price Arduino

A popular choice for hands-on learners who want their code to interact with the real world. Can be used for creating a range of projects in the Arduino Code programming language--from light up coffee tables to robots. Extensive documentation of projects online at websites like Instructables. Instructors take note that LEDs, motors, and sensors cost extra. Fairly involved hardware and programming environment setup time.

$25+

Lego Mindstorms EV3

The ubiquitous blocks from Denmark get a technological upgrade. This set allows users to create and program robots through a visual programming language. Big for hands-on learning (with a big price tag to match). Instructors keep in mind that projects require construction and programming time. Support can be found on the Mindstorms forum. Windows and Mac compatible.

$350

Piper

Piper combines Minecraft, Raspberry Pis and circuit boards—all in a box. The kit comes with a Raspberry Pi board, a 7-inch LCD display, a power bank, and a hodgepodge of breadboards, wires and buttons. Designed for kids of all ages, Piper challenges players to solve virtual puzzles in Minecraft by using the physical circuit controller to build bridges and switches.

$250

Primo

Primo literally takes the concept of “block coding” to create an Arduino-powered toy set that includes a plywood board, a wooden robot, and color-coded blocks that each instruct one move that Cubetto can make.

£170 (currently on backorder)

Raspberry Pi

This credit card-sized single board computer packs a punch! The Pi can be used for hands-on fun like an Arduino and is powerful enough to run a version of Minecraft. eLinux.org has a wealth of tutorials and projects for the tiny titan of the "Maker" world. Instructors take note that LEDs, motors, and sensors cost extra.

$5+

Sphero

Let's get rolling! Sphero and sidekick Ollie are interactive spherical robots that you can program on your iOS, Android and Windows devices. There are dozens of apps available, as well as a growing educator community. These may be the droids you are looking for.

$100+

Wonder Workshop

These two delightful robots—Dot and Dash—offer a wide range programming activities for kids ages 5 to 12 and beyond. All you need is a smartphone. While they can operate independently, they're best when paired together, says the creators, since they can sense one another and offer kids more advanced programming challenges.

$170+



Wanna Get Serious? Try a Course!