Nowadays, a lot of people doesn’t really know how they computers works. Many of them can simply turn on a computer or a mobile device and point at some applications on the display, click a  button or swipe a finger, and the computer does something. Today people don’t need to know how programs works, but how to interact with them.


Basically, writing software (computer programs) involves describing processes, procedures; it involves the authoring of algorithms.  Computer programming involves developing lists of instructions – the source code representation of software. The stuff that these instructions manipulate are different types of objects, e.g., numbers, words, images, sounds, etc…  Creating a computer program can be like composing music, like designing a house, like creating lots of stuff.  It has been argued that in its current state it is an art, not engineering.