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….
An acquaintance of mine, aged 80 plus runs a small after school coaching business. She teaches coding amongst the STEM subjects. http://tinyurl.com/zvt666b
Her initiative and approach to education shows a level of awareness of what is needed to set up kids for the future world that is all too rare.
i cannot leave such an article and endorsement go unanswered. Coding and the STEM subjects are our gateway into the future. Although ATOP Education is now teaching Scratch and Python, at which I am only a beginner, my University studies of Computer Science taught me at least six coding programs, which now assist me with new coding methods that have come into existence since then. There are many computer coding programs developed for different uses but the logic remains the same. Scratch is a delightful program with which to commence coding. It can be used to teach basic coding logic but at the same time gives great joy to the programmer – come see us on a Saturday morning to see how these little ones are excited about what they make. As I did not wish to push them too early into Python – after all they are still learning English – I am using four programs of Computer Science that I received from Code.org in America as a fill-in. These commence from Kindergarten up to adult levels and teach ‘How to make and use coding algorithms and how to debug programs, etc.’ A fourth class student, excitedly told me “Now, I know how to debug.” and during his Robotics class, he wanted to demonstrate the industrial crane he had just made.
Once, a little Indian primary school student said to me ‘If I were back in India I would be learning coding in first class’. Another comment I heard from a politician, when he was confronted with how far we had fallen behind in maths and the STEM subjects was, “We didn’t think the need was there, when the Banks and other large businesses could outsource their coding requirements so cheaply over seas.”!
Come on, Australia, we are intelligent people. Let the world see that! We need to stop playing and begin making it a rosy future. The right education must come first for everyone.
Thanks for the feedback, Beryl – and thanks also for reminding me about Scratch (My own first experience of coding was with BASIC on a Sinclair ZX81…).
We forget that early word processing software (WordPerfect, Word Star) required a certain level of mark-up coding, and early spreadsheet packages (VisiCalc) relied on users manually defining rows, columns and functions.
As for the banks, it’s interesting that so many of their underlying and legacy enterprise applications have to be maintained in archaic languages – and due to the lack of a systematic capture of overlaid business rules, trying to map the existing data and processes to new platforms is a high-risk undertaking.
Good luck with spreading the word among your students!
Further to your interesting article on Coding, I would be remiss if I did not mention the STEM subjects. The deterioration in Australia’s mathematics since early this century is appalling.
When looking for answers in other countries’ successes, I found an answer in the Singapore maths materials and have been using them in tandem with the Australian curriculum for the past three years and the results are exhibiting the improvement I expected. The students are mostly unaware of my experiment but are experiencing great results without any extra time or effort. One student finished in the top 25 of last year’s Australasian Maths Olympiad. Another student has just jumped from kindergarten to second class and when he heard me telling another parent about him, said “And I’m still only 6”. It is said that Singapore maths is two years ahead of ours but on working with it, I find it has more depth and has a pictorial way of teaching problem solving. We also combine Singapore Science with our curriculum material with great effect.
I believe that we should not wait for year seven but should attack the decline in these subjects as early as possible. It is in primary school that students are made into mathematicians and scientists.
Interesting – have you looked at what Machinam are doing to overhaul the maths curricula? Suggest you check it out….