Does computer programming teach students how to think? Learning to program computers has gained considerable popularity, and educational systems around the world are encouraging students in schools and even children in kindergartens to engage in programming activities. This popularity is based on the claim that learning computer programming improves cognitive skills, including creativity, reasoning, and mathematical skills.
In this meta-analysis, we tested this claim performing a 3-level, random-effects meta-analysis on a sample of 105 studies and 539 effect sizes. We found evidence for a moderate, overall transfer effect (g = 0.49, 95% CI [0.37, 0.61]) and identified a strong effect for near transfer (g = 0.75, 95% CI [0.39, 1.11]) and a moderate effect for far transfer (g = 0.47, 95% CI [0.35, 0.59]). Positive transfer to situations that required creative thinking, mathematical skills, and metacognition, followed by spatial skills and reasoning existed. School achievement and literacy, however, benefited the least from learning to program. Moderator analyses revealed statistically-significantly larger transfer effects for studies with untreated control groups than those with treated (active) control groups. Moreover, published studies exhibited larger effects than gray literature.
These findings shed light on the cognitive benefits associated with learning computer programming and contribute to the current debate surrounding the conceptualization of computer programming as a form of problem solving.
[Keywords: cognitive skills, computational thinking, computer programming, three-level meta-analysis, transfer of skills, passive control group inflation, publication bias]
Educational Impact and Implications Statement: In this meta-analysis, we tested the claim that learning how to program a computer improves cognitive skills even beyond programming. The results suggested that students who learned computer programming outperformed those who did not in programming skills and other cognitive skills, such as creative thinking, mathematical skills, metacognition, and reasoning. Learning computer programming has certain cognitive benefits for other domains.
Moderators: …Statistically-significantly higher effects occurred for published literature (g = 0.60, 95% CI [0.45, 0.75]) than for gray literature (g = 0.34, 95% CI[0.15, 0.52]; QM[1] = 4.67, p = 0.03).
Besides the publication status, only the type of treatment that control groups received (ie. treated vs. untreated) statistically-significantly explained Level 2 variance, QM(1) = 40.12, p < 0.001, R22 = 16.7%. More specifically, transfer effect sizes were statistically-significantly lower for studies including treated control groups (g = 0.16) than for studies including untreated control groups (g = 0.65). [0.65 / 0.16 = 400% bias].