I was never great with technology as a student. Ironically, what I looked forward to more than the field trips were lessons at the computer lab.
Those lessons were nothing short of pure luxury: air-conditioned rooms, comfortable chairs that made for hilarious modes of transport from one end of the lab to the other, and the allure of brightly-lit screens. The clacking of my classmates tapping away on keyboards while finishing assignments became, for me, therapeutic white noise.
In the 90s, technology was in a very different place. While kids these days can instinctively find their way around everything from iPads to Apple Watches, I was only just learning how to type on Microsoft Word at their age. E-learning then was such a novelty; nowadays, kids are learning to code in primary school.
I can’t help but feel a tinge of jealousy.
In 2018, the Info-Communications Media Development Authority’s (IMDA) Infocomm Usage Households and Individuals Survey showed that 89% of Singaporean households had access to computers, while 97.7% had access to the Internet. Now, that’s a large chunk of the population that’s spending time on digital screens. As such, the need to ensure that everyone, especially the children, is equipped with the right skills to navigate the digital world in the safest manner possible has become paramount.
But of all the efforts the Ministry of Education (MOE) has taken to provide students with the confidence and knowledge to be digitally ready for the future, the option to pick up coding skills was what caught my attention. I had always associated ‘coding’ with engineers and the like; after all, they are the ones working hard to help make our websites look beautiful and the user journey a seamless one. But kids are now learning the basics of coding at primary school level and I am shook.
The Code For Fun (CFF) programme by MOE and IMDA aims to help students develop an appreciation of core computational thinking and coding concepts through visual-programming based lessons. After all, ensuring students understand the need to approach a problem logically while creating solutions for these problems with the help of digital technology is important.
Students will learn the fundamentals of coding and computational thinking, with an introduction to emerging technologies such as artificial intelligence. The CFF programme takes about ten hours, and at least 93,000 students have benefitted from it since it began in 2014. From 2020, all upper primary school students will be attending the programme.
I wanted to try my hand at some of these things, so I managed to convince Leong Sook Mei, a 12-year-old from CHIJ St Nicholas Girls’ School to sit down with me and share her knowledge on coding (minus the robotic kits and access to programming languages like Scratch). Up until then, I’d honestly forgotten how wonderful it was to spend time with the young ones and bask in their energy and positivity. Begone, cynicism!
We start with a quick introduction to the tools. She warns me that what I’ll be learning isn’t even a fraction of what she’s learnt, and I accept that.
We start talking about the Microsoft MakeCode application that can be used via desktop or the mobile phone to start programming a micro:bit or two. Micro:bits are essentially tiny computers that can be fed programmes to serve a purpose. It’s equipped with buttons and an LED display that allows children to explore the possibilities of creating with the power of technology in the palms of their hands.
Finally, these students graduate to using a robotics kit that will further enhance the abilities of the micro:bits–imagine the functions of the micro:bit to be like the wheels of a car that propels it forward, while the robotics kit serves as the main source of energy as the engine of the car.
I have no idea what any of these look like, so Mei starts by sketching a robotics kit from memory.
“[The robotics kit] is actually built with a micro:bit, you can then program it to do things like display a message, or even make objects like a car or an electric wheelchair move from one point to another,” she explains.
She then pauses. Something is not right. I ask her what’s wrong, and she admits to forgetting what the kit looks like. Oh no.
No problem, we have the help of the Internet. I pull up images of robotics kits for her until she spots the right one, and continues sketching.
As she hands me the completed sketch (complete with those smiley faces we used to scribble on our sketch pads), I look at her with the expectation that she’ll now explain what each part of the robotic kit does.
Unfortunately, she tells me with a shrug, “I just remember the switches. There were two I think, an A and a B.”
I ask Mei if we are going to do any actual coding. She takes a good look at me as if trying to see if I’m ready for the next level.
I apparently passed the test, because she got me to whip my phone out and download the Microsoft MakeCode app in order to start the actual programming. Whatever we create on this app/website can essentially be programmed into a micro:bit, and its LED display should light up with whatever message or graphic with accompanying music.
While we didn’t have an actual micro:bit on hand, we had the app and that was good enough for us to pretend like we were programming one.
Her fingers start flying across the screen and everything becomes a blur to me. What exactly is she doing? What is she dragging out and stacking on? It makes absolutely no sense to me. I ask her what it is that she is doing, to which she replies saying that she’s creating a short message with some music playing in the background on loop. She turns to me and asks what kind of music I like. What are my options, I ask? She pulls up a menu that includes tunes like ‘dadum’, ‘blues’, and even ‘wedding’.
I pick blues.
She then adds in a text block that reads “Hi I am working” and plays the final product of the program on the app’s dashboard and it’s…interesting.
While Mei’s coding lesson is not typical of what she does in school, where she would be using the micro:bit to move small objects from Point A to B and solve simple problems, it works for all intents and purposes for my informal coding crash course.
I don’t think I’d be able to replicate that, but she takes time to go through the process with me once more.
She explains that whatever she has been dragging out and stacking on each other are called blocks, and that they continue after the base ‘on start’ or ‘forever’ blocks.
The blocks stacked below ‘on start’ are set to begin right off the bat and end after the circuit is complete i.e. messages and graphics but those stacked below the ‘forever’ block will play on a loop until you decide to stop it i.e. music.
Messages are keyed in with the ‘show string’ block and you have the freedom to type as long a text as you possibly can.
“You can draw your own icons or use the preset ones like the one I picked here, it depends on how much you want to play around with the blocks,” she says. She may not have realised, but she had basically explained the fundamental algorithmic logic behind programming to me.
She then hands the phone over to me and prompts me to give it a shot. I end up with a couple of mistakes on my program, in the form of haphazard music placements and too many icons that drowned my text out. Yet, she acknowledges my effort to put something together and gives me a pat on the back.
This is my final lesson with Mei. I didn’t sleep early the night before and was suffering the consequences of my choice to stay up and watch a movie, which also means that I did not get any practice creating something on my own for the lesson. Oh, crud.
I try to mask my panic by distracting Mei with a conversation about the time she participated in a national coding competition held at the Suntec City Convention Centre. She talks about how it came as a surprise when her teacher from her Primary Three coding class picked her and a couple of others to represent their school.
One of the toughest challenges for her team was to program a system for electric wheelchairs to move in a steady line along various routes with the help of micro:bits and the tinker kits.
“We were sharing the map for the routes with another school but they kept hogging it and we ended up having to sketch the map on paper and work from there,” she grumbles.
Her team scored 40 out of 60 points by the end of the competition despite falling behind. I ask her if she would like to pursue coding in the future. She shakes her head. “It’s fun, but it’s too similar to math. I’d rather do sports.” Nevertheless, she still acknowledges that learning coding prompted her to start on the path of independent self-learning, especially in the pursuit of excellence: “When I didn’t understand any of the steps taught during the lessons, I would go home and read through the booklets and practise until I got it right. I realised that this slowly became a habit I applied to all of my other subjects,” she explains.
Her mom pops in when she hears Mei talk about her experience during the competition. I could see her eyes shining with pride at how her daughter had managed to catch the eye of her teacher, taking her coding skills to the next level through the competition.
“It’s such a waste that she couldn’t show you the work she did, she passed her kit to a friend,” she sighs. Mei jumps in with, “She’s serious about coding! It would be of more use to her than me.”
Despite not wanting to pursue a future with her knowledge of coding, Mei has displayed a great amount of patience and knowledge on the subject. She seems to have inherited a natural talent for teaching from her mother, who is an educator as well. By the end of our conversation, I had managed to create a grand message that greeted Mei before thanking her for spending time with me and imparting knowledge on coding to me. I even added a heart to the end of the message. It was heartfelt and would have been much more impactful if we had a micro:bit I could try and programme it into before handing it over to her. Yes, it was a very simple coding attempt, but at least it made Mei chuckle.
The time I’d spent with Mei was truly wonderful and I couldn’t have found a better teacher.
Yes, okay she could have explained some things a little better but even just through her exposure to coding in school, she has become such a natural that there were times her fingers would move faster than her lips and the process behind her actions was verbalised a little slower. And remember, she’s only 12.
That aside, would I give coding another try?
For sure, I do feel like it would be fun to channel some creativity through an alternative platform like the programming tools used for coding.
Would I be a good coder, though? Highly doubtful about that one, I never was one to excel with anything related to math and technology, to be honest.
The point though, is that these lessons on coding have shown me that whatever is being taught in classes these days is helping students become much more aware of what’s happening around them and giving them new means and ways to access opportunities and interact with their environment and around the globe.
Beyond that, MOE is giving these students the added benefit of creating a better world through the skills they are learning, be it lessons on understanding what fake news is, or creating a program that will be used on electric wheelchairs in the future. There are unlimited possibilities to what these kids can accomplish with such a skillset and mindset for learning.
BRB, got to make a quick 8-bit message and send it to everyone as a testament to my newfound coding skills.