Hello World



The very first program I wrote – as a DOS batch file – was a program that printed out the customary “Hello World” message to the console. It contained that one line. That’s it. This was back in 1996. It was a basic ECHO command which did not really need a batch file to run since, well, a batch is more than one and this program did not qualify. Nevertheless it was my first attempt at anything programming related.

I would then progress to advanced batch file coding with command line parameters. This would then lead me into programming languages such as C, C++, Unix shell scripts et al. This then led me to more advanced GUI based platforms like Visual Basic and Java. The need to contain better quality and structure for data then led me to databases – Oracle, FoxPro, Access etc. With changing times HTML would make an entry and before I knew it, I would be creating classroom websites for myself and other teachers in HTML/ASP/ASPX. A virtual learning environment would be the result of this journey which would then continue to reach and inspire others to join in.

In my IB CS classes I always narrate this story at some point since this isn’t just a story about someone learning different tools of technology. This is a story that highlights that learning – computational thought – is something that grows the more you do it and find ways to apply it. Much like anything else in life, humans are built to get better at a skill the more they do it. Working with technology is no different. But finding the right outlet – application – for what they learn is a cyclical process too. If I go even a month (fortunately that has happened only during a few summer breaks!) without coding, I get lost the moment I open a code editor. I need take time to pause, reflect on what it is I am doing and then proceed slowly. A couple of lines down and my brain is activating those memory pockets that have already registered (my own ROM!) what needs to be done next. Except this time, after reaching the point of what I already know, my brain is telling me to go further. To try something new. To see what will break my program.

In our capacity as teachers one of our biggest challenges is getting our kids to recognize what is human in technology and what is tech in our humanity. Using stories, analogies and references to what they are familiar with – short term & long term memory for instance – helps engage them on a personal level. Teaching CS never works if it is done purely from an academic standpoint. Not only is that a huge disservice to the discipline but is also the best way to kill a child’s natural curiosity. Like any subject, CS needs to find constant reference in real life, in things we see around and inside us.  This constant pursuit of taking adoptive knowledge and adapting it to their own personalities is what makes a story like mine recursively occur over and over around the world.

Phew. Didn’t realize I had so much to write about! Need something for other posts. So, again, hello world!