This article originally appears in @OECTA February 2017
The English Language is beautiful yet complex because its nuances take a lifetime to understand and its mechanics, a lifetime to master. If we learn to look at coding as language we begin to see its beauty as well. It is much like language in many ways except nuances become dependencies and mechanics become patterns that unfold right in front of our eyes.
A code is simply a set of instructions (input) which can cause a multitude of outcomes (output). Each line of code – or instruction – is completely dependent on the preceding line. Code is the imaginary army of little tech-mites that make a font green, make a Mario jump, place a picture on a blog, make a robot say hello or turn the TV volume higher or lower.
We have become so accustomed to experiencing the output that the mechanics of the input is completely out of our minds, and that input can be as simple as: 3 steps forward, jump, turn right and repeat. It can also be as complex as launching a rocket, jettisoning its non-essential modules, landing it and releasing a vehicle for exploration while collecting data.
At the outset, Learning about code may be just as important as learning to code. Coming to an understanding that it is an important language is key but then recognizing that the language is predicated on precise instructions and patterns really make it powerful.
If you do just a little exploration you will find that coding a character to walk across a screen requires the basic understanding of a new lexicon, sequencing of events, distance, speed and time. It requires a hypothesis, most likely failed attempts and tweaking. It will also require visualization and observation to determine success or failure which is immediately seen no less.
For a robot to scurry across the floor also requires the understanding of a new lexicon, magnitude, direction, speed, spatial reasoning but also its effect on its environment and consequences of poor instructions.
A twenty minute coding activity has great potential to embed many aspects of the language, mathematics, science, social studies and physical education curricula. OECTA members have developed a beautifully simple approach to teaching code as participants of OECTA’s 2016 Collaborative Learning Communities and can be found here: https://www.teachontario.ca/community/explore/teachontario-talks/blog/2016/08/30/driving-student-engagement-in-mathematics-with-coding-and-programming
A new language is always a challenge to learn, but once learned, it opens doors of opportunity that last a lifetime.