In an elementary school in North London, a young girl of just ten years of age sits at a desktop computer and clicks on a golden smiley cat icon. She looks at the screen and quickly remembers where she left her command blocks sequence.
She is programming a dancing robot project in Scratch, the programming language created by the Lifelong Kindergarten Group at the MIT Media Lab. She is not a geeky kid with a rocket science IQ: she is a typical little girl that dreams of ponies, watches X Factor on Saturday evenings, and begs Mum to allow her to wear nail polish.
Thanks to Scratch, she has also learned about something called 'software' and what she can do with it. Around the world and sharing projects on a common website, thousands of youngsters are programming imaginary endangered species that live in magical landscapes, desktop games, season greeting cards with gifs and music tracks, projects that turn their creativity into interactive digital dimensions.
Scratch provides kids with an exciting environment to create and share computer applications. Applications in Scratch are built around what are referred to as Sprites; these could be animals, objects, people and so forth. Using simple drag-and-drop programming, students can control their actions and interactions. In the process, they are subtly exposed to basic programming concepts such as conditional statements, iteration, variables, and event triggers.
As a parent of primary-school age children, Daniel Appelquist, co-founder of Over the Air hack days and currently leading product management for BlueVia in Telefonica Digital, was horrified to learn that his kids' ITC lessons were kind of a "crash course into Office" and nothing else.
Appelquist approached his children's teachers to encourage them to incorporate computer programming, specifically using Scratch, into their curriculum and agreed to teach two classes of 30 10-year-olds. The result of his 'stunt' bore a beautiful fruit: the kids were uniformly engaged and excited about the subject and they had fun working through the simple examples that Appelquist prepared for each class and even going beyond.
In West London, the Hammersmith Academy is the first secondary school for 11 to 18-year-olds with specialism in creative and digital media and IT. Its chairman, Tom Ilube, a serial tech entrepreneur who has worked alongside Sir Tim Berners-Lee and founded schools in the UK and Africa, also started cutting his teeth programming at a young age. "For many young people, learning to program is as satisfying as learning to play an instrument" he says with a beaming smile.
ICT skills are presently taught at many primary schools in many countries but the curriculum is basically consistent of (scream now, if you will) how to use office applications, and here is where both Appelquist and Ilube draw the line and encourage curriculums where computational skills are not solely taught as a vocation. "Software writing is a creative process. The first time you write a truly elegant piece of code that does exactly what you wanted it to, you feel a real sense of achievement", Ilube recalls. Learning how to write code and how to build and run a programme is one of the most creative intellectual challenges a person can do alongside writing music and literature.
When developers talk about the beauty of a programming language, one could easily believe that they are discussing Byron or Hemingway: PEARL developers pride themselves by recalling the "poetic" essence of the code; Drupal developers relish in the joy of writing in a language that is the Swiss Army knife of php based CMS. In real terms, what developers enjoy and fall in love with are the various properties of each programming language: how smoothly and easily its syntax supports the clear and structured flow of ideas.
"I would greatly encourage any parents who have some background in computer science and computer programming to get involved with their kids' schools in this way", suggests Appelquist. In the meantime, and perhaps this is how things should pan out, by creating a critical mass of parents that want to make a difference in the educational system, Appelquist advocates that parents looking to get involved should check out Code Club which provides a lot of resources and a kind of "after school club in a box" for teaching Scratch.
Scratch is a first step of discovery but an important one to allow children to find an environment where other disciplines like Maths and English creative writing will come into play. Mathematical knowledge allows the scripted language to have marvelous 'short cuts' to express very complex equations that words would only make very cumbersome to enunciate while writing with flare and no typos in a programming language is the perfect symbiosis of merging Maths with literary prowess.
Once those skills are mastered, developers tend to allow their personalities bloom and emerge in their code and their attitudes. 'Hard-core' developers add to that an uncanny and brave disposition for challenges: they are undeterred when confronted with an impossibility to solve. System administrators are meticulous, database developers are able to create worlds within worlds and connections that compare and match objects within contextual scenarios. Every single developer is unique in how they approach projects and come up with the goods. Proof of this is the plethora of mobile apps that have been uploaded by developers worldwide.
Next time you sit on your sofa tapping away on your tablet, realise that his is only possible because thousands of developers have put theirs skills, passion and enormous love for good code writing into developing the apps you can't live without. Your children want to be creative, not apply for a job at an accounting firm. Don't kill their mojo so soon. In a not too distant future, you may well take your kids to their football practice or to a hackathon, or to both.