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, according to developers, but the ease of use on the iPad along with the visual pop-ups within the code and the immediate response of 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.Continue reading Show less
Codea is a programming platform for the iPad using the Lua programming language. Students familiar with programming can pick it up and pretty quickly start writing their own programs, like 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 -- set-up 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.Continue reading Show less
What's impressive about Codea is that it is 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 think critically as they write the code. They are empowered to create whatever their mind can conceive -- games, graphics, sound effects. Codea is a professional tool that has enough help features that students can learn programming hands-on.Continue reading Show less
Key Standards Supported
Analyze a major global challenge to specify qualitative and quantitative criteria and constraints for solutions that account for societal needs and wants.
Design a solution to a complex real-world problem by breaking it down into smaller, more manageable problems that can be solved through engineering.
Evaluate a solution to a complex real-world problem based on prioritized criteria and trade-offs that account for a range of constraints, including cost, safety, reliability, and aesthetics, as well as possible social, cultural, and environmental impacts.
Use a computer simulation to model the impact of proposed solutions to a complex real-world problem with numerous criteria and constraints on interactions within and between systems relevant to the problem.
Define the criteria and constraints of a design problem with sufficient precision to ensure a successful solution, taking into account relevant scientific principles and potential impacts on people and the natural environment that may limit possible solutions.
Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.
Analyze data from tests to determine similarities and differences among several design solutions to identify the best characteristics of each that can be combined into a new solution to better meet the criteria for success.
Develop a model to generate data for iterative testing and modification of a proposed object, tool, or process such that an optimal design can be achieved.