Here is an old post from my personal blog which I wrote about a year ago. When I was still taking my first steps with AJAX... I think it still has some value in it and I often find myself wondering about this curiously effective learning method.
I was watching my son, Quinten who is four years old, play with some Lego he'd got for Sinterklaas the other day. I was fascinated by the way he was going about discovering how it worked, and how he could interact with the toy; a Police car, bad-guy included.
This particular piece of Lego contains a lot of small parts and Quinten's fine motor coordination, let alone his constructive insights to build from a blueprint, is not quite up to the task of building the car completely himself. So his parents build the toy for him at first. That way the parents get to play with Lego too.
The way Quinten was experimenting with the car was curious. He would take apart some pieces slowly. He would take off the roof. Play with the car with the roof off. Put the roof back on. Then play with the car some more. He would then take off the roof again and then some other pieces as well. Play. And try to put the pieces back together again. And play. Sometimes he would get stuck, because he'd taken off too many pieces and ask me for help reassembling the car.
I was flabbergasted because I had caught myself using the exact same technique of learning by baby step discovery the day before. I was trying out some AJAX techniques. I was trying to combine AJAX and PHP, one of the languages developers use at work. What I did was to look for a working example. Then I played with it some. Then I changed a few bits here and there. Then played with it some more. I used a versioning system as my parent, always resorting to the last working state when I changed too much or weren't able to get myself out of the mess I put myself in.
As I was working this way, I was learning about this particular example I was building and I was learning about the way PHP and AJAX could work together. I was also learning about building AJAX based web applications as well. As was Quinten learning about the way his police car was constructed and he was learning about building with Lego as well. He was also learning how construction works in general.
I was surprised to see such elementary learning behavior al ready present in the child aged four as well as in the parent aged thirty-five. It appears to me learning behavior like this is genetically present in both parent and child.
The analogy with the way TDD works is also staggering. It is the analogy in which I have been building software all my life, and has only recently begun to flourish and be widely acceptable as the definitive way to build better software. At least until we find something else. ;)
My task was less exploratory because I had some clear goals I was aiming for. Quinten’s learning was much more playful. I wasn’t aware of any goals or particular piece of knowledge he was after. He was just playing with his police car. Seeing how it worked. Seeing how building with Lego worked and learning about construction in the same time.
Is this learning behavior a valid comparison? I think so. Though Quinten’s learning is more exploratory, mine is also exploratory in nature. However I have guided my learning onto achieving a particular goal that I have set myself upon discovering. Quinten may have a general interest in cars, Lego or construction, or he might just like police cars. He is hungry for ANY knowledge. Not any knowledge in particular.
The speed at which his mind is picking up concepts is quite astounding. He's progressed in his building skills and his Lego skills over the past day or two. Quinten has also received a Lego police boat for Sinterklaas as well, just a few days later. He is now quite comfortable adapting and expanding this along the possibilities of his imagination. And beyond. I am however still struggling to keep up.
Perhaps an exploratory fashion of learning is more efficient than the guided learning by taking or working towards a task I was using. Perhaps the child’s mind is more set towards a more general state of learning. Picking up general knowledge until it knows how, why and when to become more specific.
A movement in Dutch education also has no set program for learning in school. (Montessori) In essence a child can learn and study what ever it fancies. Perhaps this is not so bad an idea. I wonder how to cope with knowledge that is essential to functioning in today’s complex society? Where is the balance between guided learning and free learning and who is setting that?
As a parent I am one of the people or influences setting this balance for my children. The government and school are doing the same by offering educational programs in school or setting test result standards for graduation. People are deciding for other people what they think is right for them to learn, or what not to learn.
This may be right for knowledge we al ready posses as a species or social group. How to tackle knowledge that we do not yet have?
I have been thinking about learning and self organizing teams for quite some time. I am a follower of the situational leadership model by Hersey and Blanchard. It assumes a certain amount of directive behavior is required and starts out by providing structure and knowledge, then experimentation. Trying and doing. It then moves on toward more supportive behavior of the teacher, as the pupil finds out there is still so much to learn.
In self organizing teams there is however not always the knowledge to be presented by directive at first. It may be that exploratory learning is the key to uncovering these situations; learning by baby step discovery.
In the mean time, Quinten has become very effective with Lego. Brains4All has done things with AJAX and DOM that I've dreamed of doing for years, and I can safely say we've become very effective with that too. Not only did we explore the technical capabilities of the technique, but more importantly we now have insights into whether or not to apply the technique, or not.
So while in the past year I feel I have progressed in technical skills and definitively in Design and Usability skills, I didn't set out to acquire those. I find that through baby step discovery learning I've acquired an almost mesh-like network of knowledge that works like, and acts almost as an instinct for building powerful, valuable and easy to use websites and killer web based applications.