There are a few names for what programmers do: programming, coding, scripting, etc., but what actually is a programmer?
The formal definition: A specialist in one area of computer programming or a generalist who writes code for many kinds of software.
The internet’s definition: An individual who turns pizza and coffee into functional code.
All programmers have one thing in common; they get presented with a problem for which they have to find a solution. This is where all programmers start out – how they attack this problem is where the fun starts.
So being a programmer seems like fun and all but why should children learn to code? And should they only learn to code if they have an interest in becoming a programmer?
Learning a new language isn’t the only benefit of programming. One of the most important advantages is acquiring the ability to think programmatically, i.e. computational thinking. This means being able to look at a problem, break it down into smaller parts and work through possible solutions until you crack it. This problem-solving skill is at the heart of all programming.
The value of computational thinking is getting a lot of recognition lately and it’s even being suggested it should be added to reading, writing and arithmetic as a core ability that every child should learn.
Developing basic computational thinking skills encourages a way of thinking that can help children in many areas of life, no matter their eventual career choice.
The future is built in code
Learning to code isn’t just for children who want to grow up to be programmers, but having that option can open doors.
Imagine going through a day without your cellphone, tablet, or computer. These days our lives depend on our devices, all of which are populated by apps, and that won’t be changing anytime soon. The career opportunities are virtually endless with new innovations being made on a daily basis.
Getting children interested in programming at an early stage would kickstart their education and widen their career prospects.
Where can children start?
Obviously it would be a bit daunting to give a student PHP/C++ and leave them to their own devices. Students could therefore get started with something relatively simple like HTML and CSS.
At their core, websites are essentially HTML and CSS (with a few other languages mixed in to make things fancy). They’ll also have the added benefit of seeing quick returns on what they have done. (Before developers across the lands jump up and down, I am well aware that HTML and CSS are not really programming languages, but more commonly referred to as markup languages.)
A natural progression would be to move to an object-oriented language. As mentioned earlier, we interact with the applications on our devices on a daily basis, most of which has been written in Java. There are millions of applications that run Java and it is almost impossible to go through a day without interacting with something that runs Java so that is a good place to start. Other languages include: PHP, C++, Ruby, Python, etc.
Accessibility to teachings
No extra programming classes in your area? No problem. There are a number of websites that help students develop their programming skills.
A great website for children. It has tutorials with popular cartoon characters talking you through a drag and drop editor to accomplish basic functions. Kids have the option to see the code that the editor generates to familiarise themselves with what they are busy with.
Another site targeted at the younger generation. Ages from 5 to 14 can benefit from the interactive drag and drop editor, similar to code.org. Scratch allows users to create, share and collaborate.
Codecademy lets you select a language you are interested in and takes you through scenarios teaching the basics and then gets progressively more complex. After teaching you basic markup you are presented with problems that you need to find a solution to with the basics you have learned. The website tracks your progress and reminds you to come back and follow through with your course.
The problem that a lot of people are faced with in South Africa is a lack of accessibility to resources like the ones mentioned above. Luckily Africa Teen Geeks, a local NGO, is here to assist; teaching children and the unemployed to write software code.
The resources and opportunities are there for your children if you look for them. Whether you want your children to have a headstart if they’re inclined towards a tech career, or invest in their mental abilities by developing skills like computational thinking, you can’t go wrong by letting your children learn to code.
All else that’s needed is a bit of encouragement.