Resources to teach/learn coding/programming for young people.
- Computer Science Education Week
CSEdWeek is an annual program dedicated to inspiring K-12 students to take interest in computer science. This year they sponsored Hour of Code to encourage students to spend an hour learning to code.
- Hour of Code Tutorials
Tutorials for all ages to learn beginning coding.
- Kahn Academy Hour of Code Tutorials
Hopscotch teaches kids to code using simple, intuitive building blocks. Kids can create games, animations and other programs in this colorful, interactive environment.
Program your characters to move, draw, and collide with each other, and use shaking, tilting, or even shouting at the iPad to control them. Hopscotch was inspired by MIT’s Scratch and gives kids a creative way to learn the fundamentals of computer programming.
- Daisy the Dinosaur
Learn the basics of computer programming with Daisy the Dinosaur! This free, fun app has an easy drag and drop interface that kids of all ages can use to animate Daisy to dance across the screen. Kids will intuitively grasp the basics of objects, sequencing, loops and events by solving this app's challenges.
Light-bot is a programming puzzle game: a puzzle game that uses game mechanics that are firmly rooted in programming concepts.
Light-bot lets players gain a practical understanding of basic control-flow concepts like procedures, loops, and conditionals, just by guiding a robot with commands to light up tiles and solve levels.
- RoboLogic 2 HD
RoboLogic is a neat logic game. You have to "program" a robot's movements by dragging commands to the memory of the bot. Your goal is to activate all the marked boxes.
Very soon you will realize though that using only the main memory is not enough and you will have to start creating and calling re-usable functions to achieve the goal.
RoboLogic is very easy to learn, but hard to master.
- Move the Turtle
Move The Turtle is an educational application for iPhone and iPad that teaches children the basics of creating computer programs, using intuitive graphic commands.
Do you remember the Logo programming language? A friendly Turtle will introduce your child step by step to the basic concepts of programming in a colorful graphic environment.
- Gamestar Mechanic
Teachers set up accounts in Gamestar Mechanic for a class. Students learn the principles of game design by playing games. After playing their way through the lessons, students can create their own games. Begun with a MacArthur Foundation grant, now a part of E-Line Media.
Greenfoot teaches object orientation with Java. Create 'actors' which live in 'worlds' to build games, simulations, and other graphical programs. Greenfoot is visual and interactive. Visualisation and interaction tools are built into the environment.
Snap (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to Build Your Own Blocks. It also features first class lists, first class procedures, and continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.
- Code Monster
Code Monster is part of the Crunchzilla suite of game and educational projects developed by Geeky Ventures. Projects start with simple boxes and colors, rapidly progressing into exciting experiments with simple animation and fractals. Important programming concepts like variables, loops, conditionals, expressions, and functions are introduced by example.
- Lego Robotics
Lego Mindstorms’ kits include sensors and motors, and the programming is command-box rather than code programming. The kits come with languages supplied by Lego, but can be modified to work with third party languages.
an open-source electronics prototyping platform with both hardware and software components. Arduino’s hardware is programmed with a language similar to C++, and although it may not be the easiest of entry points for learning programming, there’s something about building things that actually move that can be pretty compelling.
- Raspberry Pi
is a credit-card sized computer that plugs into your TV and a keyboard. It is a capable little computer which can be used in electronics projects, and for many of the things that your desktop PC does, like spreadsheets, word-processing and games.
Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web. From MIT and the NSF.
3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a teaching tool for introductory computing. Tutorials available, multi-university intiative
- Kids Ruby
KidsRuby makes it fun and easy to learn how to program. Site that includes directions and screencasts for a new programmer, young or old, to get started in the Ruby programming language. Ruby will work on Raspberry Pi.
Visual programming language made specifically for creating games. It is designed to be accessible for children and enjoyable for anyone. The programming environment runs on the Xbox, allowing rapid design iteration using only a game controller for input.
- Computer Science Unplugged
CS Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.
The activities introduce students to underlying concepts such as binary numbers, algorithms and data compression, separated from the distractions and technical details we usually see with computers.
CS Unplugged is suitable for people of all ages, from elementary school to seniors, and from many countries and backgrounds. Unplugged has been used around the world for over fifteen years, in classrooms, science centers, homes, and even for holiday events in a park!