top of page

Computer Coding tutors in London and online

Whether it's GCSE, A Level, BA or for professional purposes — one of our private tutors can help you ace Computer Coding!

Computer Coding Explained

by Joe

Whether or not you have intentions of becoming a computer programmer one day, there's no doubt about it — in today's world, coding is booming, and knowing just a little bit about it could give you a definite edge in the workplace.

 

More and more companies are relying on technology to run efficiently, and chances are that sooner or later you'll be liaising with coders, or liaising with people who liaise with coders. So why not get your head around the fundamentals?

joe_hytner.jpg

What is a programming language?

Simply speaking, a programming language is a way for a human being to talk to a computer! The key thing to appreciate is that ultimately a computer can only understand binary (1s and 0s). It's almost impossible to believe, but everything we ask computers to do in every day life — whether it's ordering a book from Amazon, doing our online banking or liking a post on social media — is translated into different combinations of 0s and 1s for the computer to understand. For example, the following phrase might mean something to a computer: 000100111101010000. As it happens, this phrase means "have a nice day". (Yes, I'm kidding). Binary is known as the native language of a computer.

 

But wouldn't the world be quite a tedious and complicated place if computer coders had to explain everything to computers like that? You will be relieved to hear that most coders don't have to think about binary at all. They learn programming languages which look a lot more like English and, when the English-like code runs, the binary code will be automatically produced for the computer to understand. Essentially, code is written in a human-friendly language, which in turn produces code in a computer-friendly language (binary), and the computer acts on the latter. There are low level coding languages, which are closer in look and feel to binary, and high level coding languages, which are more abstract and most like English.

 

To use a simple analogy, it's a bit like saying that the computer only understands Latin, but since so few people are fluent in Latin nowadays, computer programmers can make life easier for themselves by learning instead to speak Italian (which is quite like Latin) or German (which is nothing like Latin), and there are ways that the Italian or German can be automatically translated into Latin for the computer to understand. Clever, huh?

Which programming language should I learn?

That really depends on what you want to be able to do! The best coding languages for building websites, for example, are not the same as the best programming languages for building desktop applications.

 

If you are just trying to get an understanding of coding purely as a hobby, then it doesn't really matter which language you plump for: there is an awful lot of overlap between different coding languages, so once you've mastered a few basic concepts in one language, it's then very easy to apply that when learning new languages in the future.

If you are interested in creating websites, then you will need to learn three front end languages and at least one back end language. To understand the difference, you need to remember that there are at least two computers involved every time you visit a website. There's your own computer (the 'local' computer), which is used to request the website via your internet browser (such as Chrome, Firefox or Internet Explorer), and then there's a remote computer (also known as a server) which could be physically located thousands of miles away. The server receives the request for the website and sends back the information to be displayed in the browser on your local computer. Back end languages are the ones which run on the server and figure out what information to send to the requesting browser. They send back some code in a front end language which can be understood by the browser itself.

 

Let's take a simple example. When you log in to a social media account such as Facebook, there is some code responsible for figuring out which posts you'll be interested in and sending that information over to you. This code is written in a back end language and runs on Facebook's server. You send a request to log in to Facebook via the internet browser on your local computer, and when Facebook's server receives that request, the back end code is triggered and it finds relevant posts for you. That code will look at all sorts of things such as how recent potential posts are, what sort of posts you've liked in the past, what posts have been particularly successful with a large number of users, and (in the case of sponsored ads) whether you meet the target demographics set by the advertiser.

 

I know, it sounds a bit creepy, right? But it's also incredible to think of the human effort and skill involved in writing the back end code that can actually make those decisions and (alarmingly accurately) convey relevant information to you. What the server sends back is some front end code which your browser (Chrome, Firefox, etc.) can understand and can use to display the information in an aesthetically pleasing way — for example, in a nice bold green colour.

Every browser uses the same three front end languages, so front end developers have to be on top of all three of these:

The 'holy trinity' of front end coding languages

1. HTML - this specifies the physical structure of the page. For example, the HTML on this page divides my article into different paragraphs and specifies which bits are section headings and which bits are regular text. It also specifies where the images go.

2. CSS - this specifies the design of the page. For example, in CSS you can say something like "all section headings should be bold blue", as is the case on this page.

3. JavaScript - this specifies what happens when a user interacts with the page. For example, in JavaScript you could specify that when a button is clicked the user will see a message saying "thanks for clicking me", or that when the user's mouse hovers over a link it will change colour.

Some people say that HTML is like 'nouns' (the things on a page), CSS is like 'adjectives' (how the things look on a page), and JavaScript is like 'verbs' (what the things do on a page).

Choosing a back end language to learn

In terms of back end languages, there are way more choices — Python, C#, Java (that's not the same as JavaScript!), Ruby, C, PHP, and many, many more! There is a lot of debate amongst programmers about which coding languages are trendiest in 2019, but at the end of the day every language has its own pros and cons. The key considerations are how fast the languages run, how easy they are to learn, what they are commonly used for (e.g. desktop apps, websites, games, etc.), and how many companies employ coders who know those languages.

 

Don't stress too much about which one to start with — the crucial thing is to start understanding the concepts of back end programming, which you can do by picking any back end language, and with that understanding you'll then be able to pick up a second and third back end language much more easily. So just pick one and get learning!

Computer Coding
Computer Coding

We offer Computer Coding tutoring at a wide variety of levels, from young learners (7+, 11+, 13+, etc.) to older learners (GCSE, IGCSE, A Level, IB, Pre-U, etc.) and even to adult learners (those doing undergraduates or Masters courses, or learning just for fun).

Our qualified Computer Coding tutors have been hand-picked by teaching experts (our longest-standing, most successful tutors, some of whom are PGCE qualified teachers) in our thorough selection process.

We offer varied Computer Coding tuition rates to suit all budgets, with prices depending on the tutors' qualifications and their total number of hours of private tuition or classroom teaching experience. 

 

Frustrated with Functions? Dumbfounded by Databases? Vexed by Variables? Let us find you a Computer Coding tutor to inspire you and get you back on track! Contact us today.

bottom of page