The language for a new era - coding
By Hong Kong Economic Times

Nowadays on our computers and mobile phones, a ton of software and applications (apps) are programmed for precise functions to make our day-to-day tasks easier. In such a world dominated by hi-tech devices, the masters of the future will be the masters of the language to control the computers - coding.

While most people may think coding is just for IT geeks such as software engineers and computer programmers, but it’s actually a skill that is beneficial to anyone, certainly including engineers. Many sub-areas of engineering now involve a certain level of programming and computer science knowledge, but whether you will actually use it depends on which engineering major you are actually responsible for.

The needs of coding in engineering sector
Taking civil engineering as an example, there is a lot of software that is used by civil engineers. Among them, the most commonly used are computer aided design (CAD) and geographic information system (GIS). But “using” software is completely different from being able to “customise” the software. If the user understands the program and how it calculates things, it will take less time and effort to achieve better project outcome. In this case, having some understanding of programming is helpful in work.

One example is AutoCAD, it has a console where user write lines of code in it so engineer can use it to simplify their work and enable complex functions. Another example is pipeline analysis program. You need to understand nodes and segments and how the program analyses these things. Mechanical engineers, software engineers, architects and electronics engineers are all needed to use computer coding or software programming in the workplace.

Moreover, today's companies are starting to automate business, IT and development processes, and they’re looking for automation engineers to help develop, test and implement automation system. This shift is not just at the company level, departments also tend to automate repetitive processes. That is to say, engineers should be able to comprehend the basic principles of automation and be able to help design and improve these automatic control systems, and for that programming skill is getting more and more important in the engineering world.

Introduce the common programming languages
Here comes the key question: what programming language should an engineer learn? To get the basics right, we need to understand the core of coding first. Coding or programming is the primary method for allowing intercommunication between humans and machines. To put it another way, the skills of coding are defined as using a computer language to write instructions to a computer as opposed to using established apps. Some of the most common programming languages include JavaScript, HTML and CSS for building websites, statistical and database programs SAS and SQL, AutoCAD programming for engineers, and Java, Python, and C++ for all-purpose and cross-platform programming.

Back to basics, there are two main categories of programming languages - low-level and high-level. A low-level language is a programming language that deals with a computer’s hardware components, also referred as a computer’s native language.

A high-level programming language is a language that allows user to tell a computer to do something, such as Java, Python, C++, SQL and JavaScript, etc, which most programmers are familiar with1.

Java
Java is one of the most popular programming languages that is easy to learn and widely used in both commercial and in everyday life2. It runs on mobile devices, most specifically on Android apps, some or all desktop apps, web apps, servers, games, databases, etc. Java can be used on almost all major platforms.

Python
Python is another popular programming language in recent years3. It was designed to help programmers in writing readable, logical, and straightforward codes for both small and big projects. It is a dynamic programming language that is suitable for the programming of script for setting up automated procedure in civil engineering projects.

Python is highly recommended for beginners because it is a language that is remarkably easy to learn, and it can be used as a stepping stone into other programming languages and frameworks.

C++
C++ is known to be a very powerful language and it gives a lot of control on how to use computer resources4. However, it is one of the most difficult programming languages to master. That is to say, those who have learnt C++ as their first language usually feel it easier when learning other languages. As an engineering student, a sound knowledge of C++ is very important for future career development.

SQL
In the years since big data first appeared on the scene, SQL (Structured Query Language) has been widely adopted5. Learning SQL has been a must go for programmers who need to work with databases. With SQL, an operator can execute queries, retrieve data, insert records, update records, delete records, create new databases, create new tables, create stored procedures, create views, and set permissions.

PHP
PHP is the most well-known language of the web6. PHP is specifically designed for the web from the start to do things on the web natively in one or two lines of code. There’s so much PHP can do. Some of these include generating dynamic pages, collecting data from forms, sending and receiving website and/or browsing cookies, and even encrypting data. It is a free programming language that can be conveniently downloaded from the official website at “php.net.”

Engineering is an industry that is ever-evolving in this age of emerging technologies. These programming languages are used to code and create software that will improve work for many systems in engineering-dependent sectors. By learning these languages, engineers can keep themselves up to date with trends and changes in the industry and be ready for any change that comes. Thanks for omnipotent Google, now everyone can take advantage of the free sources available to them on the internet to learn these programming languages.

Not only for engineers, understanding how to write code for computers is already becoming one of the most valued skill sets in the new economy. While many more jobs will continue to be lost to artificial intelligence (AI) automation, ultimately it is coders who control what is automated. With job losses to AI in the coming decades predicted in the millions, coding is one skill that looks future-proof.

Coding education is on the rise
In our computerised world with many jobs expected to rely on coding skills, it is little surprise to see that education ministries and leading IT organisations across the world are beginning to encourage school to start teaching children how to code from a young age.

In general, there are three ways coding is beneficial for children:

1. A new way of logical thinking

Through coding, students will think about the world in a new way Steve Jobs once said, “Everyone should learn how to program a computer because it teaches you how to think.”7 Coding is a sequential process. One must first figure out why one thing logically leads to another in a particular order and then think about how to express that sequence coherently. Many daily activities require an ability to organise ideas and actions sequentially.

2. Improve math skills

Through learning different codes, student will learn how to calculate structures and codes in an organised way. Coding and mathematics are closely linked in many aspects, each offering beneficial insight into the other. Students with coding knowledge can apply their coding knowledge in understanding abstract mathematical concepts.

3. Bring out the creativity

Human creativity has exploded since the popularity of computers. In other words, coding is a form of expressing one’s creativity. In the world of coding, any problem has almost limitless paths to a solution and one of the creativity parts of coding is finding out which path is the right way. In Hong Kong, students have been used to being told to memorise things and knowledge all the time. Regular coding training can give student a taste of being creative.

In the near future, certainly not every job requires coding skills, but the logical thinking and creativity mindset one learns through coding is an important intellectual skill. Students will learn how to break down big challenges into smaller manageable tasks to deal with.

Nurturing a new generation of young coders
When looking around the world, it is noteworthy that learning computer programming and STEM (science, technology, engineering and mathematics) have become a new trend in global education.

While speaking to the President at the White House Workforce Policy Advisory Board meeting in March 20198, Apple CEO Tim Cook explained that both he and his company believe that it should be a requirement for all school-aged children to become proficient in coding.

“We have looked at the mismatch between skills that are coming out of colleges and what the skills are that we believe we need in the future, what many other businesses do,” Cook said after mentioning Apple was founded by college drop-out Steve Jobs. “We’ve identified coding as a very key one.”

Tim Cook believes strongly that it should be a requirement for every kid to have coding before they graduate from K-12 and become somewhat proficient at it. Over the past few years, Cook was really taking action. Apple has launched its own coding curriculum and has provided it to schools across the country. According to Apple’s data, more than 4,000 schools have introduced the coding curriculum.

In Singapore - Hong Kong’s long-time rival, the government is also taking steps to make sure that Singaporeans, both young and old, should have the fundamental coding knowledge to thrive in the digital era. Not to mention Prime Minister Lee Hsien-loong is himself a coding expert. In 2015, he shared his coding knowledge via his Facebook page, and challenged citizens to find out the errors in his work.9

Singapore’s “Code for Fun” scheme was piloted in 2014 as an optional enrichment programme for primary and secondary school students to learn computational thinking through basic coding. Conducted by the Ministry of Education and the Infocomm Media Development Authority (IMDA), the expanded progamme will be rolled out island wide next year, targeting all upper primary school students, who will participate in a ten-hour programme in school. According to IMDA, emerging technologies such as AI will also be covered. After its implementation, it will be compulsory for primary school students to study coding in Singapore, alongside with English and Chinese.

Coding education also goes viral in China. In the past decade, coding was not well-known among Chinese children or their parents, but now even preschoolers are starting coding classes as China is pushing STEM education. Since 2015, the Chinese Government has been issuing guidelines encouraging schools to experiment with STEM education, including coding.

A 2017 article by the People’s Daily evaluated the market for programming education10 after the State Council released a document encouraging such education be incorporated in China’s schools. Parents are sending children as young as kindergarteners to learn coding.

According to a report by Deloitte11, the investment in Chinese startups in STEM education has made a 15-fold increase from 2014 to 2017. More and more private-education providers are eyeing the market.

When typing “coding education” in Chinese search engine, you may find more than 80 registered companies offering computer programming classes for kids. Some of the leading companies are WeCode, VIPCode, Ultrabear, Codemao and Miaocode. Statistics show that most such companies were founded in or after 2014, and several have attracted vast amounts of financing. Codemao, for example, received an investment of 300 million yuan (US$45 million) in May 2018. Miaocode, another startup offering online coding lessons for primary and high school students, has announced the closing of a pre-A round of funding of 16 million yuan (US$2.55 million) in 2018.

How Hong Kong aims to catch up
In Hong Kong, although the Education Bureau has been promoting STEM for several years, Hong Kong is still falling behind in teaching vital coding skills.

Coding classes started to take off around 2013 in Hong Kong. At that point, many parents began to appreciate the extent to which technology was changing business and every other sector. However formal school curriculum giving scant attention to coding which created opportunities for independent course providers to step in.

Ray Cheung Chak-chun, an assistant professor at the City University Apps Lab, has been running a series of workshops called “We Can Code”, to teach secondary school students the ins and outs of creating mobile apps. At the same time, British entrepreneur David Greenwood started Code Club HK, a volunteer-run network to promote coding among children aged from 9 to 11 at after-school activities.

These organisations dedicated to promoting programming courses believe that when youngsters code, they are also picking up logical thinking skills. By constantly coming up with new ideas and translating them into a language readable by the machine, it helps us grasp abstract concepts more easily. In essence, youngsters under six are introduced to coding and programming through play. This provides a strong foundation to become better problem solvers and “digital natives” when they move on to the next stage.

“People have realised the benefits go beyond giving students a critical, real-world skill which they will need in future. Over the past five years, we see coding becoming the norm in education in much the same way as reading and writing.” says Sean Yeo, the Director of Education Partnerships for BSD Code and Design Academy, as quoted by South China Morning Post12 (SCMP).

In the same report of the SCMP, Wendy Wong, the Operations Manager of Koding Kingdom (Hong Kong), agrees that coding course for the younger age groups is becoming more and more popular. Nowadays parents can see how technology companies dominate the economy and how technology will change the world in the future. Therefore, they hope that children could learn relevant knowledge earlier and have “a head start in life”. “Our goal is to train youngsters who code because they want to,” Wong says. “We help them enjoy the process of learning, and we believe that knowing how to code will bring huge advantages in future.”

Local students are expected to be numerate and literate, preferably at least in two languages (English and Chinese), but they may soon have to add a third language if they are to get ahead in the 21st century. Government, industries and schools are all beginning to realise this goal. What we have seen so far is just the beginning of the journey.

Sources:
1. ComputerScience GCSE GURU. High and Low Level Languages. Retrieved 25 October 2019, from
https://www.computerscience.gcse.guru/theory/high-low-level-languages.
2. Go Java. Retrieved 25 October 2019, from
https://go.java/student-resources/index.html.
3. Python. Retrieved 25 October 2019, from
https://www.python.org/about/.
4. C++. Retrieved 25 October 2019, from
http://www.cplusplus.com/.
5. SQL Course. Retrieved 25 October 2019, from
http://www.sqlcourse.com/intro.html.
6. PHP. Retrieved 25 October 2019, from
https://www.php.net/.
7. Paul Sen, John Gau and Stephen Segaller (Producer) and Paul Sen (Director). 2012. Steve Jobs: The Lost Interview. United States.
8. Lisa Eadicicco. 2019. “Apple CEO Tim Cook explains why you don’t need a college degree to be successful.” Business Insider. March 8 2019. Retrieved 24 October 2019, from
https://www.businessinsider.com/apple-ceo-tim-cook-why-college-degree-isnt-necessary-2019-3.
9. Jalelah Abu Baker. 2015. “PM Lee Hsien Loong posts source code for sudoku solver. Experts give their take.” The Straits Times. 6 May 2015. Retrieved 24 October 2019, from
https://www.straitstimes.com/singapore/pm-lee-hsien-loong-posts-source-code-for-sudoku-solver-experts-give-their-take.
10. Fang Tian. 2017. People’s Daily Online. “China to add AI courses in primary education.” 28 August 2017. Retrieved 24 October 2019, from
http://en.people.cn/n3/2017/0828/c90000-9261282.html.
11. Deloitte. 2018. A new era of education: China education development report. Retrieved 24 October 2019, from
https://www2.deloitte.com/content/dam/Deloitte/cn/Documents/technology-media-telecommunications/deloitte-cn-tmt-china-education-development-en-report-2018.pdf.
12. John Cremer. 2018. South China Morning Post. “Does your child need to learn coding?”. 20 April 2018. Retrieved 24 October 2019, from
https://www.scmp.com/news/hong-kong/education/article/2142622/does-your-child-need-learn-coding.


What smart cities are seeking is to cultivate its ranks of tech-savvy people who can envisage new, useful ways of applying programming tools


Coding is a structured language on which things are built. The sooner children know how to code, the sooner they will understand how the world works


A group of tech pioneers including Apple aims to teach youngster the basic of coding


In digital era, the language of computers will be become as important as our spoken languages

Home | Back About Hong Kong Engineer | Latest Issue | Past Issues
Notices to Members | Job Centre | Subscriptions | Contact Us
Terms & Conditions
Privacy Policy