The rapid development of computer technology has meant there is a significant shortage of computer science tutors, trainers and teachers. There is a lot of misconception about computer programming and learning programming skills. This is partly due to the history of computer development and the way programmers worked in the early days of computers. In a nutshell though, computer programming is simply a means of writing a series of instructions that the computer will carry out. There are various programming languages each developed with a particular target in mind, e.g some are designed to be better able to compute mathematical calculations, while others are better at processing long lists of records, e.g a hospital patient record system.
There are any number of different languages, all of which have their own advantages and disadvantages. Once someone has learned to program a computer in any language, then learning an additional language is considerably easier. One of the easier languages to learn at the beginning is Python. This is used in many schools for pupils learning coding for the first time. By way of a very simple example, the simple program below is written in Python. The text in red is explaining what the program does. The actual code is just two instructions long. The first asks the user to enter their name. This will display the prompt in quotes (green text) on the screen when the program is run.
The name input is stored in a variable called name. A variable is simply like a box that stores something in it. As with all storage boxes, you can change the contents as required. In this case, whatever name is entered by the user will be stored in the 'name' variable. The print instruction then prints out a welcome message on the screen as below.
The output displayed on the screen first asks the user to enter their name. Once that is input e.g. James, the print instruction will display the 'Welcome' message with the contents of the variable name, which in this case is James.
Growing Need for Programmers
Nearly every modern household item is now controlled by a computer program. A washing machine will have a number of different short programs that will controls the washing machine for various washes, monitors water temperature, controls the speed of the spin and so on. Heating thermostats have programs to monitor the house temperature and will turn on the heating when it reaches the programmed setting. These instructions will be written in similar way to the simple demo program listed above. However, there is simply a shortage of skilled people to meet the demand to produce the programs needed to control all our modern day devices.
Schools are short of experienced Computer Science teachers to teach pupils to code. This shortage impacts on the ability of schools to provide the necessary courses that will help increase the number of skilled computer professionals needed to meet the ever growing demands. Along with the development of everyday technology, there is the equivalent development of cyber security threats. Online fraud and theft is a spiralling problem. The shortage of specialist skills required to deal with these threats are impacting the security of everyday people doing everyday tasks such as purchasing products online with credit cards and bank account details.