Written by Zames Chua, Early Coders Intern
Getting a degree and securing a job is the best you can hope for, for your child, right? Maybe a few years ago, but not so much now. Singapore’s economy has changed a lot over the past few years. At the rate we are going, it is easy for the young to fall behind their peers.
1. Technology is revolutionising the world
Analytics. Big data. Cloud services. All these technologies were probably not thought as major game changers ten years ago. Technology is improving so rapidly that it is continuously reshaping the way businesses are run.
Even the Singapore Government recognises this and is spending an average of more than $1 billion per year on SkillsFuture related initiatives. They are also in the midst of setting up TechSkills Accelerator, a skills development and job placement hub for ICT, to enable Singaporeans to acquire expertise and skills that are relevant in the fast growing ICT sector.
So what can programming do for youths?
2. Encourage continuous learning
I’ll admit, learning programming is difficult . It requires patience and a whole lot of conviction. Which is why it is also very satisfying to get that web app running, or getting an algorithm correct.
People who get their code right the first time round must be geniuses, because it just doesn’t happen for most people!
The process of building an application looks something like this:
Programming Thought Cycle
This process teaches one to never give up on a task. If you don’t know it, go learn it. That is the mentality that is crucial in the 21st century.
If only programming was a game
3. Teaching Logical Thinking
Computational thinking is key to learning how to program.
For those unfamiliar with computational thinking, this is the flow:
- Problem Formulation (Identifying the problem)
- Solution Expression (Formulating a solution)
- Solution Execution and Evaluation (Analyse the solution)
When making a simple website, the flow of thought should look like this:
Problem formulation: What should my website do? Sell a product? Or perhaps you are using it as a portfolio site? Think of the problem that your website should solve.
Solution Expression: Think of ways to solve your problem, and execute it sequentially.
How should I divide up the problem into smaller pieces? What functionality does my website need to have to solve these smaller problem pieces? What do I have to do to accomplish that?
Solution Execution and Evaluation: Test the code, and see if it works. If it does, great! If not, keep refining it until you get it right.
The same process can be applied to many areas of life. Perhaps you want to bake a birthday cake for your child. These are the questions that you might want to ask:
Problem Formulation: What type of cake would be perfect for the occasion? How many people will the cake have to feed?
Solution Expression: Where can I find a recipe? Which parts of the recipe will I be able to prepare before hand?
Solution Execution and evaluation: I’ve run out of eggs, can I improvise? Does my child like the cake? What can I do next time so that he likes it better?
This is the thinking process will be beneficial to every individual, regardless whether one ends up as a professional programmer down the road. Definitely a much better way for youths to spend their time instead of hacking away at Counter Strike: Global Offensive, or DotA 2.
Programmer or pro-gamer?
4. Programming is being integrated into almost every industry
Perhaps your child might need to set up a simple website for his/her business in the future.
Perhaps he/she might have to understand technical jargon from a contractor.
Or maybe he/she might want to write a simple script to automate data entry into Microsoft Excel.
All these tasks would be so much easier if one understood programming processes, since programming is essentially a tool for humans to communicate with machines.
Soon, machines will take over most menial work in every industry, from data entry to taxi drivers. Will your child be able to make a machine do his/her bidding? Or will he/she be a servant of technology?
5. Lastly, programming unleashes creativity.
Programming allows us to express our creativity – to think up of new ways an app could work, or think of ways to bring ideas to life.
I recently quit gaming to pursue my interest in programming because gaming can really cause frustration (some parents might have experienced frustrated outbursts from their offsprings, during gaming activities). Also, gaming is largely unproductive, due to the many hours doing the same repetitive keyboard/button jamming!
Conversely, the excitement felt when writing out a new program gives me an adrenaline rush and completing a mini web-app gives me a huge sense of satisfaction. Would I go back to gaming? I think not.
Personally, I wish I had started programming earlier, as i’m beginning to see the many fruits of my labour. Now here comes the big question, will your child be at the forefront of cutting edge technology, or will he/she be a servant of technology?
Written by: Zames Chua
Date: 14 Jun 16