
HANDS (2002)
HANDS is a new programming system for children. HANDS provides a concrete model for computation as an alternative to requiring beginners to learn a whole new set of programming concepts like procedures, variables, parameters, scoping, flow of control, etc. In HANDS, the computation is represented by a character sitting at a table, reacting to events and manipulating cards that contain all of the program's data. The HANDS language provides primitives that closely match the language we observed in our studies of children, who were solving problems before they had learned how to program. For example, queries and aggregate operators in HANDS allow many tasks to be specified more naturally than in other languages that require the use of search and iteration. HANDS also includes built-in support to help the programmer create interactive simulations and games.