“Mindstorms” — Coding and Learning
“Mindstorms: Children, Computers, and Powerful Ideas” by Seymour Papert is a book about how the LOGO programing language was developed, and the insights that were gained when LOGO was introduced to children. The core message that I got from the book, however, is the author’s passion for learning, and his belief that by thinking about thinking, we can become better at it.
To me the book felt dense and difficult to read, yet I found it so full of new and interesting concepts, that I thoroughly enjoyed it. The ideas introduced to me by this book, lingered in my mind long after I finished reading.
As someone who is interested in learning, and also learning coding, I found Chapter 4 “Languages for Computers and for People,” to be a wonderful explanation of “structured programming” — the process of subdividing a program into natural parts so that debugging could be done much more easily. The chapter starts with discussing a scenario of a child writing a program using LOGO, and showing why subdividing a program into smaller parts is such a useful strategy. Then the author presents the same strategy, but applied to a physical skill. He demonstrates how the subdivision approach can be used with breaking down the physical skill of juggling. Both examples are vivid and drive home the importance of the following takeaways:
Using Descriptive Language: Use descriptive language to help you understand the problem. Describe the problem and describe how you will solve it. By clearly defining what the problem is and how you will try to solve it, you will develop the powerful tools of articulating and analyzing your behavior. When you articulate and analyze your behavior you accelerate your learning effectiveness, by having a targeted method of error elimination. The alternative to articulating and analyzing your behavior, is the more common and far less effective method of learning by trial and error.
Procedural Programming Applied to Learning: Find the smallest parts of a problem or skill, then solve the smallest parts. Small parts allow for easier debugging. The smaller the space in which a bug can occur, the easier it becomes to find and eliminate the bug. Another way of looking at this is that small parts allow for rapid feedback loops. The faster you can find out that there is a problem, the faster you can fix it, thereby reinforcing the correct solution or behavior.
Papert’s view on trial and error learning:
“ In the course of very many repetitions, so called “trial and error learning” will shape a behavior that works. By sheer chance …”
“People are capable of learning like rats in mazes. But the process is slow and primitive. We can learn more, and more quickly, by taking conscious control of the learning process, articulating and analyzing our behavior.” (page 113 “Mindstorms”)
If your interests lie at the intersection of learning, coding, and education, “Mindstorms” is well worth your time. If you have a massive reading list and can afford just 30 min of time, read Chapter 4.