Yes, I studied electrical and computer engineering thirty years ago in university. My first programming language was PASCAL. My first job was as a software engineer writing codes in assembler languages. But the last time I did coding was some web pages using HTML about twenty years ago.
Today, when coding for children has become a global trend, it occurred to me that I should get a feel of what learning to code was all about for our next generation. So last Sunday, I invited a group of ten Form One students to participate in our little Coding Sunday.
First of all, why Form One students? From what IT teachers told me, Form One students, just entering secondary schools from primary schools with varying backgrounds in computer knowledge or training, are at a particularly important crossroad as far as being exposed to information and communications technologies, or ICT, is concerned. Because they came in from different primary schools, it made the jobs of the teachers much harder in order to cater to their different levels of previous exposure.
So, for our Coding Sunday, we first wanted to test the reaction of these youngsters being exposed to the internal source codes of computer programs. And indeed, we found that most of the group we gathered had no previous exposure to source codes, although a few had played with logical game building blocks such as Minecraft before. But to my pleasant surprise, our youngsters just jumped right into it and had no apprehension about tackling these relatively dry, and logical internal codes.
Our little exercise showed me that young children really had fun with coding, and we had no problem with keeping their attention. They kept blasting our volunteer teacher with questions. Instead, it was the adults like me who lacked focus and attention, and couldn't stop posting stuffs on to Facebook and Instagram. The only thing we could beat the kids was being able to type faster on the keyboard, probably because we have bigger hands!
In the afternoon we let the youngster try a popular tablet-based coding tool that control some cute little robots called Dash and Dot. The kids had even more fun with that. And it dawned on me what the difference was, between how I learned coding in my days and today may be. When I learned to code thirty years ago, a computer program was a long thousands of lines of abstract codes made up of variables and syntaxes that we put into something called a compiler to make it run as an executable, and by putting some input data into it, we get some output, yet more data, information, and numbers. We learned logic and logical thinking the abstract and hard way.
Today, young people are already exposed to all the electronic gadgets and games from an infant age. They know how these devices work already, and now we are just telling them the inside nuts and bolts that make these things run as they do. They can learn from the outside in.
Understanding these differences hopefully can allow us to think of better ways and more intelligent policies to help train the logical thinking and digital literacy of our next generation, so as to equip them to be more competitive in the cyber world where they live in.
A few hours of coding class may not mean much to these young people, but the experience has meant a lot to me – in understanding the importance and the challenges our educators face in trying to improve teaching coding in schools.
As a matter of fact, as our government and society are pondering how to build Hong Kong as a smart city, and how to create more opportunities by supporting innovation and technology, the lack of ICT manpower is our most critical bottleneck.
Where did our ICT education go wrong? There are inconsistencies in the level of readiness in hardware, software, network speeds, IT support and teachers’ abilities among schools, but those may not be the biggest problems. Researches have shown consistently that our ICT curriculums in schools are outdated and disjointed, between primary, junior secondary and higher secondary levels. And then, there is the lack of class time for ICT mainly due to the new secondary school public examination system, DSE. Even students interested in ICT may run out of the two electives they can choose to include ICT, and many schools end up cutting ICT as an offered elective. As a result, between 2012 and 2014, the number of students taking the ICT subject in the DSE exam has dropped a further 10%. Even for those taking ICT for DSE, the proportion of coding within that syllabus is still far too low, at only about twenty hours.
While the Hong Kong government has started an ICT enrichment pilot program to enhance the ICT curriculum, it covers only a meager eight secondary schools out of more than a thousand primary and secondary schools in Hong Kong, for only 30 students for each of those eight schools from Form Two. In the meantime, our competitor cities have started to put coding as mandatory in schools. New York City Mayor Bill de Blasio announced a deadline of ten years for all primary and secondary schools to offer computer science to all primary and secondary school students. Most of the planned 81 million USD investment will be for teachers training. The San Francisco Board of Education voted in June to offer computer classes from pre-kindergarten to high school, and even made it mandatory through to the eighth grade.
It is important for Hong Kong to catch up in this regard, especially as our birth rates continue to remain low and our local manpower supply continues to be at a crunch. We must make the best of our talents. On the other hand, it is also important to create equal opportunities for children from all backgrounds and all levels of society, to equip them to be equally competitive for the future world.
That’s why I am proposing a thorough review of STEM education in Hong Kong -- that is, for science, technology, engineering and mathematics – to give it the proper weight and importance in schools and universities, as our society and indeed the world transform to a brave new technology centric economy of the future. Within ten years, coding must be put in to the curriculums of all schools, and I believe it should be even mandatory up to the junior secondary school level. As an interim measure before we get to that point, subsidies should be made available to needy families so that private coding classes can be accessible to their children as well.
Coding for all doesn’t mean all students will become programmers by profession when they grow up. But believe me basic knowledge of the logic of coding, and the functioning of computers and algorithms will be basic skills for our next generation of knowledge workers and achievers, no less important than language and arithmetic. It will be the best investment that we can make, for our people and for Hong Kong's future economic development.