Defining a computer
In this step we’re going to look at what we mean by the term Computer, and try to come up with a definition for what a computer actually is.
It often surprises people that the term computer predates the discovery of electricity generation. Originally it was a term that applied to humans. These people would carry out hundreds of laborious mathematical calculations, obeying very strict rules to obtain answers. Often, teams of human computers would work on a task, allowing calculations to be conducted in parallel.
The modern computer doesn’t differ much from the early human computers, with regard to its basic function. They still do little more than carry out laborious calculations. However, with the advent of modern electronics, these machines can now perform billions of calculations every second. This ability to perform these calculations at such an incredible speed means that, given the correct set of instructions, computers can perform an unbelievable range of highly complex tasks.
Modern computers are almost ubiquitous, and it is surprising the number of places that computers can be found. We all recognise that our desktops and laptops are computers, and most people could identify that their phones, tablets and games consoles are also computers. However computers are in some of the most mundane objects in our lives. Our microwaves, our traffic-lights, our childrens’ toys all might contain computers. Cory Doctorow summarised it pretty well in his keynote speech at the Chaos Computer Congress, titled The Coming War On General Computation:
There are no airplanes, only computers that fly. There are no cars, only computers we sit in. There are no hearing aids, only computers we put in our ears.
With computers so integral to our daily lives and performing such a wide range of extremely complex tasks, it is easy to either overlook them completely or else regard them as such complicated and unfathomable devices that they are impossible for a layperson to even begin to comprehend. Hopefully, as you progress through this course, you will begin to understand what a computer actually is, and have some understanding of how they work. If at any time you find the concepts a little overwhelming, it can help to keep this quote in mind.
Let’s begin with a quick definition.
A general-purpose computer is one that, given the appropriate instructions and required time, should be able to perform most common computing tasks.
This sets a general purpose computer aside from a special-purpose computer, like the one you might find in your dishwasher which may have its instructions hardwired or coded into the machine. Special purpose computers only perform a single set of tasks according to prewritten instructions. From now on we’ll take the term computer to mean general purpose computer.
Using a simplified model, we can talk about a computer with regard to inputs, processing and outputs. The diagram below sums it up pretty well.
A computer will receive data via a variety of input methods. This could be in many forms, such as a human typing on a keyboard, a sensor reading the temperature, or data coming in via the internet. The computer will then process this data. This is just another way of saying that it will perform calculations using the data, according to some instructions that it is following. It can store the data if given the instruction to do so, and it can also read previously stored data. Then the computer can output the result of its calculations. This could be on a screen, by writing the new data to a file, sounding an alarm or updating a web-page, for just a few examples. Often the processed data is also fed back into the computer to act as new input.
Although the input, output and storage parts of a computer are very important, they will not be the focus of this course. Instead we are going to learn all about the process part, which will focus on how the computer is able to follow instructions to make calculations.
In the next steps we’ll have a look at the historical development of general purpose computers, but in the meantime, use the comments section to give examples of specialist and general purpose computers, and have a think about their inputs, processes and outputs. What classroom activities do you think you could develop, to help learners understand what a general purpose computer is?