Take a look inside 5 images
Codea
Pros: The example programs are a great scaffolding tool to allow students to change little details within the programs and learn to code in the process.
Cons: Students need to be self-motivated to learn to program in order to invest the time needed to master Codea.
Bottom Line: Codea is a professional tool that has enough help features that kids can learn programming hands-on.
Point kids to the Getting Started section's Codea Wiki to try out the For Kids tutorial. It offers a step-by-step guide for beginners. A class could work through the tutorial together before students set off to develop on their own or with partners or small groups. Codea as a development tool itself is fabulous, but the ease of use on the touchscreen along with the visual pop-ups within the code and the immediate response to code errors make it a real winner for beginners. The tool is straightforward, though, with no game-like bells and whistles, so kids will need to find some internal motivation to work through it.
As kids get comfortable with the code, they can venture into the example programs and play around with the code, learning as they do so. Many programmers get started just that way: playing around with code from books, copying it, and then changing it up to see what happens. Since students can start with a tutorial, move into adapting existing code, and then go on to create their own original programs, Codea can reach many programmers at many levels.
Codea is a coding platform for mobile iOS devices using the Lua programming language. Students familiar with programming can pick it up and pretty quickly start writing their own programs, such as games or other graphics, for the iPad. Those new to programming can alter sample programs to become more familiar with programming. Starting with a boilerplate that includes the two required functions -- setup and draw -- that serve as the hooks into the Lua program, kids then fill in the specifics of the program. Codea is visual, so as students type in the command, for example, COLOR, a pop-up appears for them to choose their color from the color wheel. Students will then see the code for the color they chose. On the website, there's a reference page with some resources, and there's a forum to check in with other users. If students export their work to Xcode, they'll have a real working app.
What's impressive about Codea is that it's a real tool for creation. Students will try to create, they'll fail, and then they'll try again until they get it right. It's hands-on learning in a real-world environment. Even students who aren't considering a career in programming will benefit from understanding how software code is written and how to tweak it to customize existing code. Students will have to problem-solve as they write the code. They are empowered to create whatever their mind can conceive: games, graphics, sound effects. Because there's a forum and some reference materials, motivated kids can find some guidance when they get stuck. And the ability to explore their work -- and see examples of working apps -- adds a layer of relevance. Though it's not a curriculum or even a teaching tool, it's a great app for students who love coding and want to take it to the next level.