Why the Next Generation Needs to Learn to Code, and the Easiest Way to Get Started

White with Colorful Line Vectors Web Development Event Program.jpg

Digital Learning

Check out the Extra-Curricular Concierge for more details

Of our 300+ Oxbridge mentors, u2 have tutors that can kickstart your learning in all aspects of Computer Science.

Many people think that coding is an impossible skill to learn, or that it’s something best left to geeky geniuses. This is just a myth. Anyone can learn to code, and indeed, more people should learn to code. Keep reading to find out the 5 top benefits of learning to code, and the 3 easiest ways to get started.

What is coding?

But first, a precursor. What actually is coding?

Coding is an umbrella term that refers to creating applications, software, websites, and other digital things, by writing ‘code’ in programming languages... Some common programming languages are Java, JavaScript, C++, Python and Go. There are also markup languages like HTML and XML (used mostly for arranging the content on websites), stylesheet languages like CSS (used mostly for adding styles – like fonts and colours – to websites), database languages like SQL, and more.

But that’s a boring description of what coding is. Instead, consider this: coding is poetry.

Poetry uses structure and form to convey a beautiful message. When reading a rhyming couplet out aloud, it sounds beautiful and neat and natural. But you don’t realise why it sounds like that, until you begin to analyse the meter and cadence. The structure and form is invisible; it’s kept hidden in order to communicate a feeling to the reader about the content they are reading.

Code is similar. It is kept hidden from the end-user (‘end-user’ is a fancy way of saying the normal person, like your or me, who is using a website or an app) and uses structure and form invisibly to make something function without a person noticing.

Above I listed just a few examples of the different programming languages that exist; thousands of languages exist,[i] but they all are used to accomplish the same goal: solving problems. Just how poetry has a form that stays hidden in order to convey a beautiful message, the code used to make a program work is invisible in order to solve problems. The problem could be a small problem: how do I make an app find and show me a new photo of a cute cat every time I click a button? Or it could be a big problem: how do I use an app on my smartphone to tell a restaurant my food order and tell the nearest Deliveroo cyclist to pick it up and bring it to me?

So, coding is like poetry, and is used to solve a huge variety of problems. Next up: the 5 key benefits of learning to code.

5 Key Benefits

1.     It’s fun!

Learning to code is fun! If you’re the kind of person who likes solving logic puzzles like Sudoku grids, this might not be surprising. But even if you’re not, the chances are you’d still enjoy learning to code. Often people don’t realise how fun it is until they actually have a go at coding something. This is because the goal of coding is to build something that solves a problem, and this idea of building things is fundamental to why coding is fun.

Naturally, we all love creating and building things. It’s why construction toys like LEGO sets are so popular. The feelings of passion and excitement when you finish creating something you made from scratch are incomparable.

Coding is the same: it’s fun because you end up creating something. But it’s even more fun than LEGO – because you end up creating something that can accomplish a specified task.

2.     Thinking computationally

Learning to code helps you thinking critically in a structured way. Programming languages are deterministic, and often require you to build up larger features out of smaller individual functions. For example, if you are building an application that is a word processor, you build separate features: the ability to type and delete text, then the ability to highlight text, then the abilities to copy highlighted text, cut highlighted text, paste highlighted text, then formatting, and so on. This means that over time, you naturally end up thinking in a more computational way.

Being able to think computationally allows you to approach a wide variety of problems and solve them, and often in the most efficient way possible. It also aids in abstracting away from specific problems and finding general solutions that apply in other situations. This isn’t just a great skill for software engineers, mathematicians and logicians; it’s useful for everyone, in any aspect of life.

3.     Thinking creatively

Did I really mean to write ‘creative’? I sure did!

As we said before, building things by programming them is all about solving problems. But there are loads of different ways to approach the same problem. Say you need to cross a river. Some people would prefer to row a boat, some would prefer to swim. Some might go in search of a bridge! All of these solutions overcome the problem and reach the end goal of crossing a river.

Programming is the same – there are many ways to approach and solve the same problem. No two programs are written the same way; in fact, experienced coders even seem to develop their own style of coding.[ii]

Moreover, you can also use code creatively when making art. A huge range of art is created digitally – think about every Pixar film you’ve ever seen. All of those films were computer generated, making use of software like Autodesk Maya and Adobe Photoshop. Using such software doesn’t necessarily involve coding, but lots of plugins for such software is scripted using specific languages like Python and MEL.

If you want to get started with creating digital art by using code, I highly recommend you check out something called ProcessingJS! http://processingjs.org/articles/jsQuickStart.html The below image was created using it:

Coding.png

4.     Success at higher education

Fourth on our list is success at higher education. If you want to attend an elite university, you should expect to have in-person interviews, where you will often be asked about your skills and interests. A great thing to talk about is being able to program. Even if you’re just a beginner coder, showing that you are trying to learn to code by yourself is a great display of initiative and intelligence. And, moreover, its an easy way to demonstrate that you can think computationally and creatively as described above.

5.     Career Opportunities

Lastly, and directly related to the previous point, is the benefit that being able to code has when you’re looking for a job. Some of you reading might not be too worried about that yet. But the reality is that tech is everywhere - we all have miniature pocket-sized computers on us at all times! Everything is being automated, so those who can’t keep up will naturally fall behind. In fact, the McKinsey Global Institute even reports that by 2030, 800 million jobs worldwide will have been replaced by robotic automation.[iii]

But that’s a good thing! It means that menial work won’t have to be done by humans. And also, it means that you have a chance to stay ahead of the game. By learning to program now, you’ll be able to stay ahead of the curve: you could be the person who programs all the robots.

As the Independent reports, “[many careers are] being transformed by the digital economy” and “pupils … need to be spending more than one hour a week … learning computing prior to their GCSE years”[iv] to get a head-start on the future of computing in the UK.

3 ways to get started

Three quick ways to get started are as follows:

1.     You could use an online learning platform like Codecademy (https://www.codecademy.com/) or an app like Enki  (https://www.enki.com/). These are just two apps that I’ve used, but there are lots out there to choose from. If you go down this route, my best advice for choosing one is to pick one that gives you a big project to build. Something to work on and eventually solve. You’re more likely to stick with it that way – and the more you stick with it, the better you’ll become.[v]

2.     You could buy a Raspberry Pi Zero (https://www.raspberrypi.org/products/raspberry-pi-zero/). Alone it’s only a fiver, but I recommend you get it with the kit of components that come with it, as together they’re still pretty cheap. There are lots of Pi projects out there that teach you to build something using hardware as well as software, and while it may be harder to get started with, it’s definitely more satisfying to build something physical.

3.     You could get in touch with u2! We’ll pair you with the perfect mentor who can give you one-on-one teaching and talk you through the best way to kickstart your digital learning, according to your experience and what’s right for you. Click here to get in contact.

So why learn to code? Coding helps you think computationally and creatively, will help you get into university and find a job. The best way to get started is just to dive right in. Practice lots until you get better, and don’t be afraid to ask for help. It can be hard – but even the best programmers find themselves needing to Google relentlessly to debug their code.

By Oxford Computer Science Graduate, Paavan Patanj Buddhdev

 

 

[i] This website from 2011 maintained a database of over 8000 language https://web.archive.org/web/20110220044217/http://hopl.murdoch.edu.au/.

[ii] There’s a wonderful book about this, that has programs which solve the same problem, written in the styles of famous literary figures. It’s called If Hemingway Wrote Javascript: https://www.amazon.co.uk/Hemingway-Wrote-JavaScript-Angus-Croll/dp/1593275854 

[iii] https://www.bbc.co.uk/news/world-us-canada-42170100

[iv] https://www.independent.co.uk/news/education/coding-the-curriculum-new-computer-science-gcse-fails-to-make-the-grade-a7808171.html

[v] Once you’ve got off the ground, this is a cool list of projects to work on: https://github.com/karan/Projects