By Vikram Bahl
On an average, Kiddo takes anywhere between 30–50 min to cover the 18 steps from the bed to the bathroom. There are a million distractions that amuse, engross and divert her before she picks up her toothbrush and completes the daily ritual. It is also, I suspect, the time of the day at which I or Wife experience a temporary spike in our respective blood pressures!
It was on one such morning, when the elevated blood pressure must have pumped some extra blood into my brain that I spontaneously introduced Kiddo to the world of programming. I must point out (since Wife would be reading this) that no computers, laptops, smartphones or gadgets were used in this process and no animals were harmed either (I add random movie disclaimers every now and then; please feel free to ignore them).
Why was I teaching programming to a five year old anyway
I wasn’t. But there were two big reasons it happened anyway. First, that I am a Mirambika dad (My daughter studies at Mirambika Free Progress School) and second that I am a programmer (I write code that makes machines behave and act in a specific way).
Let me elaborate on the first point. If you’ve been at Mirambika as long as I have, you’d know that nothing can be taught! It’s all about creating an experience where learning happens (almost as a by product). In fact, the modus operandi is that kids are exposed to a fun activity that has learning built into it. Eventually, through repeatedly engaging in that activity, the kids discover the lesson and learning happens. They don’t even realise that they are learning (something like how kids pick up language). Most parents actively participate in this process as well; of teaching by creating experiences.
Now several months ago, when Wife asked me what could I teach my Mirambika kids, I had emphatically stated that I’ll teach them how to program (the second reason). To this, Wife innocently inquired about how would I teach programming in an experiential way.
It’s difficult. You see, programming is writing specific instructions that a machine can execute to achieve a certain goal. You write “Print A” and the computer prints “A” on the screen. You ask a robot to “Pick Book” and all the levers and motors are instructed to turn and move and clasp and release and do all sorts of things! You press a button on your stereo, and it changes a channel. It’s all programming and it starts with defining the syntax! It starts with knowing the command. If the machine understands “Print” and you say “Write”, the machine wouldn’t work; the program would fail.
I did not wish to start with syntax! That would mean teaching comes before experience. That’s not the Mirambikan way. Since I did not have a ready solution, the entire “How to teach programming in an experiential way” chapter got pushed to the back of my mind until that fine Wednesday morning.
Bed to Brush in 60 seconds
That was the mission. And as Kiddo opened her eyes partly, I jumped on the bed next to her and proposed a game for the day. “Let’s play a game”, I said. “It’s called, I am your Robot”. “For the next 5 min, I’d be your robot and you can ask me to do anything. After 5 minutes, we switch places and you become my robot”.
The game worked really well. Over the next week or so, I had her ready for school in a matter of 30 minutes! And we enjoyed it as well.
As we progressed, she started building up on the game. Instead of random tasks, we started defining them?—?Walk, Stand, Sit, Turn, Jump, Brush, Bathe, Eat. Then we started qualifying and quantifying the tasks! “Walk 5 steps”, “Turn Left” etc. The commands and syntax were beginning to build up.
We even devised the error message “Error!! Error!! Error!!” (in a robotic, mechanical voice) whenever there was an incomplete/incorrect command! We discovered incorrect algorithms (Walk 6 steps, No No, 5, No 4; okay 5) and compiler bugs (when Kiddo-robot would completely refuse to take commands).
I realised how program-ming is such a natural part of the way we live our lives. Maybe I wasn’t really teaching her programming, but simply how to think like a programmer! After months of doing these Robotic daily rituals, my wife winked at me one day and asked “So what do you call this game?”
Who said anything about a game, I am teaching her programming.
Vikral Bahl is a Father, Husband, Storyteller, Programmer, Entrepreneur, Creater of Apps, Founder at @getyavvy.