What is coding?

For many people coding is a dark art, a mysterious phenomena. You may be thinking why ask the question, it is obvious, everyone knows what coding is. Well it may surprise you that there are a lot of people who really have no idea what it is except it is a thing with weird words and numbers. 

I spoke to a group of adults as an introduction to a coding course I was running. They were there for various reasons, one was even an author who wanted to incorporate it into her novel. Some of them think it is a form of maths, others throw words at me like Raspberry Pi and others just have no concept at all. 

Trying to explain it in words only was quite difficult and I encouraged them to come along to one of my free beginners courses coding with p5.js. It was brilliant watching them slowly but very surely gain skills and confidence. They were hooked and addicted, they loved it and I was pleasantly surprised at their commitment and response. Anyway back to explaining, I will use some analogies. 

It is like a recipe

Imagine if you were to make a cake, you would need the ingredients but equally important a set of introductions on how to make said cake. It would be very important to follow the steps as described and not rearrange them or miss a few steps out. You can see how it works step 1, then step 2 etc. coding is the same you give the computer a series of instructions and it follows your instructions to the letter. 

It is like a language 

If you were to look at a piece of code it can just look like a jumble of letters, strange words, numbers and symbols. Yet if you start simply you realise that as a language it has a very small vocabulary, the syntax is very simple and very repetitive and everything is consistent and logical. It is not like learning French or German where there are rules but many exceptions and differences. Apparently English is one of the harder languages to learn with subtle inconsistencies. Coding is much, much easier to learn. 

More problem solving than maths

At the very heart of coding is problem solving, writing code is to use a limited vocabulary and structure to achieve a particular task. There can be some maths latter on as you progress but it isn’t maths per se. So, as long as you have a basic understanding maths you can go a very long way and anything else you might need to learn you can do that easily later. Don’t ever let the maths put you off there is very little. 

It is very logical

Coding is primarily very logical and precise (up to a degree). It may let you get away with some things but miss a comma out and you could be in big trouble, misspell a word or not put a capital letter where it should be and everything could crash or grind to a halt. As far as it goes it is a very good discipline to master. 

What is it for?

Everything really. Nearly every piece of equipment you might use more complicated than a light switch or torch will have a computer chip that has been programmed with some code. You can create art, you can build websites, make gadgets or robots or games. The list is endless. 

What languages are there?

The short answer is hundreds. But some of the more popular ones for beginners are languages like scratch, python and in my case p5.js. So any of those are brilliant but I would recommend p5.js as it is the best in my mind and as an educator I look around for one that would work for pretty much anyone of any ability or age. I have taught it to a group of 70-80 year olds, I have taught it is schools and with a teenage group. So, I may be biased but I do think it is very good. The great thing is that whichever language you learn the skills and knowledge are very transferrable. I would recommend learning a two or three.

Scratch

Scratch is a language being used in schools designed for young children. It is block based which means that you do not need to type in any code instead you simply move blocks around and connect them in order to run your code. Although it is designed for young children primarily it is still a powerful coding language.

If you want o know more then visit their website https://scratch.mit.edu/

Python

A language that is very popular amongst older children, scientists, mathematicians and data scientist is python (named after the Monty Python comedy programme). It is another high level language that has a huge following. It is considered to be another good language to start programming with (I have a different personal preference). One of the benefits is that there are countless libraries that you can use that take all the heavy work out of coding and it often the ‘go to’ language for Machine Learning (AI).

This is a great website to start learning Python https://www.w3schools.com/

P5.js

P5.js is a JavaScript based creative coding library. It enables you to code onto a canvas so that you can see instantly what you are doing. It was developed for those wanting a a creative coding language. Although it has its beginnings in art it is still a powerful coding language that harnesses the power of JavaScript. You can create art, physics simulations, games as well as develop AI tools to use online. This is my personal recommendation as the best all round coding language for beginner and experts alike.

This the website to explore all the resources and reference material with examples https://p5js.org/