The presence of computers in households around the world has changed family dynamics, especially with regard to parent-child relationships. As Papert (1996) has pointed out, the comfort that the younger generations have with computers has made children more independent of their parents in their exploration of the world. He suggested that parents should spend more time trying to find good family computer projects to do together with their children and "use the children's enthusiasm for computers as a basis for enhancing the family's learning culture" (p.79). Margolis and Fisher (2002) also emphasized that "parents impart their computer enthusiasm and skills to their children, and through early mastery acquired at home children gain a competence and confidence they carry with them into school" (p.20).
In addition to playing computer games, surfing the net, making a multimedia show, and doing other activities using off-the-shelf application packages, computer programming may be a more educational task that parents may do together with their children. In an attempt to assess the effects of learning computer programming on the cognitive style of 18 1st-graders, Clements & Gullo (1984) concluded that computer programming can increase some aspects of problem-solving ability, including reflectivity, divergent thinking, metacognitive ability, and the ability to describe directions. Programming can also provide parents with a window into a child's mind because a program has imbedded in it the child's concepts, strategies, and styles, which could only be the product of the child's mind (Valente, 1995). When children are engaged in the process of programming, they cycle through the steps of "description-execution-reflection-debugging-description" repeatedly. These steps, particularly the debugging activity, help a child to construct knowledge and learn about problem-solving strategies (Valente, 1995). According to Ellinger (2003), the programming experience is profoundly educational for most people because programming is meticulous; programming teaches self-criticism and responsibility; programming is creative; and programmers communicate, collaborate and share.
Over the past decades many programming languages and environments have been developed that are intuitive and can be easily learned by both children and adults who have no previous programming experience. Notable examples include Alice (http://www.alice.org/), Lego Mindstorms (http://mindstorms.lego.com/), various versions of Logo (http://www.logofoundation.org), Pico Crickets (http://www.picocricket.com/), Scratch (http://www.scratch.mit.edu), Squeak (http://www.squeak.org/), and Stagecast Creator (http://www.stagecast.com/index.html). Interested readers may refer to Kelleher & Pausch (2005) for a more extensive list of such tools.
The idea that parents can positively influence their children's education is common sense. Practically any teacher will verify that parents who care enough to be involved in their children's learning tend to have children achieve at a higher level. Unfortunately, parent-child collaboration in learning computer skills, especially in learning computer programming, has rarely aroused attention, as evidenced by scarce published studies related to it. Among those very few studies, Armon (1997) found that the LEGO-Logo courses he offered to 18 parent-child (six-grader) pairs helped to foster and cultivate the participants' thinking skills and creativeness, as well as improve family ties and bring about better understanding between parents and their children; Hughes & Greenhough's study (1995) showed that seven-year-old children working with an adult performed significantly better than children working without an adult when they learned to use simple Logo commands. More recently, in a set of workshops organized by Hart (2010), which were targeted at girls in grades 4-6 and their parents/guardians, the children experienced pair programming with their adult counterpart while participating in activities such as the Alice storytelling challenge and Pico Cricket design studio. …