If you are reading this article, you are likely already aware of what coding is and the implications is has for the future of the workforce. As we have seen more clearly this year than ever before, society desperately needs a continuing source of capable and talented technical professionals.
The current global pandemic has forced much of both work and education online, which in turn has exposed a plethora of fundamental issues in many of the technologies this transition relies on. The internet, for example – the fibre that holds our digital world together – is not accessible everywhere or for everyone. Service can be slow and patchy in rural or regional places around the world, which only further isolates individuals living there. Furthermore, many digital services were simply not built to withstand the level of usage to which they are currently being subjected. This has caused notable outages, technical difficulties, and most of all frustrations for end consumers.
While in the past many have argued coding may be a dying profession as computers learn to write their own code, the consequences of this pandemic prove coding will remain a necessary profession well into the future.
This has immediate and broad implications for the next generation. Regardless of whether any child now will have a use for coding knowledge, there is no questioning the benefits of a greater technical understanding. In order to function effectively in our digital world, it is useful for children to understand software, interfaces, and yes, maybe even code. All applications and websites are built in similar ways, and it is crucial to understand how to troubleshoot common technical issues – especially given the increasing social trend towards remote work.
Yet it is easy to assert that providing education on this to our current youth may be largely unnecessary. Today’s children seem to possess a natural aptitude for technology, having been exposed to it from a young age, and it is not uncommon now for toddlers to know how to use an iPhone. If children are operating ‘computers’ from the age of two, at what level of ability will they be at age ten? Or even fifteen? There is no point in teaching children how to use a computer, even less code if they already possess the ability to do the former and can operate effectively as digital citizens without the latter.
The usefulness of teaching computer skills to children endures primarily due to the type of technology they are becoming familiar with: mobile devices. While iPhones, iPads and Apple Watches are all legitimate computers in their own right, they share fundamental differences with full-fledged desktop computers which make many of their fundamental operating skills incompatible between the two platforms. Touch-screen devices use fingers for point-and-select. Desktops use the mouse (touch-screen laptops/desktops remain an ergonomic nightmare). This small difference means the basic interfaces of the two platforms are quite different and knowing one is therefore not equal to knowing the other.
So we are again brought back to this year’s pandemic. It is clear that laptop and desktop computers are not surrendering their stranglehold on productivity to iPads or iPhones any time soon – mobile devices are simply impractical for doing most serious work. With these platforms remaining relevant, so too are the technical skills that come with operating them.
But continuing this strand of argument, why teach children to code? What would be the point of such an endeavour if children are in need of functional operating skills, not development skills, to get work done on proper workstations? And what – many are asking – is the point of teaching every child to code in this case? These are all valid questions that address the same issue: only a small proportion of the population actually needs to know how to code. The scalability of the internet means that a very small number of creators (coders) can support an almost infinite number of users (everyone else) – of course, assuming they continue upgrading bandwidth and server capacity.
The answer to those questions is the same as the question of why subjects like English and mathematics are mandatory in many education systems around the globe. To function in society, one must be able to communicate and calculate, which these subjects enable. English and mathematics enable one with fundamental social and commercial skills which are irrefutably useful in any life scenario. Confusingly, however, both of these subjects go far beyond what you would consider generally useful to a student if they are to complete high school. The ability to identify and name an instance of epizeuxis (a literary skill) or solve differential equations (a mathematical skill), for the average person, is unlikely to ever find application beyond an academic, educational setting. Coding finds itself in a similar situation: it is a very niche skill that many will not find direct use for later on. However, like English and mathematics, coding now reflects the kind of world we live in. The move to make it mandatory reflects the education system’s recognition of our societal paradigm shift brought about by digital technology.
Whether we like it or not, an astounding number of children will be learning to code in the years to come. It is a growing – not a shrinking – part of both education and the workforce.
That is one of the reasons why EduKits is committed to building tools and experiences to increase the accessibility of coding for children. There is no doubt that learning to code can be a daunting, complicated and technical endeavour, but we understand that it doesn’t have to be this way.
Understanding the greater role of computer programming and the maker movement
At EduKits, we acknowledge the logical rhetoric that points towards coding being a somewhat useful skill to learn. However, we believe in an even greater reason which compels our approach and response to coding: the idea that everyone can – and should – become a maker.
‘Maker’ is a term that has come to mean a lot of different things over the past few decades. At its simplest, it simply means a creator, or designer – someone who is able to solve problems by creating something. Importantly, the maker is one face of a two-sided coin whereas the other side is the consumer. Almost every problem we face in our lives is a shared problem, so if someone is able to solve it, it may be consumed by hundreds, thousands, or even millions of people around the world who have that same problem.
There’s also something even more important about being a maker: the simple joy of creating something of your own. This is easy to lose in our digital world where there is an overwhelming trend away from creativity and towards total consumption. If one is bored nowadays, they have many choices: Netflix, League of Legends, Minecraft or the calculator app (if they’re an accountant). People no longer have to make their own fun simply because they can consume someone else’s fun simply dished up for them. In moderation, it is actually a good thing to enjoy and consume the creations of others, but when overwhelming, it stifles individual tendencies towards individual expression and creativity. Even when people do try and be creative now, it’s generally with technology and with consumer-level tools, which leads to the ‘cookie-cutter-ing’ of creativity. Templates, fonts, themes, and stock photographs mean that everyone is still largely borrowing much of their creativity.
To stress, none of the technologies (or shifts in technology) mentioned above is inherently bad. In fact, many of them largely enable us to live better lives. However, it is important to keep in mind that those mentioned increase a need for us to become makers again and re-discover the joy of making things.
Regardless of your views on this idea, you cannot deny that there is a new generation in which many are unlikely to ever turn in a single hand-drawn poster for a school assignment. This same generation is also unlikely to ever hand-draw (on paper) a birthday card – or an invitation for that matter. All these things can be done on the computer – probably cookie-cut from someone else’s work.
Coding – as counterintuitive as it may seem – is the digital equivalent to physically making things, and it can be just as fun. Hardware coding is the pinnacle of this experience. It is difficult to express the joy that can be found in the little things – making an LED blink, having a file finally compile without errors, or testing some existing code with a new microcontroller. These moments are the ones we wanted to catch and distil when developing our unique tools and experiences for coding education.
The Amazing Annoyatron is one of the products we sell. It’s an affordable kit targeted at children and teenagers between nine and fifteen years and can be purchased from our main website. At its heart, the kit is a simple hardware-coding product that takes kids through the basics of uploading, editing and modifying code. We don’t promise that our users will finish the twenty-plus projects and suddenly be employable as backend developers, nor do we necessarily expect them to be able to write their own programs from scratch. Although the latter was one of our original goals when we developed the first version of the kit, we quickly realised that this wasn’t a viable or helpful goal, and it was more important to focus on encouraging the creativity and joy of the process.
Ultimately, teaching kids to code shouldn’t be about preparing them for the future workforce. That’s what university is for, where many computer scientists and software engineers write their first lines of code and end up with jobs just fine. Rather, the excitement of building something should be what this new kind of education focuses on. We’re losing the ‘maker’ part of our identities and should be fighting hard to regain it.
Making coding accessible, exciting and educational
In implementing our tools and experiences, we have always had to balance the competing factors of accessibility, engagement and educational value. This is a surprisingly difficult challenge, and we’ll be the first to admit that we haven’t always struck the perfect balance.
Our Code Kit software is just one example of this. Originally known as Codeables Studio, the app makes hardware coding accessible for children by generating C++ code automatically from colourful, drag-and-drop blocks. This means an 8-year-old can create a complex hardware program with hundreds of lines of code without knowing what a single line of that code means. Codeables Studio was relatively simple in concept: users would pick a block from the left sidebar, drag it onto their workspace, and code would appear in a pane to the right. The code would update instantly as users dragged new blocks onto the workspace, re-arranged them or made changes to existing blocks.
The problems with this software were twofold: it lacked many features which impeded its usability and it simply wasn’t fun to use. The former was down to both user interface and blocks, and the latter was simply due to flaws in interface design only.
After a series of incremental updates and the slow release of new blocks, Code Kit was eventually released in early 2020. We re-evaluated our approach to achieving the aforementioned balance and conducted a complete overhaul of the entire user interface and the blocks available to users. At the time of publishing, Code Kit 3 has just been released. This update further enhances these changes by adding even more blocks and adding an advanced mode which brings with it many ‘pro’ features our users have been asking for. Code Kit has seen much higher usage compared with Codeables Studio, and we believe it is simply a better, more balanced product.
These insights will surely mirror what will be seen in the classroom as coding education becomes more and more widespread. It is important for educators to realise that coding is difficult, and it will therefore be difficult to teach. Just as we have had to fail and try again with our own products (yes, Codeables Studio isn’t the only code-tech belly-flop we’ve had), educators will have to try different things and remain agile when approaching this new educational frontier.
The balance between accessibility, engagement and educational value is particularly hard to achieve because these three factors are in conflict with each other. Increased accessibility reduces engagement as products (or lessons) become easier but more boring. Increasing engagement inevitably detracts from educational value, and vice-versa. We can only try our best. Most important is to always consider the end-user, or the student, when approaching this balance, because they are fundamentally who the balance is to benefit.
What lies on our path ahead
Over the past year, we have been developing an experimental product called Egon (short for Electronic Dragon) specifically designed to encourage more young women to code. The product targets females in late primary school and early high school as part of our attempt to address the gender imbalance in the computing industry.
This product has played a significant role in our planning for the future. Even more than the Amazing Annoyatron, we believe this product has the ability to bring the joy of coding and ‘making’ to children around the world and inspire them to develop an interest in those things. However, the path to production has been rocky and the expenses of mass-producing the plastic casing are quite high. You might be waiting a while until you see Egon on a local store shelf.
This challenge does not silence the call of our greater mission, however. Today’s release of Code Kit 3 marks our ongoing commitment to the maker movement and to making coding more accessible for children around the world. Code Kit is free for anyone to use and it also provides us with an opportunity to extend the capabilities of our existing products.
Moving into the future, we ultimately hope to use code to inspire the next generation to become thinkers, dreamers and creators. The world is ripe for change and innovation, and coding can bring about that great change we need to see.