We tricked rocks into thinking for us, now, we think less than we have to. At the core of a computer is a processor made of semi-conducting material. A semi-conductor is a material that can conduct electricity or not depending on conditions it is in. However, when teaching computers, the going definition is; a machine that intakes data, processes it based on preset instructions and stores it or outputs it in the form of meaningful information. 


An instruction is a program written from an algorithm. An algorithm is an ordered set of steps aimed at solving a problem. For example, an algorithm to boiling water would be; Select cooking pot, select source of water & fetch, locate source of heat & initiate, place cooking pot on source of heat & wait till steam is observed, else, display error ‘boiling water failed’. 


However for our algorithm which now lives in our computer is useless if cannot actually do something; boil water. It would need some way of ‘knowing’ when to initiate the program. We could put a timer on it but that’s not so efficient when there’s no one in the house; is it? This calls for some input from the user. 


Input methods are numerous but they can be broadly divided into visual, textual or audio inputs. Visual could be camera. So our computer could have a steady gaze on us and allow visual inputs like sign language for ‘boil water’. Textual methods are the of the three most common because they are they easiest to implement. These include keyboards where you will type the instruction or that could be on a touch screen with an optional ‘boil water’ icon to touch or ‘press’. Audio inputs are voice oriented methods most likely involving a microphone where all you would have to do to our machine is speak to it. 


Now that our machine can take in user instructions it needs to process it. This includes turning the instructions and input into bits. Bits are Zero’s and One’s. A zero is when a semi-conductor is off. A one is when it’s on. The program and input then get passed through logic gates which then spit out a result.


This result could be an error message if in the case of our machine didn’t understand our instruction. If it did then it goes ahead and executes sub-programs according to how our algorithm instructed it. The sub programs could be a select-cooking-pot procedure that outlines how the machine differentiates dishes for appropriate use. 


The users by this point need to get a confirmation of their instruction. This requires some output. The outputs of a computer are pretty much as the inputs only reversed. It could print out a success receipt, show a message on a screen or confirm it to us by speaking back to us. However; it needs to know that it already did this and needs to store a record of it so that it does not repeat a step. That’s storage.


The steps are of course quite generalized and that’s for simplicity but generally; that’s how a computer works. It’s a cheap imitation of human thinking and action which is still in its infancy. Artificial intelligence is on the horizon but we are yet to fine tune developing the processors for it. Zero’s and One’s are not efficient for it. 


Computers for you.