Kids learning to code
By Dr Shawn Tan January 6, 2014
- As schoolkids grow up with computers as part of their lives, many show an interest in programming
- But most are male; would be good to see more young girls take up programming, even as merely a hobby
THE Malaysia Computing Olympiad (MCO) training camp was held during the just-concluded school holidays.
An objective of this camp was to help expose kids to programming and prepare them for the MCO2014. Winners of the MCO2014 will go on to represent our nation at the International Olympiad in Informatics (IOI) 2014.
This camp was attended by 30 secondary school students from various schools, along with several teachers. I got roped into helping out with one of the sessions.
As I had some experience teaching C++ programming, I happily volunteered to give a two-hour introduction. Thankfully, no one fell asleep during the session.
At first, I was told that while these students were generally quite smart, most of them would have had little to no experience in programming, and that I should tailor the session for beginners. Having judged the First Lego League Malaysia Open Championship for the last few years, I have come to expect that there are many kids out there with programming abilities.
And it turned out that about a third of the participants have had some form of prior programming experience.
As these students grew up with computers as an integral part of their lives, it is unsurprising to see a growing interest in programming. Coupled with the wealth of information and the availability of tools on the Internet, learning programming has never been easier than it is today.
Some of the participants at the camp even had smartphones and could instantly look up definitions of library functions when I asked them to. This is in stark contrast with the situation during my youth. When I first started programming, I had to rely on tomes of cryptic reference texts.
However, regardless of the students’ experiences, writing programs in C++ is a different ball game compared with web-based languages and those graphical tools used to program Lego kits. Even though the students could look up the definitions of functions, understanding and applying them was another issue.
Still, there were some pleasant surprises for me during the camp.
Besides programming experience, one thing that struck me was the depth of knowledge that some of the students had. There were several participants who demonstrated an understanding of computer architecture and computer science fundamentals beyond that of many software engineers that I have dealt with in industry.
As an example, some of these kids already knew the basic characteristics of pointer-linked data structures such as binary trees and could already analyse algorithm complexity. Sad to say, there are many among those whose jobs it is to write software, who do not even know of these things, particularly those from an engineering background.
Unfortunately, there was only one female student at the camp. I had expected to see more. I spoke to a couple of school teachers at the camp and they said that this situation was the norm even though I pointed out to them that the latest university entrance statistics released by the Government showed that 66% of new undergraduates were girls.
The teachers claimed that while girls generally do better in school tests, they tend to give up sooner than the boys, who do better when it came to tackling hard problems including solving the kind of out-of-the-box programming challenges at the MCO/IOI.
To me, this was a bit unfortunate. I have come across many female programmers during the course of my work, and most of them started coding while studying for their degrees. Programming is a skill that benefits from experience.
So, it would be good to see more young girls take up programming, even if just as a hobby.
To encourage more girls to do programming, I believe that a different approach is needed. Instead of pitching programming as merely a problem solving tool, it can also be seen as an outlet for creativity. Programming is a great way of turning our thoughts and ideas into something real that we can interact with.
That was how I saw programming when I first started – computers as a blank canvas that could be turned into anything that my mind could dream up. Learning programming was merely the means to an end – to turn silly ideas into reality.
But regardless of gender, I would still love to see more kids exposed to the wonderful world of programming, especially at a young age. Programming is an activity that exercises one’s thinking faculties like no other.
As mentioned by another mentor at the camp, learning programming is learning to think – often without a box.
With the growing interest and numbers of young people attracted to programming, I see a brighter future for our industry. I just wish that there were more stuctured programmes to help nurture these kids into future engineers and industry leaders.
In my next article I plan to explore how such programmes may be structured.
But for now, we will have to make do with such informal training, hands-on guidance and mentoring.
Dr Shawn Tan is a chartered engineer who has been programming since the late 1980s. A former lecturer and research fellow, he minds his own business at Aeste while reading Law. He designs open-source microprocessors for fun. He can be reached via Twitter as @sybreon.
System-on-Chip, and what it promises
How to learn programming: Small groups