Learning to code

Screenshot of Rory's web app The app Rory made in his course

Who needs to learn to code? You might think that a knowledge of computer programming is much like plumbing or car maintenance - something of use only to those who are going to make a living from that trade. But suddenly coding is cool - the government is listening to those calling for it to be taught in schools, and executives are signing up for courses.

I spent a day on one such course run by an organisation called Decoded. It aims to give people who will probably never need to code for a living a basic grounding, so that by the end of the day they have an insight into what is involved.

So at 09:00 one morning I found myself in a very attractive loft apartment in East London sipping coffee with 10 executives from an advertising firm. Most of them had more experience of coding than me - mainly because they were young enough to have messed around with a BBC Micro or a ZX Spectrum as teenagers.

But, like me, they were unlikely to need these skills in their daily work. So what was the point of sending them on a course with a pretty hefty price tag? They gave me various reasons, from gaining a better understanding of consumers to shaping their firm's digital future, but I thought Tom, a young strategy director from the agency, put it best: "There's this phrase, the geeks will inherit the earth.... when they do I want to be talking the same language as them."

Screenshot of Rory's code Rory's work in progress

Then it was down to work - first a potted history of code, with an emphasis on the importance of web languages. Alasdair Blackwell, our main tutor and the co-founder of Decoded, is an impressive evangelist for the open web, and the need to give ourselves the tools to make best use of it.

He argues that today's teenage iPad users, far from being digital natives, actually have less understanding of what makes computers tick than his generation, who got their hands dirty with machines like the BBC Micro. "The children playing on iPads, I actually despair for them because they're just using software, not creating software for themselves."

Next, we started to learn about the building blocks of the web apps we were each going to make - HTML, the basic coding language for any website, CSS, for the style and appearance of the site, and Javascript, to make it come to life with all manner of audiovisual tricks.

HTML and CSS seemed reasonably easy to grasp, but by the time we got to Javascript - with its elements, functions and curly brackets - the brain of someone last in a classroom more than three decades ago was beginning to protest. Then we were each set to work to start building our own web apps, which needed to have a location based element, and to work on a mobile phone as well as a computer.

Rory Cellan-Jones learns how to code

My idea, surprise surprise, was for a news app that would tell you about stories which happened in particular London locations as you arrived there. As we each followed the tutor through the various stages of HTML, CSS and Javascript, there were cries of pain from around the table, as our creations failed to respond in the way we intended.

But what we learned is that coding is a collective pursuit - together with our tutors Alasdair and Monique, we debugged each other's sites so that by 17:30 we all had something basic but rather clever.

By using some smart piece of Javascript found in the free online library Jquery, we had inserted some geolocation code on our sites. This meant that a computer - or phone - using the apps at the door of our current East London location would be served an extra piece of content. As each of us refreshed our web apps, and found that they worked, a ripple of quiet satisfaction spread around the room.

Now, like most of those on the Decoded course, I rather doubt that I will ever be asked to code as part of my job - and a few days after the course I'm already struggling to remember which brackets go where in Javascript.

But I came away from my day of coding exhilarated by the experience and with new insights into the development of our digital world. So maybe one day soon I will sit down and start coding for real.

Rory Cellan-Jones Article written by Rory Cellan-Jones Rory Cellan-Jones Technology correspondent

Instant translation – no longer sci-fi

Automated translation is no longer the stuff of sci-fi fiction, since Skype launched a beta version of its Translator service.

Read full article

More on This Story

More from Rory


This entry is now closed for comments

Jump to comments pagination
  • rate this

    Comment number 15.

    Being able to code is one of those things I'd really love to be able to do, but I just can't.

    When I was at college we did both Pascal and Visual Basic and neither stuck and I struggled with them both. I came to the conclusion it was language thing as I can't remember foreign languages or musical notation either.

  • rate this

    Comment number 14.

    I agree with the trainer - kids these days do not understand how computers work, but learning tools are out there.

    7 years ago it was hard to find free tools to create anything other than websites and that was frustrating. Now the tools are free and widely available and I have become an iOS developer and I have thousands of people using (& paying for) the software I have written.


  • rate this

    Comment number 13.

    8 Lucy Connelly

    I think you miss the point: you can use a computer without a knowledge of programming, just as you can operate a toilet or a Toyota without a knowledge of plumbing or car maintenance, but being able to knock up a bit of code, or bleed a radiator, or change a set of spark plugs, provides a useful insight into the field, even if you're not a programmer, a plumber or a mechanic.

  • rate this

    Comment number 12.

    Regardless of your job, everyone benefits from an understanding of what the people around you actually do. I don't need to code either, but I work with people who do. Learning a little about it has helped me hand over work to them in a form that is easier for them to work with, and also means I don't ask stupid questions or make dumb requests. Everybody wins.

  • rate this

    Comment number 11.

    The geeks shall inherit wonderful jobs, if not the earth itself. But if RCJ found pleasure immersing himself in this, are there not stimulating career opportunities for those without maths, computer science or CGI-art degrees? I have 3 kids heading for an overcrowded labout market.

  • rate this

    Comment number 10.

    As a web developer I beg to differ; JavaScript is a programming language; it has a syntax and vocabulary which, if used correctly, get a computer to do what you want. Also the article states "You might think that a knowledge of computer programming is much like plumbing or car maintenance", not a statement of fact as you portray. I thought software engineers paid attention to detail!

  • rate this

    Comment number 9.

    I'm surprised it took 8 comments before someone mentioned that html wasn't a coding language :) Though to be fair to Rory he never said (in the article anyway) that CSS was a coding language, and nor did he make the claim about JS, however (@Lucy #8) in the general definition of a programming language, JS does count as one.

  • rate this

    Comment number 8.

    Heard this story on Today as I drove to my job as a software engineer (or "computer programmer", if you like) and it made me furious! HTML, CSS and JavaScript are not programming languages. "Knowledge of computer programming is much like plumbing or car maintenance"?! Software engineering is a career requiring a degree and continuous professional development. Your article is fatuous.

  • rate this

    Comment number 7.

    I used a great book called, get on up with java, it was taught on my first year foundation degree. The author is a lecturer at Glyndwr Uni where I attend. The book is great for beginners and has exercises at the end of each chapter for you to go through. http://www.amazon.co.uk/Get-On-Up-With-Java/dp/1904995187/ref=sr_1_1?s=books&ie=UTF8&qid=1334652627&sr=1-1

  • rate this

    Comment number 6.

    Congratulations Rory. I am of the ZX Spectrum era and I agree with the central point of your article in that everyone should have some understanding of coding. What non-coders don't really understand is the creativity of the whole process as, if you gave a bunch of coders the same function to write, you'd get many different variations, some elegant, some clunky, some outright cool.

  • rate this

    Comment number 5.

    After one day, would managers or executives would understand why large multi-man software projects fail sometimes in a very big way?

    Also it would be good if UK software developers also understood more about businesses and why some succeed and others fail.

  • rate this

    Comment number 4.

    Your age argument doesn't work, Rory. I taught myself Basic programming when I had a Commodore 64, and I'm thirteen years older than you. I never progressed any further than writing small games, but it was fascinating to discover how just the omission of a bracket (for example) made the difference between working or not.

  • rate this

    Comment number 3.

    Learning computer programming languages are far more important than French or Mandarin.

  • rate this

    Comment number 2.

    Interesting. I use http://learnjs.info to learn Javascript interactively. It can should how code runs in detail, a better way to start.

  • rate this

    Comment number 1.

    JavaScript is evil. All that effort, making special allowances for the differing ways the browsers work, and the user can simply turn it off. It's like going to the trouble of setting up a surprise party for someone - getting lots of people together, a cake made, tons of party snacks, decorations - only to find out they've gone out drinking instead.


Page 7 of 7



BBC © 2014 The BBC is not responsible for the content of external sites. Read more.

This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.