A recent Time article worth reading, Why Basic Coding Should Be a Mandatory Class in Junior High http://time.com/2881453/programming-in-schools/
The list below contains coding resources. They are divided into different categories, have a short description along with the website link, and the recommended age level.
On the computer:
Code.org--Learn the basic concepts of Computer Science with drag and drop programming. 15-25 hours of "unplugged" classroom activities interspersed with game-like, self-directed tutorials starring video lectures by Bill Gates, Mark Zuckerberg, Angry Birds and Plants vs. Zombies. Learn repeat-loops, conditionals, basic algorithms, functions, and variables. US students earn awesome prizes for completing all stages!
Age level: 6-106 | Modern browsers, tablets
Tynker--Tynker makes it fun & easy to learn programming. It makes it visual. Kids build games and mobile apps by arranging blocks of code. It removes the need to know programming syntax. Kids transform ideas into animated stories and math art right away. It promotes progressive learning. As kids learn fundamentals, Tynker introduces more advanced concepts including syntax driven programming.
Age level: 5-13 | Modern web browsers
Scratch--With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century. Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.
Age level: 8+ | Any browser
On an iPad OR Android tablet:
LightBot--Learn core programming logic, starting from super-basic programming, for ages 4+, on iOS or Android (or Web browser) . Learn how to sequence commands, identify patterns, use procedures, and utilize loops!
Age level: Elementary or All ages | iOS, Android (or web browser)
Cargobot Two Lives Left--Cargo-Bot is a puzzle game where you teach a robot how to move crates. Sounds simple, right? It features 36 fiendishly clever puzzles, haunting music and stunning retina graphics. You can even record your solutions and share them on YouTube to show your friends.
Age level: 8+ iPad
Kodable-- is a free educational iPad game offering a kid-friendly introduction to programming concepts and problem solving. For kids ages 5 and up, and tools for grownups too!
Age level: 5+ iPad
Hopscotch--looks a lot like Scratch and Tynker and uses similar controls to drag blocks into a workspace, but it only runs on the iPad. The controls and characters are not as extensive as Scratch and Tynker, but Hopscotch is a great tool to begin helping students without coding experience learn the basics of programming, logical thinking and problem solving. Age level: 9+ https://www.gethopscotch.com/
Age level: Middle school + | Modern Web browsers
Age level: High school | Modern web browsers or iPad
CodeHS--Learn the basics of programming with Karel the Dog, a fun, accessible and visual introduction to coding, where giving commands to a computer is just like giving commands to a dog. This tutorial is great if led by a teacher, but can also be done independently.
Age level: High school | Modern browsers
Learn to Code Websites
Age level: Middle school + | Modern Web browsers
Other Programming Languages
**Note some require an install to desktop
Grok Learning--An introductory course using the programming language Python for people with no programming experience. Our unique mix of introductory content and challenges will bring you to a thorough understanding of Python and programming itself. We've taught this content to students of varying ages from diverse backgrounds and we're sure it'll suit you too.
Age level: Middle school + | Modern web browsers
RoboMind Academy--Students learn the basics of programming by controling their own virtual robot. The online course is fully self-contained with short presentations, movies, quizzes and automatic guidance/hints to help with the programming exercises.
Age level: 8-13 | Modern web browsers, Mobile web
**KidsRuby--Have fun and make games, or hack your homework using Ruby! Just tell your parents or teachers you're learning Ruby programming... ;). Free and works on any computer. [Note: Desktop install required]
Age level: 12+ | Desktop install
**Learn Ruby--Hackety Hack will teach you the absolute basics of programming from the ground up. No previous programming experience is needed! With Hackety Hack, you'll learn the Ruby programming language. Ruby is used for all kinds of programs, including desktop applications and websites. [Note: Desktop install required]
Age level: High school | Desktop install
**Alice--Using an innovative programming environment to support the creation of 3D animations, the Alice Project provides tools and materials for teaching and learning computational thinking, problem solving, and computer programming across a spectrum of ages and grade levels. In Alice's interactive interface, students drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#.
Age level: Middle school, Desktop install
Build an iPhone game in your browser
MakeGamesWithUs--Know some ObjectiveC? Learn to make an iPhone game in an hour! We'll guide you through the process, to code, test, and play your game entirely in the browser and then share it on Facebook for friends to try! No prior iPhone development experience is required. You must understand what variables, methods, and objects are.
Age level: High school | Modern Web browsers
Age level: High school + | Modern browsers
Make your own apps
AppInventor--MIT Center for Mobile Learning @ The Media Lab--Entertaining, video tutorials walk you through building three simple apps for your Android phone or tablet. Designed for novices and experts alike, this hour of code will get you ready to start building your own apps before you know it. Imagine sharing your own app creations with your friends! These activities are suitable for individuals and for teachers leading classes.
Age level: Middle school + | Modern browser + Android
TouchDevelop--TouchDevelop lets you create apps on iPad, iPhone, Android, PC, Mac, Windows Phone. Our touch-friendly editor makes coding fun, even on your phone or tablet!
Age level: High school | Modern browsers, smartphones, all devices
Codea Two Lives Left--Codea for iPad lets you create games and simulations — or just about any visual idea you have. Turn your thoughts into interactive creations that make use of iPad features like Multi-Touch and the accelerometer. We think Codea is the most beautiful code editor you'll use, and it's easy. Codea is designed to let you touch your code. Want to change a number? Just tap and drag it. How about a color, or an image? Tapping will bring up visual editors that let you choose exactly what you want.
Age level: High school + | iPad