Type: Review Article
Purpose: The purpose of this review is to present three assertions about the "relationship between learning to program and learning to think" (p. 605).
Findings: The assertions are discussed from the perspective of transfer of problem-solving strategies in one domain to another. The first assertion made was that learning a programming language enhances thinking skills. Studies from this assertion were mixed. For example, Pea and Kurland (1985) did not find evidence that Logo activities improved student's problem solving skills, while Gorman and Bourne (1983) found that if students were given an extra hour of computer time each week students did perform better on logical reasoning tests. There were also mixed results with Basic programs where results are suggestive that there is a connection between programming and problem solving in other domains (p.606). Overall, learning programming may result in increases in thinking skills, but there is no support that learning to program will increase general thinking skills. The second assertion is that certain thinking skills will enhance the learning of programming (p. 608). This assertion is concerned with identifying specific thinking skills associated with increase programming ability. Researchers found learning Basic was related to general intellectual ability especially in the areas of logical reasoning and spatial ability. The third assertion is concerned with pre-training on certain thinking skills as a way to enhance learning to program (p.609). Studies found that pre-training particularly in procedure comprehension to novice programmers was effective.
Recommendations: Authors suggest to focus on thinking skills related to cognitive components of programming rather than focusing on general intellectual ability.