Big_2013-6-18-codingguide
EdSurge
Edsurge_bolt_200

Teaching Kids to Code

EdSurge Guide

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, we can now wrought in code. We are teaching coding to help our kids craft their future.

In this collection, we share perspectives on coding from a university professor's vantage (MIT's Mitch Resnick describes why learning to code is like learning to learn) to an elementary school's point of view (Sheena Vaidyanathan describes the program for sixth graders in Los Altos, Calif.), and other points in between.

You can learn to code on your own by dipping into one of the 40 tools for learning to code that EdSurge's Kris Hattori has compiled (check out the bottom of this page). Or you can pack your kids off to summer coding camp, as Tony Wan explains.

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, give us a tweet @edsurge.

Articles on EdSurge

Print

Product Comparisons

Tools to Learn Coding

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 'leet coder looking for advanced training, you'll find something to help you hone your skills.

"Math Prerequisite" indicates the amount of math a student should know to make the most of a tool: Elementary, Middle, and High School and above. "Prep Time" is relative: some products require hardware setup, user authentication, and lesson planning while others are browser-based and ready to go. Prices (as of May 2013) are as indicated, with any extra fees noted in a product's description.

Have other favorites? Let us know at feedback@edsurge.com

Learn Coding Logic

Compiled by EdSurge

Product Math Prereq Prep Time Price
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
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
Hakitzu
This iPad game teaches the fundamentals of JavaScript by allowing players to program robots to compete in arena fights. Requires no prior knowledge of coding to play.


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

Free
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
Move the Turtle
Based on the Logo programming language, players learn coding logic by guiding a turtle through obstacles to a destination. Players can also use its composer function to create intricate designs.


$2.99
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. 


$1.99

Learn to Program Hardware

Compiled by EdSurge

Product Math Prereq Prep Time 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.


$30
Lego Mindstorms NXT 2.0
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.


$280
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. 


$35

Learn to Code With Visual Blocks

Compiled by EdSurge

Product Math Prereq Prep Time 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
Pluralsight
Detailed video tutorials for Scratch and App Inventor for Android. Advanced students can check out tutorials on C#.


Free
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
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
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 for schools. 


Free

Learn a Formal Coding Language

Compiled by EdSurge

Product Math Prereq Prep Time Price
Code Avengers
In-browser exercises and courses in JavaScript, HTML5, and CSS3. Courses are free for individuals and $5 each for student licenses (which include extra resources and progress tracking) with bulk discounts available.


Free
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
Code Hero
Still in alpha, this game aims to teach JavaScript in the context of a first-person-shooter. Users blast objects using a code gun, which applies specific properties to those objects. 


$13.37
Code School
Offers full courses in JavaScript, HTML, CSS, Ruby, and iOS. Students will learn through video and practice coding in their browser--no downloads required!


$25/mo
Codecademy
Full courses in HTML, CSS, JavaScript, Python, Ruby, and PHP. Exercises are done in browser and checked automatically for accuracy.


Free
CodeHS
Students learn JavaScript by commanding a dog named Karel to move around the screen. Classes advance to understanding data structures and programming for games. The first module is free to use, gaining access to the rest of the site is $25/month, and receiving feedback and debugging in addition to access is $75/month.


$25/mo
CodeLesson
Full courses in a variety of languages: Javascript, HTML5, CSS, Ruby, Python and more. Classes are online and instructor led and students must be able to download the programming environments to their computers. Prices are on a per course basis and vary with each class.


$200+
/lesson
Coursera
Beginning courses in JavaScript, Python, SQL and general computer science. Also offers higher level logic courses in topics like Data Science, Artificial Intelligence, and Computational Neuroscience. Note that classes have start and end dates. Founded by Stanford computer science professors, Andrew Ng and Daphne Koller.


Free
edX
Covers languages like Python, Ruby, C++ as well as higher level classes in Artificial Intelligence and Computer Graphics. Classes are taught through video, PDFs, and tutorials. Students answer problem sets and take tests online. Discussion boards connect students with professors and each other. Note that courses have specific start and end dates. 


Free
Globaloria
Blended-learning courses that teach students to design and code educational games. Start by playing and analyzing games, move onto prototyping and coding in Flash Actionscript, Unity3D, Java Script, and more. Used as standalone courses or to supplement core classes. Annual school subscription $75/student includes onsite professional development, virtual mentorship, and daily support system for students, teachers and administrators.


$75
/student
Hackety Hack
An introductory Ruby environment for Mac, Windows, and Linux. Its website includes a few early lessons in Ruby.


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


Free
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
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
Learn Code the Hard Way
As its name suggests, this set of courses is for self-motivated learners. Html lessons walk complete novice coders through their languages of choice: Ruby, C, SQL, Regex, or CLI. Each course requires the installation of the chosen development environment (which is explained thoroughly). For $29, students can buy PDF versions of the lessons as well as gain access to tutorial videos.


Free
LearnStreet
Courses in JavaScript, Ruby, Python, HTML, and CSS where students can practice coding in their browsers. Courses are free but users can pay for 1 on 1 tutoring.


Free
Lynda.com
A collection of video tutorials covering a wide variety of formal coding languages. Beginners and advanced users alike can find lessons to suit their needs. Access to videos costs $25/month; users can access videos and exercise files for $37.50/month.


$25/mo
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
Programr
Offers a full course in Java through video and interactive code. Also has extensive sample code from many other formal languages like C++, PHP, Ruby, Python, Android, and iOS. 


Free
Stack Overflow
Massive repository of coding information and help available online. Covers every formal coding language on this list.


Free
The Puzzle School
JavaScript and HTML training in the context of puzzles. While not a full course in the languages, the browser-based games teach important fundamentals. 


Free
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
Tuts+ Premium
Full courses in JavaScript, HTML, CSS, Ruby, and other web development tools. Subscriptions are $19/month with discounts for groups.


$19/mo
Udacity
Developed at Stanford, this MOOC covers many different coding topics including Java, HTML5, Python, as well as logic classes in AI and debugging.


Free
Udemy
This MOOC covers a wide range of programming langauges including: Java, Ruby, C++, PHP, HTML, CSS, and more. Courses are taught through video, slides, and PDFs and require students to install the appropriate programming environments. Classes generally range between $50 and $100.


$50+ /lesson
W3 Schools
Extensive tutorials in web development languages like HTML, CSS, JavaScript, XML, PHP, and SQL. Includes interactive sample code. 


Free