In education, there is and has always been debate about how to teach. One of these debates centers around the role of the teacher: should their role be minimal, allowing students to find and classify knowledge independently, or should the teacher be in charge of what happens in the classroom, explaining students all they need to know? These forms of teaching have many names, but the most common ones are exploratory learning and direct instruction. While the debate is not settled, more and more evidence is presented by researchers that explaining is more effective than exploring in teaching language and mathematics and science.
So… might this true for programming education too? This talk outlines this history of programming education and additional beliefs in programming that lead to the prevalence of exploratory forms of teaching.