wechat sharing

Man Talks Machine

Why programming is today's language of choice


Matthew Chen, a senior and ICT Prefect at Dulwich College Beijing, shares his views as a summer camp IT instructor, addressing some frequently asked questions by parents curious about the computing conundrum and the need to get their kids fluent in the language of the future. Matthew started an electronics club to teach and build projects with his fellow students at DCB. He has been programming since he was 8 years old and is the author of several Android apps, including FlipGrid and Dulwich Timekeeper. Matthew is also the founder of PromptBox, a programming boot camp for teenagers providing instruction in Python and HTML and has published a book on how to get started in programming called As Easy as Raspberry Pi.



What is programming?

There are more smart devices today than there are people. Each and every one of these devices has a microprocessor. But, the microprocessor is quite helpless until someone teaches or instructs it to conduct specific actions. Put quite simply, programming is the art of telling machines (microprocessors) what to do and how to do it. In the early days, this would involve lines of script, called codes, written for a computer to execute. While the fundamentals of coding haven’t changed much in the past 30 years, the task of programming has become a lot easier with graphical interfaces (e.g. drag and drop menus), more power (capacity to process multiple tasks) and more efficiency in recent times.


With the world shifting to embrace the Internet of Things (IoT), Big Data and Artificial Intelligence (AI), there will be a myriad of opportunities for programmers as a new breed of devices and virtual applications take shape to become the “new normal.”


What sparked your interest in programming?

My parents enrolled me in a Minecraft programming camp where I spent two weeks understanding the fundamentals of programming, and then went on to design a personalized set of magical items for my Minecraft character. My friend’s magical “chicken attractor” made chickens follow Minecraft characters in the Minecraft world. Although seemingly trivial, the excitement of seeing these programs come to life made me want to do more.



My kid’s not technical. Why should he/she learn programming?

Firstly, programming is an expression of creativity. All kids love to build and create things, whether it is Lego movies, sand castles or electronic gadgets.


Secondly, programming is problem-solving through logic. Understanding the language of machines helps your kids to think critically and to articulate clear and precise plans of action. Microsoft chairman Bill Gates said that: “Learning to write programs stretches your mind and helps you to think better. It creates a way of thinking about things that I think is helpful in all domains.”


Thirdly, programming builds character. Programming proficiency makes the difference between an average employee and a star, even in non-technical fields. Getting a program to work takes endurance. This attitude of perseverance and resilience can carry through when your child enters the workforce and solutions are not produced just by a click of a mouse but from hours of figuring out which combination of clicks will unlock more business potential.


Finally, programming is universal. Computer languages use Romanised text (alphanumeric). A Chinese or Russian programmer uses the same computer languages to code as would his/her peer in Malaysia or Colombia. This opens up opportunities for programmers to work virtually anywhere in the world.



Is programming more right or left brain work?

It’s a great combination of both! Acquiring “computer speak” takes practice. By “programming right,” you need to understand the rules of the language, and at the same time, apply logical and structured thinking in order to get the results you want out of the computer.


There is beauty in a software program—not just in the vibrant colors that it reproduces in a virtual Monet replica or the rich music emitted from your earphones, but in how the code works seamlessly together to make such magic happen.


Some people compare programming to building with Legos. You learn a few basic building blocks, get a few specialized blocks from established libraries, and then let your imagination fly.


Every craft needs the measure of time and practice for perfection. It really depends on the complexity of the project at hand. Once a child grasps the basics and builds their dictionary of shortcuts and hacks, programming becomes more native over time.


There are tons of fun, weird and useful projects that kids can do. As the adage goes, “we’re only limited by our imagination.”



What’s been your biggest obstacle in programming?

I find that the biggest obstacle to starting programming is coding. This is because machine code is a bunch of text that is initially difficult to understand. There are programming starter kits like Lego Robotics (find it at www.lego.com/en-us/mindstorms) which make getting started easier. But while the graphical interfaces are attractive, they are limited in their flexibility (power) and don't get children over the resistance to coding. In general, the graphical interfaces constrain you to what the manufacturer has already thought of.


What’s your advice on where to start?

I recommend starting coding with HTML. HTML is the language behind websites. There are about 20 basic commands that you need for building your own website. HTML is a very forgiving language. It doesn’t generate errors for small mistakes (just doesn’t do what you want) and every kid wants to show-off their favorite things to their friends over the internet. While HTML doesn’t involve a lot of logic, it does get kids comfortable with coding. Plural Sight (www.pluralsight.com) is a good resource for learning basic HTML.



How do I get my child interested in programming? How old should they be?

As with any new language, the younger you start, the more natural it will seem. I taught my sister HTML when she was 10 years old. Any child that is familiar with computers and is internet proficient is ready to start coding. Kids who are 10-years-old can already read, type, and understand logic well enough to begin programming. The only constraints are their patience and interest.


Try to blend their existing interests with programming. Most teachers bridge kids’ interest with games, videos, or toys. A small first project takes only a few days of effort.


There are so many computer languages. Which one do I pick?

All computer languages are very similar and are based on the same logical concepts. The programming mindset is to understand clearly what you want done, then break that down into simple steps. Those simple steps include logic (if this happens, then do that) and loops (keep doing this until that happens). A programmer must also differentiate between what he/she knows how to do and what he/she needs help with. There’s no need to re-invent the wheel, just use existing programming libraries.


I recommend learning Python as your first “real” computer programming language. While Java, C++ and Swift are other popular languages, Python is particularly easy to learn while still being quite powerful. It is used in industry for data analysis, game emulation, and machine learning, amongst other applications. I've used Python to work on a number of projects, such as a gadget that changes the color of its light hue based on the current AQI reading from the internet; an alarm that wakes me up in the morning based on the “correct” time in my sleep cycle; a digital picture frame that reads my email to display the last 10 pictures that selected friends send to me; and a gadget that tells me a random joke from the internet when I come close. The only limits are your imagination!


If you have questions about programming or how to get your kid to code, drop me a line at matthew@promptbox.cn


education in sight event

By: Haleyshanahan -

Education In Sight Reaches 100,000 Vision Screenings
  If you have perfect vision, thank your lucky stars because you are truly blessed. For those of you with less than stellar eyesight, we sympathize. Glasses wearers ourselves, we get just how awful...
Read More
calculus yew chung beijing

By: Sagamariaringmar -

Education: How to Tackle the Complex World of Calculus
Calculus—the name alone is enough to make high school students groan. So what can calculus teachers do to make this demanding subject a little less dull and confusing? We talked to some of the...
Read More
RIMOWA 20Electronic 20Tag  opt

By: YanMina -

Tech Savvy Rimowa Arrives at China World Mall
Rimowa has been dominating the travel accessories industry since 1898. The latest addition to the line of eye-catching grooved suitcases is the Electronic Tag technology in September. Since then...
Read More
Sponsored Main Photo 1

By: Ycisbeijing -

Integrating Technology with Education
Parents won’t want to miss the Yew Chung International School of Beijing’s (YCIS Beijing) Open Day on December 1. Hosted by Secondary School Vice Principal Don Collins, this Open Day presents a...
Read More


Download App Now
Select your device platform and get download started
Add & Promote an Event
Tell everybody what's going on. FREE.

You've reached the limit of allowed deals. For more information

Contact us

You've reached the limit of allowed housing listing. For more information

Contact us