Teaching young people the true magic of computers is a powerful game changer, writes Bill Liao.
Dark arts may be what you think of when you imagine people programming computers, yet every aspect of our modern lives is positively impacted in some way by advanced computer software or code. As Arthur C. Clarke famously said: “Any sufficiently advanced technology is indistinguishable from magic.”
We complain daily about computerised stuff that does not work or is buggy and yet a huge amount of well written code exists that makes our modern lives work. Consider the tiny computers that run the airbags in you car that must operate flawlessly for decades, or the complex software that runs a game console. In every field of human endeavor programmers or coders are writing the future.
Computer languages underpin nearly all our progress of the last 30 years. Yet despite this unprecedented demand for new software that appears set to continue and grow exponentially and indefinitely, we somehow find ourselves in a crisis of our own design.
Learning
When I was 12 my life was changed forever by the acquisition of a new technology. I was one of the first kids in my town to get my hands on a personal computer. Learning to programme in BASIC and then machine code, I discovered new ways to think and an entire realm of possibilities opened up before me. When I went to High School I could already out programme the teachers, and even though there was some programming taught in my high school, it was woefully out of date. So I learned to programme as a largely solitary pursuit and while I developed some reasonable prowess I never got really good. Never the less, my life’s journey was deeply enriched by my exposure at a young age to the innards of computers and their magic spells.
Fast forward roughly 30 years, and I found myself engaged in conversation with an earnest yet humble young man James Whelton who at 18 had just finished his Leaving Cert and was engaged in fundraising for his start-up company.
James, an excellent, award-winning coder in his own right, had founded a computer club in his school and was distraught because he was finishing school and moving on. The school had decided to shut down the club he founded, thus depriving many of the other students of learning how to code themselves.
This astounded me on several levels not the least of which was the finding that two years back there was a total absence of computer programming classes in both primary and secondary schools. James himself had learned everything he knew from the same, often solitary, extracurricular activities that I had participated in some 20 years previously. What hit me then was that we had failed an entire generation of kids who had grown up as digital users and not hard core digital creators.
Here was a crisis of epic proportions staring me squarely in the face and at the same time here too was an evident solution.
The crisis manifests its self in many ways; drop out rates in college computer science courses worldwide are in excess of 50%. One in three technology start-up companies fails to secure a descent software developer, and yet starting wages for some programmers in some disciplines can be over $150,000 a year.
Language
To understand how big the failure is we need to understand the nature of code. Coding is a language skill tied more to logic than math. Young kids both absorb languages readily and they play with them for hours.
The best coders I know are like poets. They have an economy of expression that allows them to write beautiful, efficient creative code almost effortlessly. The coder who can do this in a small team is the top of the tree and able to outperform any number of lesser hacks. So by not offering coding in a social context to young kids, we are in fact depriving the whole world of a bunch of highly skilled creatives in the future. Simultaneously, we are depriving potentially hugely talented kids of a career.
Fortunately, it is not too late to redress the situation. When the personal computer industry started it was by virtue of computer clubs, industry partnerships and volunteerism, that much of what we see as mainstream computing was created and spread.
Community
The open source community of programmers globally has given us models like Wikipedia and GitHub to follow. So to solve a global crisis in education it seamed to James and myself some form of open free learning environment based on what he had done in his school and on what I had learned through business social networking and self organising systems would do the trick.
After months of work, CoderDojo was running every week in the National Software Center in Cork where it continues to provide a learning space for kids from seven to 17 to learn the magic of programming. Better still it has spread to 70 locations across the world and hundreds of locations globally and it is growing fast. In line with the principles of open source and experiential learning, CoderDojo is free for everyone and its inclusive. Kids show up with their parents (who stay to help out) and they learn collaboratively and by doing and playing.
CoderDojo’s are popping up in universities, in corporates and in public spaces. Wherever they arise you can be sure that a sense of community is enhanced and that kids are having a ball and yet are also learning the true magic of computers that changed my own life so powerfully when I was 12.