What is this blue screen? – What do I do? – What’s next? I doubtfully follow what the book suggests. The book by the drawer reads type “x” and press run. I type and hit the keyboard, then, a white x appears on a black screen.
Hey! I can code! The high school me sits quietly filled with pleasure. Those were the days of my first programming. It was the first time I stepped into the world of programming and It was a long time ago. Today, my programming knowledge is no longer up-to-date. That was the first time I felt that “I can truly create something on my own.”
Recently, there have been talks about the need to include more subjects about “programming” into a child’s curriculum. This is because programming will be necessary for careers in the future and it is believed that customers in the future can’t be just “users”, to complete the cycle, they must also be creators. For education that focuses on the STEM (Science, Technology, Engineering, Mathematics), programming seems to have become compulsory.
Tom Hulme wrote in the Wired UK that as an investor, he attempts to constantly predict the future, both short (2 years) and long (29 years) term. He sees that computers are already doing many things better than humans such as storing facts and computing. However, there are certain things that they can’t beat human such as walking or dexterity.
He agrees with many analysts that if your work is redundant and lacks creativity, there is a high possibility that you will be replaced by automated machines very soon. From his analysis, he questions whether teaching programming to children is useful. He mentions that “Deep machine learning will likely automate the writing of code relatively quickly. While it’s useful to know what comprises languages or algorithms, I suspect most of the latter will be written by machines against a specific human (or eventually machine) query”.
Today, machines are able to program themselves. They can verify and debug themselves. They may choose to “select the proper aspect” of other programs. Then copy the code for themselves. This is how the DeepCoder system works. It is a joint development project between Microsoft and researchers from Cambridge University. They hope that the system “could allow non-coders to simply describe an idea for a program and let the system build it.” Yet DeepCoder has several limitations as it can only solve programming challenges that involve around five lines of code. Yet, there are possibilities that it will become more complex in the future.
Another example is AutoML (Auto Machine Learning) by Google. It can code by machine learning with higher rates of efficiency than those made by their researchers. The system will run thousands of simulations to determine which area of the code can be improved, then, it will make changes and continue the process until the goal is reached.
If this is the case, what shall we teach children? A possible answer is we should teach them skills that are computational bottleneck such as creativity.
I think teaching children to code is not a mistake if we use programming as a platform to teach children to creatively solve problems, to use programming as a tool. Children should understand the logic and how it works. Children should know how to think in and out of the box so that they can utilize each one to achieve the desired goal.
Once children learn these skills and practice, they will know how to adapt it to every task, both inside and outside of the screens. This may be how they can better survive in a world where automation is creeping closer.