Reading Papert’s Mindstorms book the phrase ‘Powerful Ideas in Mind Sized Bites’ is repeated several times throughout and gradually you begin to see why learning programming is potentially so useful a ‘tool’ for children (and adults). That is, because learning to program provides skills and tools that are useful beyond the discipline of programming. It is not that we want to create a nation of developers, though some have that agenda, it’s that learning it can help you with other non related subjects.
It helps us to break problems down into ‘mind sized bites’ and learn how to ‘debug’ our solutions. That is, when we’re confronted with a large problem, if we’ve been exposed to learning via programming, we are not over awed by the problem’s size. We know that we can break it up, divide and conquer it using decomposition. This technique can then be used in the “real world”
What’s interesting is that he gives ample examples of children as young as 6 demonstrating this learned skill, something I only remember learning when I was 18 at University. Papert highlights that Computer Science is really now the science of software but in essence Computer Science is doing a great job at classifying these approaches, giving them words which allow them to be assimilated into our culture. e.g. input, output, debugging, looping, feedback, etc
The second interesting skill that stems from breaking things into these mind sized bites is the skill of being able to debug your own solution – even one that’s perhaps a mental solution in your mind. The idea being that now you have small morsels of solutions strung together to solve a much larger problem, a ‘bug’ in one of your small pieces is easy to spot and fix.
Powerful Ideas in Mind Sized Bites
If you’re a programmer you’ll be familiar with that horror of horrors, ‘monolithic code’. Monolithic code is a large, seemingly never ending slab of programming instructions. It is not in ‘mind sized bites’ and doesn’t make use of abstraction to make it ‘readable’. Papert argues that we display similar organisational traits in our minds and those who can decompose and abstract their solutions are also better at coping with revising their solution if they don’t get it right first time.
Here’s a nice picture of monolithic versus modular:
Abstraction is a technique that is positively encouraged in Papert’s LOGO and gives the child insight into the rewards of debugging. By spotting patterns in the solution, e.g. a few lines that draw a Square, the child can create new ‘word’ e.g. Square and then abstract their mind size bite away into that word.