Learning Coding vs. Coding Learning

As part of the controversially named “Explicit Language” group (we are inquiring into discipline specific language registers and how best to incorporate them into our teaching so as to benefit learners of varying language skills), I couldn’t help but see connections as I began to develop new lessons on coding for primary students in the new year.

Scratch code for making an animated bat's wings flap.
Scratch code for making an animated bat’s wings flap.

Coding, or computer programming, has come a long way since Charles Babbage’s Difference Engine in 1822. There are hundreds of independent “languages” and their products can be seen in the world around us from our smartphones to our cars, light up shoes, weather predictions, architecture and animated greeting cards. Computer code is everywhere, and demand is growing, faster than any other discipline. There are efforts being made worldwide to formally incorporate coding into school curriculum, as a STEM discipline, and as a tool that builds understanding of logic, problem solving, creativity… and language.

As I develop some new lessons to introduce coding to young learners, and collaborate with our Secondary school design team to make it a formal part of our curriculum, I myself am a language learner. Both of the programming languages I had studied in University are obsolete now, the syntax has all changed, but the concepts remain the same. Much of the key vocabulary remains the same. The symbols, the logic, the same.  Even a glance at these three images, featuring adult code from 1947 and two modern images of children’s programs using Scratch, can reveal similarities. I don’t speak French or German, but I can still understand the majority of the code in the two latter images with only a few words of vocabulary, for I have an understanding of the logic of the code. It instills within me an appreciation for programming, and maths, as universal language.

Advanced Coding in 1947
Advanced Coding in 1947
Scratch coding in French
Scratch coding in French
Scratch coding in German
Scratch coding in German

I spend much of my prep time connecting new syntax to the essentials that did not change with time, by associating symbols or visuals to words I understand or reactions within programs that I can witness. When I reflect upon this process, I develop respect for those language learners immersed in the new (to them) syntax of English throughout their entire student experience. I also begin to develop my own strategies for problem solving instructions and language. Perhaps through the stripped-down, algorithmic approach to language that coding provides, our students might achieve the same?

Over the next few months I hope to roll out some new exercises in coding for primary students and develop strategies that target the commonalities between language learning and computer programming. The discipline specific or “explicit” vocabulary will be new to almost everyone, so how might we connect it to our problem solving skills and creativity, and learn it together?

I’d love to hear them if you’ve got any suggestions, and look forward to discussing my progress and observations as I learn to code with the kids.

-M