A meta-analysis of teaching and learning computer programming: Effective instructional approaches and conditions
Scherer, R., Siddiq, F., & Sánchez Viveros, B. · 2020
grade Cmeta-analysisindependentmixed
Sample
139 interventions, 375 effect sizes
Population
K-12 and higher education programming learners, international; ages not separable at abstract depth.
Design
The companion to the same team's 2019 transfer meta, and the anchor source for the domain-skill leg of this subject. Three separate syntheses — programming interventions per se, visualisation and physicality, and dominant instructional approaches. The "per se" arm pools mostly small pre-post and weak quasi-experimental contrasts with treatment-aligned outcome measures, which is why g = 0.81 sits well above anything a controlled contrast produces, and the confidence interval is enormous (0.42 to 1.21). Read at ABSTRACT depth: the article is CC-BY licensed but every open route failed, so the moderator tables and the measure-type breakdown are unverified. That is real debt on the topic's anchor.
Key findings
Programming interventions per se g = 0.81 (95% CI 0.42-1.21). Visualisation g = 0.44 (0.29- 0.58); physicality g = 0.72 (0.23-1.21); dominant instructional approaches g = 0.49-1.02. The moderator result is the real story and it is deflationary: effect sizes differed only MARGINALLY between the instructional approaches and conditions. Standouts were collaboration within metacognition instruction, problem-solving instruction outside regular lessons, short-term physicality, and Scratch-based visualisation.
Genetic confound
Medium. The pool is dominated by quasi-experimental and pre-post designs, so selection into treatment is present in much of the base. It is not the main threat — measure alignment is.
Replication notes
The magnitude is echoed by independent teams (Hu 2024 g = 0.62; Simonsmeier 2025 d = 0.73), but the specific approach-contrasts it reports are contradicted wherever anyone has tested them head to head — most importantly Xu et al. (2019), whose block-versus-text pooled estimate is a null with detected publication bias.
DOI / URL
10.1016/j.chb.2020.106349
Effects
| Outcome | Metric | Value | Measure | Timing | Vs | Horizon | Class |
|---|---|---|---|---|---|---|---|
| Learning to program (programming interventions per se) | Hedges g | 0.81 (95% CI 0.42-1.21) | researcher-designed | end of intervention | unclear | end-of-treatment | domain-skill |
| Visualisation-based interventions (e.g. Scratch) | Hedges g | 0.44 (95% CI 0.29-0.58) | researcher-designed | end of intervention | active-alternative | end-of-treatment | domain-skill |
| Physicality-based interventions (robotics and tangibles) | Hedges g | 0.72 (95% CI 0.23-1.21) | researcher-designed | end of intervention | active-alternative | end-of-treatment | domain-skill |
| Differences between instructional approaches | moderator test | effect sizes differed only marginally between approaches and conditions | researcher-designed | end of intervention | active-alternative | end-of-treatment | domain-skill |
Cited by
- Does teaching programming actually teach programming — and does the method matter?moderate supportconf: mediumgc: low