Introduction to Computers

A computer is a data processing machine. Input devices provide data to the computer. The central processing unit (CPU) is the brain of the computer that pretty much controls everything that happens within the computer including data processing and storage of data. The output is obtained in a desired form with the help of output devices like printer, plotter and many other such devices. Storage devices are used to store data which can be of any form, processed or unprocessed data. A computer communicates with other computers or devices through a communication network. Modern computers are based on integrated circuits and are much more capable than the computers of earlier times. Laptops are the improved form of personal computers that has all the input, output and storage devices packed together inside a single unit. They can be carried with us for usage at any place.

History of Computers

The usage of the word computer was first recorded in 1613. Some of the earliest calculating devices include Abacus and slide rule. It was the combination of automatic calculation and programmability that produced the first recognizable computer. Charles Babbage was the first to conceptualize and design a fully programmable mechanical computer, the analytical engine. Though critics pointed out that the analytical engine was not fully completed, Charles Babbage from then on was rightly called as "father of the computers". During the late 1880s, Herman Hollerith invented the recording of data on a machine readable medium like paper tapes. Later the paper tapes were replaced by punched cards. To process these cards he introduced the tabulator and the keypunch machine. These three devices were considered to be the foundation of the modern information processing industries. The Turing machine was considered to be the ancestors of the present day electronic digital computers. Alan Turing is regarded as the father of modern computers. In 1936, Turing provided an influential formulation of the concept of algorithm and computation with his Turing machine. Electronic Numerical Integrator and Computer, also known as ENIAC was the first general purpose electronic computer. The first use of ENIAC was in "hydrogen bomb" calculations. Konrad Zuse was the inventor of the first program controlled computer in 1941 and in 1955 he invented the first computer using magnetic storage. As time passed on, various improved and efficient versions of the computers were invented.

Input Devices

Examples of input devices include keyboard, mouse, pointing devices, microphone, biometric readers, game controller, webcam and many other devices that are being invented based on our needs. This device often receives input from users and is sent to the computer for processing. When you type, your keyboard generates, what are called, scan codes, corresponding to each key. Scan codes are data that are sent to the computer by the keyboard to report which keys have been pressed. These scan codes are temporarily stored in a keyboard buffer storage for further processing.

Processor

Processor often processes data into information, that is meaningful and useful. Processor receives data, and a sequence of instructions on what to do with data. These instructions are usually referred to as programs. Modern processors are very small and often single Integrated Circuit (IC) chip may contain more than one processor. Intel® and AMD are main chip makers. The processing performance of a computer is increased by using multi-core processors. For example, a dual core processor performs processing much faster than an ordinary single core processor.

Storage

Data storage provides one of the core functions of holding data in a computer. Storage devices include temporary storage and permanent storage. Examples of temporary storage are main memory, caches, and buffers. Examples of permanent storage are hard disks, flash drives, CDs and DVDs.

Output Devices

Computers "talk" to the outside world using the output devices. Examples of output devices are monitor, speakers, printers, and plotters. It is the output devices that convert the data from the computer language to a form that can be utilized by us.

Communication Network Interface

A computer is connected to a Network, through a Network Interface. It permits the users to connect with each other through a wired or wireless network. Strictly, a Network Interface is an Input/Output device, because it receives input from the network and provides output to the network. Using a Network Interface, a computer can communicate with other computers or devices within the network.

Other Components

Modern computers do have other components other than the above mentioned. They are often housed in a box, which can be locked for physical security. There is a power supply that provides regulated power to the components. Uninterruptible Power Supply (UPS) is an electrical instrument that serve as backup batteries if in case of a power loss. There are also, temperature control devices, such as fans or heat sinks, which are critical to the operation of a computer.

Hardware and Software

In computer terminology, computer programs and related data, as a whole are known as software and the components that can be physically touched or felt are called as hardware. Examples of hardware include wire, keyboard, mouse, microprocessor, disk drives, and memory chips. Examples of software would be data and programs. Software can be classified to System software and Application Software. System software includes operating systems and Application software includes the various programs installed by the user. As we explained earlier, processor follows instructions. For processor to understand the instructions, they should be input in the form of machine language or a sequence of ones and zeros. However, it is very hard for people to remember machine language. Thus, machine language instructions are given some meaningful names (mnemonics), and the language thus formed is called assembly language. Obviously, an assembly language program must be translated to machine language before it can be understood and executed by the processor. The software that does the translation is called assembler. Even the assembly language is not friendly enough, since they pretty much follow the machine like "thinking". In addition, assembly languages are usually processor specific. Therefore, a program written for one processor may have to be rewritten for usage on another kind of processor. In order to improve productivity, several high-level languages are developed which follow human reasoning and logic. Examples of high level languages are Java, C, Pascal, C# etc. While these languages go well with human thought process, they might need to be translated to machine code for the processor to execute these instructions. Thus, software such as Compilers and Interpreters were later developed for translating high level language to machine language. Interpreters translate program statements usually line by line whereas a compiler translates the program as a whole.

Choosing the Right Computer

Choosing the right computer, the hardware and the software, is not always easy. It depends a lot on your intended use and your budget. With the emergence of whole new brands and other accessories that are available nowadays, sticking to the budget is becoming difficult. Cnet.com and PCMag.com provide useful reviews that you may find helpful.

Difference between Data, Data Structures, Algorithms and Programs

Data is information represented in a computer for processing. Real world data belongs to different types, such as numbers, characters, character strings, and Boolean (true or false). Data Structures deal with how the data can be organized for efficient processing. Examples are arrays, lists, trees, and graphs. Algorithms describe what should be done to solve a problem. Programs is a realization of the data structures and algorithms, and they instruct the computer what to do. Programs, as described earlier, can be written in machine language, or a high level language such as C++ or Java. Anyone likes to learn programming should also develop an understanding of Data Structures and Algorithms.

Software and System Software

Software is a collection of programs designed to perform a task or a set of often related tasks. One can develop a software by developing a number of programs in machine language from scratch. However, many programs need to perform common things such as getting user input, opening a file, reading or writing to a file and closing a file. Thus, it became apparent that programs for doing common tasks can be collected and shared among programs that are designed for specific applications. The former is called system software, and the latter is called application software. Examples for system software include compilers, operating systems, and device drivers. Compilers are programs written to translate high level programs to machine languages. Operating systems take care of "day to day running" of your computer such as security, backup, and file storage. Some of the widely used operating systems are Microsoft Windows, UNIX®, LinuxTM and Mac OS XTM. Device drivers interface hardware with operating system or other software. Examples include printer driver, fax driver, modem driver, etc. Application software is designed for a specific user application in mind. Examples: MS Word®, MS Excel®, Picture Manager, Publisher, MS Access®, calculator and games.

You may share this article on Facebook.