Learning by Taking Apart
Jean M. Griffin · 2016
This theoretical paper discusses several lines of research which support the premise that people learning to program can do so more effectively and efficiently if they spend as much time deconstructing code (reading, tracing, and debugging) as they do writing code. This work builds upon research in computing education on reading and tracing code, and in education psychology on learning from worked-examples and errors. A graphical model is included of cognitive science principles that scaffold the process of learning to solve problems. A sample learning progression is provided for teachers and instructional designers. The progression begins with low-stakes deconstructionist activities such as exploring, identifying, comparing, and debugging, before activities that require writing code. Deconstructionism is discussed as a pedagogy and learning theory complementary to Seymour Papert's Constructionism.