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 respectively. While the debate is not settled, more and more evidence is presented by researchers that explicit direct instruction is more effective than exploratory learning in teaching language and mathematics and science. These findings raise the question whether that might be true for programming education too. This is especially of interest since programming education is deeply rooted in the constructionist philosophy, leading many programmers to follow exploratory learning methods, often without being aware of it. This talk outlines this history of programming education and additional beliefs in programming that lead to the prevalence of exploratory forms of teaching. We subsequently explain the didactic principles of direct instruction, explore them in the context of programming, and hypothesize how it might look like for programming.
I am assistant professor at Delft University of Technology, where where I research end-user programming. End-user programming is programming for everyone that does not think of themselves as a programmer. In my PhD dissertation I worked on applying methods from software engineering to spreadsheets. During my PhD I founded a company called Infotron, which sells a tool called PerfectXL based on techniques I developed to spot errors in spreadsheets. Me, my research and my company have gotten some media coverage over the last years. One of my biggest passions in life is to share my enthusiasm for programming/tech with others. I teach a bunch of kids LEGO Mindstorms programming every Saturday in a local community center. Furthermore, I am one of the founders of the Joy of Coding conference, a one day developer conference in Rotterdam and one of the hosts of the Software Engineering Radio podcast, one of the biggest software podcasts on the web. When I am not coding, blogging or teaching, I am probably dancing Lindy Hop with my beau Rico, out running, watching a movie or playing a (board)game.