Computer Programming Fundamentals: What You Need to Know

Dec 30, 2018 by

The world of computer programming is one of mystery to those on the outside of it, but when the basics are broken down into plain English everything makes more sense and therefore becomes so much clearer, and more approachable.


Cracking the code
Language is a universal form of communication, although it comes in many different forms – depending on the country or region of the world it belongs to.  Let’s take English as an example – it has grammar rules which cover how all parts of language are used. All other languages, including that of computers, have definite elements which must be used in the correct way to make sense, but rather than nouns, verbs and adjectives computer language features elements like syntax, data types and variables!


So a computer program is basically just a list of instructions on how to perform a task that are written in a language the computer can understand. However, there isn’t just one computer language around – there are lots. The most well known are probably Java, Javascript, C, C++, PHP, Ruby, Perl, and Python.


Computer programs are everywhere
You may think of fairly new things like home-based voice activated helpers like Alexa as examples of modern computer programs, but if you use Microsoft Word, web browsers like Chrome and Firefox, watch movies with special effects, have x-rays of a mobile phone based chat option you are using a computer program!


Problem solving is key
In fact being good at problem-solving is said to be one of the key qualities computer programmers need – something which can be developed by doing crosswords, jigsaws or logic puzzles. It’s an important skill because all computer programs follow an algorithm where a problem is identified, triggering a detailed list of actions on how to resolve it which are presented as instructions. A programmer must follow this procedure before writing any actual code.


Syntax is crucial
We already touched briefly on the way computer code is a language, and syntax is the word which covers two key aspects of that language. In English syntax would mean the words, spelling rules and grammar which must be used to make the sentences mean something.

Another language may organize the same information in a different way, with language-specific words or word order such as adding the verb at the end of a sentence. So long as you are in an environment where others understand your syntax all is good, if not then comprehension can break down completely.

Computers are pretty inflexible, so if you use a language the program doesn’t recognize it cannot take a guess of what you mean based on context, the way human may. So for this reason if you are coding using C++ you need to follow that protocol to the letter.


Back to basics
So far we have looked at some of the basics of coding, and it cannot be emphasized enough how important it is that anyone keen to get into computer programming is completely comfortable with these before they move forward. There are literally hundreds of free resources online to help, including some very good open learning courses.


Patience is a real virtue
Successful programmers always have lots of patience, which is needed when doing that essential problem solving, and quite possibly writing and rewriting code to identify errors. Rushing through tasks and getting irritated by the need to go backwards sometimes won’t get you very far.


Goal setting is important
When learning computer programming it really helps to break things down into bite-sized goals, say to learn a particular coding language and do a small practice run with it, then once mastered completely set a new goal, rinse and repeat. The mini projects you do should be achievable, as they are about using your new skills and building confidence, not winning major awards!  


Get creative with a community
The stereotype of computer programmers may not suggest people with vivid imaginations and creative talents but that is actually very misleading. In fact, good programmers have lots of vision and creative ideas on how to bring that to life. Watch something like the Livecoding platform for some amazingly exciting ideas coming to life before your eyes and if that doesn’t inspire you then nothing will.


Don’t pass on connecting to other actual and would-be programmers either. Working together on projects is the norm, and it’s great to have lots of like-minded folk round to offer support and share information. Sometimes you will learn new stuff, later you will be mentoring others using your knowledge, or collaborating with peers on a new idea. Learning is a lifelong journey, and in a world where new developments are very common you do need to have a way of finding out about what’s going on, and being able to keep up with it all.


An overview of computer programming
There are five basic steps to master when creating a computer program.


•    Identifying the problem to be solved
You may already have an idea of what this is, but if working for a client it’s likely sourcing the issue will involve more than one meeting.


•    Working out a suitable solution
This may involve sketching a flowchart or writing pseudocode, sometimes both.


•    Creating the code for the program
This involves switching the information captured in the flowchart or pseudocode into a language suitable for computers.


•    Testing the program and eliminating bugs
The first phase is called ‘desk-checking’, and it is a form of proofreading – checking for obvious errors, which is followed up by using a translator program which checks that the syntax is correct.
•    Finally, documenting the finished computer program
This is rather like writing a report outlining the main points of the process. It is wise to document things as you go, rather than leave it until the end.

There’s always more to be written about such a huge subject as computer programming, but here at least we have covered some of the key fundamental points. To learn more check out Simple Programmer.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.