In general terms, a computer is an electronic, electro-mechanical or mechanical device that carries out arithmetic and logic operations in order to achieve a specified outcome. Such devices have existed for millennia in one form or another. The abacus (or counting frame), for example, has been around for at least five thousand years, and is still used today in some parts of the world. Modern electronic digital computers owe much to the pioneering work done by individuals like Wilhelm Schickard, a German scholar who built the first mechanical calculator in 1623, and Charles Babbage, an English inventor who designed the Difference Engine (a sophisticated mechanical device that could calculate polynomial functions) and later the Analytical Engine (the first large-scale mechanical programmable computing device) during the nineteenth century. The first half of the twentieth century saw electro-mechanical computers used for several military applications including the calculation of trajectories for naval gunnery, the breaking of military codes, and the development of the hydrogen bomb.

It was not until the 1950s, however, that digital computers were used for purposes other than military use or scientific research. At that time, government departments and large corporations began to use IBM mainframe computers for the batch processing of data previously handled manually. Perhaps the most dramatic development, though, was the introduction in 1981 of the IBM Personal Computer (PC), which was the first practical and affordable computer widely available to small businesses and individuals that could run a broad range of application software. Since then, falling hardware costs, user-friendly operating systems and applications, and the widespread availability of low-cost Internet access have popularised computing for both businesses and private individuals. Today, you are almost as likely to find a personal computer installed in the average household as a television or a telephone (in fact, you can even watch television or make a telephone call on a personal computer!). In the business world, the use of information technology has become essential for survival in today’s competitive global marketplace.

Computing is a very broad field, and the use of a more specific title has been avoided for that reason. To some students, computing will be about writing computer programs – an activity that falls under the general heading of software engineering. To other students, computing is all about things like information theory and the logical and mathematical properties of algorithms - theoretical issues that fall under the heading of computer science. Because most of the courses on which I have taught are vocational in nature, the contents of these pages will tend to lean towards practical computing subjects rather than pure computer science. That said, there will no doubt be incursions into the realms of computational theory from time to time, if it will shed some light on the topic under discussion. For the most part, however, these pages will deal with subjects related to systems analysis and design, software engineering, and computer hardware.