I’ve never really thought about how we, as a society, have used computers to aid learning. What makes learning with computers better than learning from a book or a lecture? It turns out, nothing. We’ve been doing it all wrong. The tradition of deploying computers to schools and classrooms as digital textbooks and interactive testing machines hasn’t produced dramatically better outcomes. Sure, early exposure to computers has produced students better prepared to enter the workforce as “knowledge workers” and spend 8 hours a day manipulating digital interfaces. But, at a very fundamental level, the model of educating alongside computers has missed an enormous opportunity.

Mindstorms is more than 30 years old, but the ideas and concepts are more relevant than ever. Particularly in light of the recent push to make programming the new literacy, Mindstorms explains why programming is not merely career preperation for the 21st century, but rather an amazing tool that teaches us how to learn. One specific aspect of programming described in the book that is also integral to our learning process is the idea of debugging.

Debugging is an essential part of programming computers and our natural learning ability yet it remains a concept mostly omitted from traditional education. Debugging allows developers and learners alike to methodically approach the correct solution to a problem by proposing and testing answers that are less and less wrong. Traditional education, however, depends on toxic absolutism: answers are either right or they are wrong. On a test you might get credit for showing your work, but there’s no opportunity for instant real-time feedback that might allow you to better understand where you went wrong. This is the power of debugging: instant feedback that leads to a virtous cycle of analysis, adjustment and understanding.

Overall, a great book that convincingly explains how much greater an impact computers could have in education. The proposed learning methodologies aren’t all that controversial, actually, it's the idea that we need to undertake a significant overhaul to the education system in order to put those methodologies in place that would be contentious. Indeed, in one example shared in Mindstorms, the power of programming depended on a dramatic role reversal: the teacher stepped down from being the keeper of knowledge to become another learner, debugging alongside the students.

On a tangential but related note, check out the work of Bret Victor. His work on creating tools that help us understand is simply amazing and it was his call to action that got me reading Mindstorms in the first place.