We are fast-approaching the point when a lack of some basic coding skills will be likened to being illiterate. If you are unable to modify a web page or use an HTML text editor, it will be like not knowing how to create a Word document or edit a PDF file. Coding does appear on some school curricula, but it is primarily taught in the context of maths, computer programming or IT skills. Whereas, if we look at coding as a language capability (part of a new literacy), it should be seen as an essential communication tool in itself.
First, I am aware that a number of programs for children are trying to teach coding and maths in more relevant ways, and having talked to some of their creators, I admire their ambition to place these skills in a broader context. Coding might be described as the “4th R”: alongside reading, writing, arithmetic we have “reasoning”. So a program like Creative Coding HK (as it name implies) focuses on students making things; in the USA, KidsLogic is placing as much emphasis on contextual learning as on robotics; while Australia’s Machinam is re-writing the maths curriculum to teach practical, everyday problem-solving skills.
Second, as we know, learning the foundations of coding is like learning the syntax of a foreign language. However, while Latin and Greek can provide the basis for learning the structure (and many words) of many European languages, it’s not much use when learning character-based languages (Chinese, Japanese) – although there are common grammatical elements. But if we understand that a line of any code has to be structured a certain way, contain essential elements, define key attributes and run in a particular sequence or order, we may come to “read” and interpret what the code is saying or doing.
As an aside, I’m struck by the comments made by the founder of AssignmentHero during a recent pitch night. Although he had studied computer sciences at Uni, he did not use any of the formal computing languages he had learned when building his product. This highlights the downside of learning specific languages, which can become obsolete, unless we have a better grasp of “which languages for which purposes”, or find ways to easily “interpolate” components of one language into another (just as languages themselves borrow from each other). Or do we need an Esperanto for coding?
Third, even if I don’t want or need to learn how to program a computer or configure an operating system, knowing how to define and sequence a set of instructions for running some software or a dedicated program will be essential as more devices become connected in the Internet of Things. For myself, I have dabbled with a simple bluetooth enabled robot (with the original Sphero), acquired a WiFi-enabled light bulb (the programmable LIFX) and experimented with an iOS music app that incorporates wearables (the MIDI-powered Auug motion synth).
Finally, just like a virus, coding is contagious – but in a good way. At a recent event on Code in the Cinema (hosted by General Assembly as part of the Melbourne International Film Festival), there were three demos which captured my attention, and which I will be investigating over the coming months:
- Chris Paynter presented a scripting tool for IoT based on api.ai
- Andrew Sorenson performed live code-based music using Extempore
- Melanie Huang created some digital artwork using Processing
I think they show why, where and how many of us “non-computing” types will want to learn the benefits of coding as a new language skill. If nothing else, getting comfortable with coding will help mitigate some of the risks of the “digital divide”.
Next week: The arts for art’s sake….