Abstract
This article examines the effect of metacognitive instruction on students' achievement in introductory programming courses over traditional predictors of performance. Metacognitive instruction was conceptualized as a package, aimed at inducing students to develop a metacognitive strategy relevant for computer programming via interactive teaching. The metacognitive strategy consisted of a five-step planning strategy to guide students' program planning process. The interactive teaching approach involved explicit modeling, coaching and collaborative learning. An experimental field study conducted with twenty-eight experimental and twenty-eight matched control students revealed that metacognitive instruction is a better explanatory construct for students' computing performance than traditional person variables such as background knowledge, program major, gender or age. The impact of metacognitive instruction on the learning processes and outcomes of students with different personal characteristics was systematically examined.