0% found this document useful (0 votes)
2 views145 pages

Introduction To Computer Science

The document is a course outline for 'Introduction to Computer Science' at Spring-Up College of Health and Technology, detailing the evolution, components, and applications of computers. It aims to provide students with foundational knowledge about computers, including their historical development, hardware and software components, and their societal applications. The course also emphasizes the importance of computer literacy in the modern world and includes topics such as data processing methods and computer viruses.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views145 pages

Introduction To Computer Science

The document is a course outline for 'Introduction to Computer Science' at Spring-Up College of Health and Technology, detailing the evolution, components, and applications of computers. It aims to provide students with foundational knowledge about computers, including their historical development, hardware and software components, and their societal applications. The course also emphasizes the importance of computer literacy in the modern world and includes topics such as data processing methods and computer viruses.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SPRING-UP COLLEGE OF HEALTH AND

TECHNOLOGY, ONDO CITY, ONDO


STATE.
GENERAL STUDIES

COURSE TITLE: INTRODUCTION TO


COMPUTER SCIENCE

COURSE CODE: COM 101

LECTURER IN CHARGE:
MR O.S OGUNMAKINA
INTRODUCTION TO COMPUTER
Course Writer: Mr. Oluwatosin A. Godwin CPhT, RDN.
(Deputy Provost Academic)
Spring-Up College of Health Science and Technology,
Ondo City, Ondo State.
URL: [Link]
Printed: 2023

INTRODUCTION
The computer is fast becoming the universal machine of the twenty-first century. Early
computers were large in size and too expensive to be owned by individuals. Thus they were
confined to the laboratories and few research institutes. They could only be programmed
by computer engineers. The basic applications were confined to undertaking complex
calculations in science and engineering. Today, the computer is no longer confined to the
laboratory. Computers, and indeed, computing have become embedded in almost every
item we use. Computing is fast becoming ubiquitous. Its application transcends science,
engineering, communication, space science, aviation, financial institutions, social sciences,
humanities, the military, transportation, manufacturing, the extractive industries to mention
but a few.
Also, early computers were designed to accept numeric data, but over the years computers
have been developed to accept not only numeric data, but we also able to process
multimedia data – text, audio and video. The combination of computer technology and
communications technology gave birth to what is now widely known as Information and
Communication Technologies (ICT). ICT has changed the face of virtually all fields of
human endeavour, ranging from science to engineering, commerce and industry,
international trade, transportation, culture and tourism, education and research, among
others. Nowadays, literacy is not only measured by the ability to read and write, but also
includes computer literacy. The wave of globlisation which has been largely propelled by
the collapse of barriers of distance between nations and peoples in the world as a result of
ICT, makes it imperative for the modern man to have at least the basic knowledge of
computers. This course is meant to introduce students to the historical evolution of
computers, the basic components of computers, and some of its applications in society.

COURSE AIMS
The aim of this course is to provide students with the basic understanding of the computer
and its applications in everyday life.

COURSE OBJECTIVES
The specific objectives of this course are to:
• Provide basic understanding of the historical evolution of the computer, types of
computers and the classification of computers.
• Enable the students to understand the components of the computer – the hardware and
software.
• Help students to identify the different categories of computer software and their uses.
• Introduce students to computer programming with emphasis on the building blocks and
stages of programming and writing of computer programs using visual basic.
• Enable students to identify and appreciate the areas of application of computers in
society, thereby stimulating their thought to regard the computer as a tool for human use
rather than a master.
• Create awareness at the early stage of the study of computers about the potential threats
that computer viruses pose to the smooth operations of computers.

COURSE CONTENTS
Chapter 1 Basic Concepts
Chapter 2 Historical Overview of the Computer
Chapter 3 Classification of Computers
Chapter 4 Hardware Components (1)
Chapter 5 Auxiliary Equipment
Chapter 6 Computer Software
Chapter 7 Application of Computers in Education
Chapter 8 Application of Computers in Business and Industry
Chapter 9 Application of Computers in Government, Military, etc
Chapter 10 Computer Virus
CHAPTER ONE
BASIC CONCEPTS
The computer is fast becoming the universal machine of the 21st century. Early computers
were large in size and too expensive to be owned by individuals. Thus they were confined
to the laboratories and few research institutes. They could only be programmed by
computer engineers. The basic applications were confined to undertaking complex
calculations in science and engineering. Today, the computer is no longer confined to the
laboratory. Computers and, indeed, computing have become embedded in almost every
item we use. Computing is fast becoming ubiquitous. Its application transcends science,
engineering, communication, space science, aviation, financial institutions, social sciences,
humanities, the military, transportation, manufacturing, and extractive industries to
mention but a few. This unit presents the background information about computers.

Definitions
Computer: A computer is basically defined as a tool or machine used for processing data
to give required information. It is capable of:
• taking input data through the keyboard (input unit),
• storing the input data in a diskette, hard disk or other medium,
• processing it in the central processing unit (CPU) and
• giving out the result (output) on the screen or the Visual Display Unit (VDU).

Fig. 1: A schematic diagram to define a computer

Data: The term data refers to facts about a person, object or place, e.g. name, age,
complexion, school, class, height etc.
Information: This is referred to as processed data or a meaningful statement, e.g. net pay
of workers, examination results of students, list of successful candidates in an examination
or interview etc.

Methods of Data Processing


The following are the three major methods that have been widely used for data processing
over the years:
• The Manual method,
• The Mechanical method and
• The Computer method.
The Manual Method
The manual method of data processing involves the use of chalk, wall, pen, pencil and the
like. These devices, machines or tools facilitate human efforts in recording, classifying,
manipulating, sorting and presenting data or information. The manual data processing
operations entail considerable manual efforts. Thus, the manual method is cumbersome,
tiresome, boring, frustrating and time consuming.
Furthermore, the processing of data by the manual method is likely to be affected by human
errors. When there are errors, then the reliability, accuracy, neatness, tidiness, and validity
of the data would be in doubt. The manual method does not allow for the processing of
large volumes of data on a regular and timely basis.

The Mechanical Method


The mechanical method of data processing involves the use of machines such as the
typewriter, roneo machines, adding machines and the like. These machines facilitate
human efforts in recording, classifying, manipulating, sorting and presenting data or
information. The mechanical operations are basically routine in nature. There is virtually
no creative thinking. Mechanical operations are noisy, hazardous, error prone and untidy.
The mechanical method does not allow for the processing of large volumes of data
continuously and timely.

The Computer Method


The computer method of carrying out data processing has the following major features:
• Data can be steadily and continuously processed
• The operations are practically not noisy
• There is a store where data and instructions can be stored temporarily and permanent.
• Errors can be easily and neatly corrected.
• Output reports are usually very neat, decent and can be produced in various forms such
as adding graphs, diagrams and pictures etc.
• Accuracy and reliability are highly enhanced
• Below are further attributes of a computer which make an indispensable tool for humans.

Characteristics of a Computer
• Speed: The computer can manipulate large data at incredible speed and response time
can be very fast.
• Accuracy: Its accuracy is very high and its consistency can be relied upon. Errors
committed in computing are mostly due to human rather than technological weakness.
There are in-built error detecting schemes in the computer.
• Storage: It has both internal and external storage facilities for holding data and
instructions. This capacity varies from one machine to the other. Memories are built up in
K (Kilo) modules where K=1024 memory locations.
• Automatic: Once a program is in the computer’s memory, it can run automatically each
time it is opened. The individual has little or no instruction to give again.
• Reliability: Being a machine, a computer does not suffer human traits of tiredness and
lack of concentration. It will perform the last job with the same speed and accuracy as the
first job every time even if ten million jobs are involved.
• Flexibility: It can perform any type of task once it can be reduced to logical steps.
Modern computers can be used to perform a variety of functions like on-line processing,
multiprogramming, real time processing etc.

The Computing System


The computing system is made up of the computer system, the user and the environment
in which the computer is operated.

The Computer System


The computer system is made up of the hardware and the software.
The Hardware
The computer hardware comprises the input unit, the processing unit and the output unit.
The input unit comprises those media through which data is fed into the computer.
Examples include the keyboard, mouse, joystick, trackball and scanner.
The processing unit is made up of the Arithmetic and Logic Unit (ALU), the control unit
and the main memory. The main memory also known as the primary memory is made up
of the Read Only Memory (ROM) and the Random Access Memory (RAM).
The output unit is made up of those media through which data, instructions for processing
the data (program), and the result of the processing operation are displayed for the user to
see. Examples of the output unit are the monitor (Visual Display Unit) and the printer.

Software
Computer software is the series of instructions that enable the computer to perform a task
or group of tasks. A program is made up of a group of instructions to perform a task. Series
of programs linked together make up software. Computer programs could be categorised
into system software, utility software, and application programs.

Computer Users
Computer users are the different categories of personnel that operate the computer. We
have expert users and casual users. The expert users could be further categorised into
computer engineers, computer programmers and computer operators.

The Computing Environment


The computing environment includes the building housing the other elements of the
computing system namely the computer and the users, the furniture, auxiliary devices such
as the voltage stabiliser, the Uninterruptible Power Supply System (UPS), the fans, the air
conditioners etc. The schematic diagram of the computing system is presented.
A Schematic diagram of the computing system
CHAPTER TWO
A HISTORICAL OVERVIEW OF THE COMPUTER

INTRODUCTION
The computer as we know it today has evolved over the ages. An attempt is made in this
unit to present in chronological order the various landmarks and milestones in the
development of the computer. Based on the milestone achievement of each era, the
computer evolution is categorised into generations. The generational classification,
however, is not rigid as we may find one generation eating into the next.

A Brief History of Computer Technology


A complete history of computing would include a multitude of diverse devices such as the
ancient Chinese abacus, the Jacquard loom (1805) and Charles Babbage’s “analytical
engine” (1834). It would also include a discussion of mechanical, analog and digital
computing architectures. As late as the 1960s, mechanical devices, such as the Marchant
calculator, still found widespread application in science and engineering. During the early
days of electronic computing devices, there was much discussion about the relative merits
of analog vs. digital computers. In fact, as late as the 1960s, analog computers were
routinely used to solve systems of finite difference equations arising in oil reservoir
modeling. In the end, digital computing devices proved to have the power, economics and
scalability necessary to deal with large scale computations. Digital computers now
dominate the computing world in all areas ranging from the hand calculator to the
supercomputer and are pervasive throughout society. Therefore, this brief sketch of the
development of scientific computing is limited to the area of digital, electronic computers.
The evolution of digital computing is often divided into generations. Each generation is
characterised by dramatic improvements over the previous generation in the technology
used to build computers, the internal organisation of computer systems, and programming
languages.
Although not usually associated with computer generations, there has been a steady
improvement in algorithms, including algorithms used in computational science. The
following history has been organised using these widely recognized generations as
mileposts.

2 First Generation Electronic Computers (1937 – 1953)


Three machines have been promoted at various times as the first electronic computers.
These machines used electronic switches, in the form of vacuum tubes, instead of
electromechanical relays. In principle the electronic switches were more reliable, since they
would have no moving parts that would wear out, but technology was still new at that time
and the tubes were comparable to relays in reliability. Electronic components had one
major benefit, however: they could “open” and “close” about 1,000 times faster than
mechanical switches.
The earliest attempt to build an electronic computer was by J. V. Atanasoff, a professor of
physics and mathematics at Iowa State, in 1937. Atanasoff set out to build a machine that
would help his graduate students solve systems of partial differential equations. By 1941,
he and graduate student Clifford Berry had succeeded in building a machine that could
solve 29 simultaneous equations with 29 unknowns.
However, the machine was not programmable, and was more of an electronic calculator.
A second early electronic machine was Colossus, designed by Alan Turning for the British
military in 1943. This machine played an important role in breaking codes used by the
German army in World War II. Turning’s main contribution to the field of computer
science was the idea of the Turning Machine, a mathematical formalism widely used in the
study of computable functions. The existence of Colossus was kept secret until long after
the war ended, and the credit due to Turning and his colleagues for designing one of the
first working electronic computers was slow in coming.
The first general purposes programmable electronic computer was the Electronic
Numerical Integrator and Computer (ENIAC), built by J. Presper Eckert and John V.
Mauchly at the University of Pennysylvania. Work began in 1943, funded by the Army
Ordinance Department, which needed a way to compute ballistics during World War II.
The machine wasn’t completed until 1945, but then it was used extensively for calculations
during the design of the hydrogen bomb. By the time it was decommissioned in 1955 it had
been used for research on the design of wind tunnels, random number generators, and
weather prediction.
Eckert, Mauchly, and John Von Neumann, a consultant to the ENIAC project, began work
on a new machine before ENIAC was finished. The main contribution of EDVAC, their
new project, was the notion of a stored program.
There is some controversy over who deserves the credit for this idea, but no one knows
how important the idea was to the future of general purpose computers. ENIAC was
controlled by a set of external switches and dials; to change the program required
physically altering the settings on these controls. These controls also limited the speed of
the internal electronic operations. Through the use of a memory that was large enough to
hold both instructions and data, and using the program stored in memory to control the
order of arithmetic operations, EDVAC was able to run orders of magnitude faster than
ENIAC. By storing instructions in the same medium as data, designers could concentrate
on improving the internal structure of the machine without worrying about
matching it to the speed of an external control.
Regardless of who deserves the credit for the stored program idea, the EDVAC project is
significant as an example of the power of interdisciplinary projects that characterise
modern computational science. By recognising that functions, in the form of a sequence of
instructions for a computer, can be encoded as numbers, the EDVAC group knew the
instructions could be stored in the computer’s memory along with numerical data. The
notion of using numbers to represent functions was a key step used by Goedel in his
incompleteness theorem in 1937, work which Von Neumann, as a logician, was quite
familiar with. Von Neumann’s background in logic, combined with Eckert and Mauchly’s
electrical engineering skills, formed a very powerful interdisciplinary team.
Software technology during this period was very primitive. The first programs were written
out in machine code, i.e. programmers directly wrote down the numbers that corresponded
to the instructions they wanted to store in memory. By the 1950s programmers were using
a symbolic notation, known as assembly language, then hand-translating the symbolic
notation into machine code. Later programs known as assemblers performed the translation
task.
As primitive as they were, these first electronic machines were quite useful in applied
science and engineering. Atanasoff estimated that it would take eight hours to solve a set
of equations with eight unknowns using a Marchant calculator, and 381 hours to solve 29
equations for 29 unknowns. The Atanasoff-Berry computer was able to complete the task
in under an hour. The first problem run on the ENIAC, a numerical simulation used in the
design of the hydrogen bomb, required 20 seconds, as opposed to forty hours using
mechanical calculators. Eckert and Mauchly later developed what was arguably the first
commercially successful computer, the UNIVAC; in 1952, 45 minutes after the polls
closed and with 7% of the vote counted, UNIVAC predicted Eisenhower would defeat
Stevenson with 438 electoral votes (he ended up with 442).

3 Second Generation (1954 – 1962)


The second generation saw several important developments at all levels of computer
system design, from the technology used to build the basic circuits to the programming
languages used to write scientific applications.
Electronic switches in this era were based on discrete diode and transistor technology with
a switching time of approximately 0.3 microseconds. The first machines to be built with
this technology include TRADIC at Bell Laboratories in 1954 and TX-0 at MIT’s Lincoln
Laboratory. Memory technology was based on magnetic cores which could be accessed in
random order, as opposed to mercury delay lines, in which data was stored as an acoustic
wave that passed sequentially through the medium and could be accessed only when the
data moved by the I/O interface.
Important innovations in computer architecture included index registers for controlling
loops and floating point units for calculations based on real numbers. Prior to this accessing
successive elements in an array was quite tedious and often involved writing self-
modifying codes (programs which modified themselves as they ran; at the time viewed as
a powerful application of the principle that programs and data were fundamentally the
same, this practice is now frowned upon as extremely hard to debug and is impossible in
most high level languages). Floating point operations were performed by libraries of
software routines in early computers, but were done in hardware in second generation
machines.
During this second generation many high level programming languages were introduced,
including FORTRAN (1956), ALGOL (1958), and COBOL (1959). Important commercial
machines of this era include the IBM 704 and 7094. The latter introduced I/O processors
for better throughput between I/O devices and main memory.
The second generation also saw the first two supercomputers designed specifically for
numeric processing in scientific applications. The term “supercomputer” is generally
reserved for a machine that is an order of magnitude more powerful than other machines
of its era. Two machines of the 1950s deserve this title. The Livermore Atomic Research
Computer (LARC) and the IBM 7030 (aka Stretch) were early examples of machines that
overlapped memory operations with processor operations and had primitive forms of
parallel processing.

4 Third Generation (1963 – 1972)


The third generation brought huge gains in computational power. Innovations in this era
include the use of integrated circuits, or ICs (semiconductor devices with several transistors
built into one physical component), semiconductor memories starting to be used instead of
magnetic cores, microprogramming as a technique for efficiently designing complex
processors, the coming of age of pipelining and other forms of parallel processing, and the
introduction of operating systems and time-sharing.
The first ICs were based on small-scale integration (SSI) circuits, which had around 10
devices per circuit (or “chip”), and evolved to the use of medium-scale integrated (MSI)
circuits, which had up to 100 devices per chip. Multilayered printed circuits were
developed and core memory was replaced by faster, solid state memories. Computer
designers began to take advantage of parallelism by using multiple functional units,
overlapping CPU and I/O operations, and pipelining (internal parallelism) in both the
instruction stream and the data stream. In 1964, Seymour Cray developed the CDC 6600,
which was the first architecture to use functional parallelism. By using 10 separate
functional units that could operate simultaneously and 32 independent memory banks, the
CDC 6600 was able to attain a computation rate of 1 million floating point operations per
second (1 Mflops). Five years later CDC released the 7600, also developed by Seymour
Cray. The CDC 7600, with its pipelined functional units, is considered to be the first vector
processor and was capable of executing at 10 Mflops. The IBM 360/91, released during
the same period, was roughly twice as fast as the CDC 6600. It employed instruction look
ahead, separate floating point and integer functional units and pipelined instruction stream.
The IBM 360-195 was comparable to the CDC 7600, deriving much of its performance
from a very fast cache memory. The SOLOMON computer, developed by Westinghouse
Corporation, and the ILLIAC IV, jointly developed by Burroughs, the Department of
Defence and the University of Illinois, was representative of the first parallel computers.
The Texas Instrument Advanced Scientific Computer (TI-ASC) and the STAR-100 of
CDC were pipelined vector processors that demonstrated the viability of that design and
set the standards for subsequent vector processors.
Early in this third generation, Cambridge and the University of London cooperated in the
development of CPL (Combined Programming Language, 1963). CPL was, according to
its authors, an attempt to capture only the important features of the complicated and
sophisticated ALGOL. However, the ALGOL CPL was large with many features that were
hard to learn. In an attempt at further simplification, Martin Richards of Cambridge
developed a subset of CPL called BCPL (Basic Computer Programming Language, 1967).

5 Fourth Generation (1972 – 1984)


The next generation of computer systems saw the use of large scale integration (LSI –1000
devices per chip) and very large scale integration (VLSI –100,000 devices per chip) in the
construction of computing elements. At this scale entire processors will fit onto a single
chip, and for simple systems the entire computer (processor, main memory, and I/O
controllers) can fit on one chip. Gate delays dropped to about Ins per gate.
Semiconductor memories replaced core memories as the main memory in most systems;
until this time the use of semiconductor memory in most systems was limited to registers
and cache. During this period, high speed vector processors, such as the CRAY 1, CRAY
X-MP and CYBER 205 dominated the high performance computing scene.
Computers with large main memory, such as the CRAY 2, began to emerge. A variety of
parallel architectures began to appear; however, during this period the parallel computing
efforts were of a mostly experimental nature and most computational science was carried
out on vector processors. Microcomputers and workstations were introduced and saw wide
use as alternatives to time-shared mainframe computers.
Developments in software include very high level languages such as FP (functional
programming) and Prolog (programming in logic). These languages tend to use a
declarative programming style as opposed to the imperative style of Pascal, C. FORTRAN,
et al. In a declarative style, a programmer gives a mathematical specification of what should
be computed, leaving many details of how it should be computed to the compiler and/or
runtime system. These languages are not yet in wide use, but are very promising as
notations for programs that will run on massively parallel computers (systems with over
1,000 processors).
Compilers for established languages started to use sophisticated optimisation techniques to
improve codes, and compilers for vector processors were able to vectorise simple loops
(turn loops into single instructions that would initiate an operation over an entire vector).
The Phase II centres, located in San Diego (San Diego Supercomputing Centre); Illinois
(National Centre for Supercomputing Applications); Pittsburgh (Pittsburgh
Supercomputing Center); Cornell (Cornell Theory Centre); and Princeton (John Von
Neumann Centre), have been extremely successful at providing computing time on
supercomputers to the academic community. In addition they have provided many valuable
training programmes and have developed several software packages that are available free
of charge. These Phase II centres continue to augment the substantial high performance
computing efforts at the National Laboratories, especially the Department of Energy
(DOE) and NASA sites.

6 Fifth Generation (1984 – 1990)


The development of the next generation of computer systems is characterised mainly by
the acceptance of parallel processing. Until this time, parallelism was limited to pipelining
and vector processing, or at most to a few processors sharing jobs. The fifth generation saw
the introduction of machines with hundreds of processors that could all be working on
different parts of a single program. The scale of integration in semiconductors continued
at an incredible pace, so that by 1990 it was possible to build chips with a million
components – and semiconductor memories became standard on all computers.
Other new developments were the widespread use of computer networks and the increasing
use of single-user workstations. Prior to 1985, large scale parallel processing was viewed
as a research goal, but two systems introduced around this time are typical of the first
commercial products to be based on parallel processing. The Sequent Balance 8000
connected up to 20 processors to a single shared memory module (but each processor had
its own local cache). The machine was designed to compete with the DEC VAX-780 as a
general purpose Unix system, with each processor working on a different user’s job.

7 Sixth Generation (1990 to date)


Transitions between generations in computer technology are hard to define, especially as
they are taking place. Some changes, such as the switch from vacuum tubes to transistors,
are immediately apparent as fundamental changes, but others are clear only in retrospect.
Many of the developments in computer systems since 1990 reflect gradual improvements
over established systems, and thus it is hard to claim they represent a transition to a new
“generation”, but other developments will prove to be significant changes.
In this section, we offer some assessments about recent developments and current trends
that we think will have a significant impact on computational science.
This generation is beginning with many gains in parallel computing, both in the hardware
area and in improved understanding of how to develop algorithms to exploit diverse,
massively parallel architectures.
Parallel systems now compete with vector processors in terms of total computing power
and, most especially, parallel systems to dominate the future.
Combinations of parallel/vector architectures are well established, and one corporation
(Fujitsu) has announced plans to build a system with over 200 of its high and vector
processors. Manufacturers have set themselves the goal of achieving teraflops (1012
arithmetic operations per second) performance by the middle of the decade, and it is clear
this will be obtained only by a system with a thousand processors or more.
Workstation technology has continued to improve, with processor designs now using a
combination of RISC, pipelining, and parallel processing. As a result it is now possible to
procure a desktop workstation that has the same overall computing power (100 megaflops)
as fourth generation supercomputers. This development has sparked an interest in
heterogeneous computing: a program started on one workstation can find idle workstations
elsewhere in the local network to run parallel subtasks.
One of the most dramatic changes in the sixth generation is the explosive growth of wide
area networking. Network bandwidth has expanded tremendously in the last few years and
will continue to improve for the next several years. T1 transmission rates are now standard
for regional networks, and the national “backbone” that interconnects regional networks
uses T3. Networking technology is becoming more widespread than its original strong base
in universities and government laboratories as it is rapidly finding application in K-12
education, community networks and private industry. A little over a decade after the
warning voiced in the Lax report, the future of a strong computational science
infrastructure is bright.
CHAPTER THREE
CLASSIFICATION OF COMPUTERS
Although there are no industry standards, computers are generally classified in the
following ways:
1. Classification Based on Signal Type
There are basically three types of electronic computers. These are the Digital, Analog and
Hybrid computers.
A. The Digital Computer
This represents its variables in the form of digits. The data it deals with, whether
representing numbers, letters or other symbols, are converted into binary form on input to
the computer. The data undergoes a processing after which the binary digits are converted
back to alpha numeric form for output for human use. Because of the fact that business
applications like inventory control, invoicing and payroll deal with discrete values
(separate, disunited, discontinuous), they are best processed with digital computers. As a
result of this, digital computers are mostly used in commercial and business places today.
B. The Analog Computer
It measures rather than counts. This type of computer sets up a model of a system. The
common type represents its variables in terms of electrical voltage and sets up circuit
analog to the equation connecting the variables. The answer can be either by using a
voltmeter to read the value of the variable required, or by feeding the voltage into a plotting
device. Analog computers hold data in the form of physical variables rather than numerical
quantities. In theory, analog computers give an exact answer because the answer has not
been approximated to the nearest digit. Whereas, when we try to obtain the answers using
a digital voltmeter, we often find that the accuracy is less than that which could have been
obtained from an analog computer.
It is almost never used in business systems. It is used by scientists and engineers to solve
systems of partial differential equations. It is also used in controlling and monitoring of
systems in such areas as hydrodynamics and rocketry in production. There are two useful
properties of this computer once it is programmed:
• It is simple to change the value of a constant or coefficient and study the effect of such
changes.
• It is possible to link certain variables to a time pulse to study changes with time as a
variable, and chart the result on an X-Y plotter.

The Hybrid Computer


In some cases, the computer user may wish to obtain the output from an analog computer
as processed by a digital computer or vice versa. To achieve this, he set up a hybrid machine
where the two are connected and the analog computer may be regarded as a peripheral of
the digital computer. In such a situation, a hybrid system attempts to gain the advantage of
both the digital and the analog elements in the same machine. This kind of machine is
usually a special-purpose device which is built for a specific task. It needs a conversion
element which accepts analog inputs, and outputs digital values. Such converters are called
digitisers. There is a need for a converter from analog to digital also. It has the advantage
of giving real-time response on a continuous basis. Complex calculations can be dealt with
by the digital elements, thereby requiring a large memory, and giving accurate results after
programming. They are mainly used in aerospace and process control applications.

Classification by Purpose
Depending on their flexibility in operation, computers are classified as either special
purpose or general purpose.
a. Special-Purpose Computers
A special purpose computer is one that is designed to solve a restricted class of problems.
Such computers may even be designed and built to handle only one job. In such machines,
the steps or operations that the computer follows may be built into the hardware. Most of
the computers used for military purposes fall into this class. Other examples of special
purpose computers include:
• Computers designed specifically to solve navigational problems.
• Computers designed for tracking airplanes or missiles
• Computers used for process control applications in industries such as oil refinery,
chemical manufacture, steel processing and power generation
• Computers used as robots in factories like vehicle assembly plants and glass industries.

General Attributes of Special-Purpose Computers


Special-purpose computers are usually very efficient for the tasks for which they are
specially designed.
1. They are very much less complex than the general-purpose computers.
2. The simplicity of the circuiting stems from the fact that provision is made only for
limited facilities.
3. They are very much cheaper than the general-purpose type since they involve fewer
components and are less complex.

General-Purpose Computers
General-purpose computers are computers designed to handle a wide range of problems.
Theoretically, a general-purpose computer can be adequate by means of some easily
alterable instructions to handle any problems that can be solved by computation. In
practice, however, there are limitations imposed by memory size, speed and the type of
input/output devices. Examples of areas where general purpose computers are employed
include the following:
• Payroll
• Banking
• Billing
• Sales analysis
• Cost accounting
• Manufacturing scheduling
• Inventory control

General Attributes of General-Purpose Computers


• General-purpose computers are more flexible than special purpose computers. Thus, the
former can handle a wide spectrum of problems.
• They are less efficient than the special-purpose computers due to
such problems as the following:
- They have inadequate storage
- They have low operating speed
- Coordination of the various tasks and subsections may take time
- General-purpose computers are more complex than special purpose computers.

Classification of Computers According to Capacity


In the past, the capacity of computers was measured in terms of physical size. Today,
however, physical size is not a good measure of capacity because modern technology has
made it possible to achieve compactness. A better measure of capacity today is the volume
of work that a computer can handle. The volume of work that a given computer handles is
closely tied to the cost and to the memory size of the computer. Therefore, most authorities
today accept rental price as the standard for ranking computers. Here, both memory size
and cost shall be used to rank (classify) computers into three main categories as
follows:
• Microcomputers
• Medium/mini/small computers
• Large computer/mainframes.

Microcomputers
Microcomputers, also known as single board computers, are the cheapest class of
computers. In the microcomputer, we do not have a Central Processing Unit (CPU) as we
have in the larger computers. Rather we have a microprocessor chip as the main data
processing unit. They are the cheapest and smallest, and can operate under normal office
conditions. Examples are IBM, APPLE, COMPAQ, Hewlett Packard (HP), Dell and
Toshiba, etc.

Different Types of Personal Computers (Microcomputers)


Normally, personal computers are placed on the desk; hence they are referred to as desktop
personal computers. Still other types are available under the categories of personal
computers. They are:
• Laptop Computers: These are small size types that are battery operated. The screen is
used to cover the system while the keyboard is installed flat on the system unit. They could
be carried about like a box when closed after operation and can be operated in vehicles
while on a journey.
• Notebook Computers: These are like laptop computers but smaller in size. Though
small, the notebook computer comprises all the components of a full system.
• Palmtop Computers: The palmtop computer is far smaller in size. All the components
are complete as in any of the above, but it is made smaller so that it can be held on the
palm.

Uses of the Personal Computer


A personal computer can perform the following functions:
• It can be used to produce documents like memos, reports, letters and briefs.
• It can be used to calculate budgets and accounting tasks
• It can analyse numeric functions
• It can create illustrations
• It can be used for electronic mails
• It an help in making schedules and planning projects
• It can assist in searching for specific information from lists or from reports.

Advantages of the Personal Computer


• The personal computer is versatile: it can be used in any establishment
• It has faster speed for processing data
• It can deal with several data at a time
• It can attend to several users at the same time, thereby being able to process several jobs
at a time
• It is capable of storing several data
• Operating the personal computer gives less fatigue
• It is possible to network personal computers, that is, linking of two or more computers.

Disadvantages of the Personal Computer


• The personal computer is costly to maintain
• It is very fragile and complex to handle
• It requires special skill to operate
• With inventions and innovations everyday, the personal computer is at the risk of
becoming obsolete
• It can lead to unemployment, especially in less developed countries
• Some computers cannot function properly without the aid of a cooling system, e.g. air
conditioners or fans in some locations.

Mini Computers
Mini computers have memory capacity in the range ‘128- 256 Kbytes’ and are also not
expensive but reliable and smaller in size compare to mainframe. They were first
introduced in 1965; when DEC (Digital Equipment Corporation) built the PDP – [Link]
mini computers are WANG VS.
Mainframe Computers
The mainframe computers, often called number crunchers have memory capacity of the
order of ‘4 Kbytes’, and are very expensive. They can execute up to 100 MIPS (Meanwhile
Instructions per Second). They have large systems and are used by many people for a
variety of purposes.
CHAPTER FOUR
HARDWARE COMPONENTS
Your personal computer (PC) is really a collection of separate items working together as a
team, with you as the captain. Some of these components are essential; others simply make
working more pleasant or efficient. Adding extra items expands the variety of tasks you
can accomplish with your machine.

The System Unit


The system unit is the main unit of a PC. It is the computer itself while other units attached
to it are regarded as peripherals. It could be viewed as the master conductor orchestrating
your PC’s operation. It is made up of several components like the motherboard, processor,
buses, memory, power supply unit, etc. This unit (the system unit) has been confused
over the years by novices as the CPU. This is not true. The CPU (Central Processing Unit)
or simply processor is a component within the system unit and is not the only thing that
makes up the system unit.
Hence, it will be wrong to equate the system unit with the CPU.

The Front of the System Unit


Lights
Your unit may display a variety of coloured lights on the front panel, including power and
turbo signals, and light to indicate if the hard or floppy disk is being read or written to.

Key Lock
You can stop intruders from tampering with your PC by using the lock on the front panel.
Turning the key prevents the keyboard from working.

Turbo Button
Some PCs offer a choice of speeds at which they can run. A turbo switch is usually left so
the computer runs at its fastest speed.

Reset Button
If your PC “freezes” and won’t respond to any command, try starting it up again using the
reset button. Pressing the reset button loses all the work you have not saved in that session,
so use it only as a last resort.

Power On/Off
All PCs have main power switch on the system unit. Sometimes this control is placed on
the outside back panel.

Floppy Disk Drives


Either, or both, of two standard types of floppy disk drive may be found at the front of the
system unit. Some systems also have internal CDROM or tape drives.

The Back of the System Unit


The Fan Housing
The electronic components in your PC generate a lot of heat. To prevent overheating, a fan
at the back of the unit removes hot air from the system.

Power “in” and “out” Sockets


Cables plugged into these sockets carry power from the electrical outlet to the system unit
and from the system unit to the monitor.

The Joystick Port


Using a joystick is often much better than pressing keys to control movements when
playing a computer game.

Serial Ports
Serial ports often connect the PC to the modem or mouse. Most PCs are fitted with two
serial ports that may be labeled “S101” and “S102”, “Serial 1” and “Serial 2”, or “COM
1” and “COM 2”.

Sound Jacks
If you have a sound fitted inside your system unit, you will see a jack or jacks at the back.
These can be used to connect your PC to speakers, a microphone, or an external sound
source.
The Keyboard Port
The cable from your keyboard ends with a round connector, which plugs into the keyboard
port.
The Network Adapter
If an expansion card is fitted to link your PC with other PCs in your office you will see a
network connector at the back of the system unit.
The Monitor Port
A cable from your monitor plugs into this port and carries display information to the
monitor.
Bays for Expansion Cards
PCs are easily expanded, perhaps to provide modem, sound or faster graphics. You can
plug cards into expansion slots inside the PC. The end of an expansion card shows at the
back of your machine, allowing you to connect items.

Inside The System Unit

The brain behind everything that happens in your PC is contained within the system unit.
Inside the unit are the impressive electronics that run programs, handle instructions, and
determine the results. Most of the more important items are described below.

The Battery
A small battery powers a clock to keep track of the time when the PC is turned off. It also
maintains low electricity to certain RAM chips that record which components are installed.
The Disk Drive Controller Card
This card controls the PC’s disk drive motors and transfers data. The serial and parallel
ports at the back of the card link internal PC components with external devices such as
mouse and printer.
The Display Adapter Card (Video Card)
All the information your computer will display is stored in its memory. To be useful, you
need to see the information. The display adapter card is the link between the PC’s memory
and the monitor.
Expansion Slots
These long narrow connectors allow you to plug in expansion cards (also known as adapter
cards), which offer extra options not available on a basic PC.
ROM Chips
Read-only memory (ROM) chips have data written on them during manufacturing that tells
the CPU what to do when the PC is switched on. The data is always there, even when you
switch the PC off.
RAM Chips
When a computer is switched on and is running a program, RAM (Random Access
Memory) is used for purposes such as holding the program and its data. But when the PC
is switched off, anything held in RAM is lost.
Empty RAM Chip Slots
These slots let you expand your computer’s memory by adding extra RAM chips or
modules. Some PCs work even faster because they come equipped with Cache Memory.
Cache memory consists of expensive and very fast memory chips that store the data or
instructions that the CPU will look at next. Cache memory can speed up work on your
computer enormously.

The Central Processing Unit (CPU)


Fig. 6: An Intel processor
The microprocessor, or central processing unit (CPU), is the computer’s most important
single item. It does all the PC’s thinking and runs the programs (series of instructions) that
you request.

CPU Support Chips


These chips help the CPU manage all the other parts of the computer.
The Math Coprocessor Slot
A math coprocessor, present in some PCs, assists the CPU in its number-crunching
activities (if programs have been designed to use it).
The Speaker
The speaker emits the computer’s sound output.

The Power Supply Unit


All the components in a PC need electrical supply. Most need a 5-volt supply although
floppy disk drive motors require 12 volts. If the components were connected to normal
household current, they would blow up, so the power supply unit converts high voltage
electrical current to a low voltage.

The Hard Disk Drive


The hard disk is your computer’s main permanent storage unit, holding large amount of
data and programs. Unlike data held in RAM, the information on the hard disk is not
affected when the PC is turned off – it remains there unless you instruct the PC to overwrite
it or the hard disk is damaged.
The Motherboard
All the electronic components in a PC are mounted on a piece of fiberglass called the
motherboard. Fiberglass cannot conduct electricity, so each component is insulated from
all the others. Thin lines of metal on the surface of the fiberglass connect pins from one
component to another, forming the computer’s electrical circuits.

Intel CPUs
The earliest PCs were equipped with a CPU from Intel Corporation called the 8088. The
next generation of PCs used CPU known by the number “80286” and were called “PC/AT”
computers. Subsequently, PCs have been supplied with more and more powerful CPUs –
the 80386, the 80486, and the more recent and impressive of all, the Intel Pentium (I, II,
III, IV& M).
All these PC processors belong to a family called 80 x 86. In general, you can run the same
software on PCs containing different CPUs within this family. From the outside, the chips
look different only in sizes and number of pin-put inside. An 80486 has over one million
components to the 3,500 that were in the first 8088. Because of these differences, the
Blatest Pentiums runs over ten times faster.

What is the CPU


The CPU is certainly the most important PC component. CPU stands for Central
Processing Unit. Let us briefly study that name:
• It is a processor, because it processes (moves and calculates)
• It is central, because it is the centre of PC data processing.
• It is a unit, because it is a chip, which contains millions of transistors.

CPU Speed
The speed of a CPU is measured in megahertz (MHz). A computer has a central clock that
keeps all the components in time with each other; one hertz is similar to a clock tick and
megahertz is equal to one million ticks per second. If your PC runs at 333 or 400MHz, the
central clock ticks 333 or 400 million times every second. As you might imagine, the faster
the clock ticks, the faster the computer runs.
Without the CPU, there would be no PC. Like all other hardware components, CPUs are
continually undergoing further development. You can see the explosive technological
development in data processing most clearly in the development of newer and faster CPUs.
The CPUs have for years doubled their performance about every 18 months and there are
no indications that this trend will stop.
When we now look at all the CPUs from a broader perspective, we can see that:
• The CPU history is closely tied to the companies IBM and, especially, Intel.
• The CPUs have their roots back to Intel's chip 4004 from 1971.
• The compatibility concept has been important throughout the
development.

Generations of CPUs
There are CPUs of many brand names (IBM, Texas, Cyrix, AMD), and often they make
models which overlap two generations. This can make it difficult to keep track of CPUs.
Here is an attempt to identify the various CPUs according to generations:

DISKS
Floppy Disks
Computers use disks to store information. Although there is a permanent hard disk that
lives inside the system unit, you can use floppy disks to store and move data easily from
one PC to another. Floppy disks come in two sizes, either 5¼ or 3½ inches in diameter.
The smaller disks are able to store more data and are also less easily damaged, because of
their thicker plastic cases. As both sizes can be either “high” or “low” capacity (or density),
there are four main varieties of disks available. High-capacity disks are more expensive,
but they can store much more information. Low-capacity disks are generally labeled
DS/DD, which stands for “double sided/double density”, while the highcapacity floppy
disks are labelled DS/HD (double sided/high-density).

Caring for Disks


Treat floppy disks carefully, and you can take them almost anywhere safely. Don’t leave
the disks in your PC when you finish a session. Also avoid putting anything heavy on top
of your disks or leaving them in extremes of hot or cold temperature. Try not to carry disks
loose in pockets or handbags where dust and dirt may get inside the containers. Take care
to store them vertically, preferably in a special storage box. Remember too that you should
keep floppy disks away from magnetic fields, including hidden magnets such as those in
telephone, radio and television speakers, amplifiers, desk fans, and photocopiers. If you do
leave floppy disks near a magnetic field, your data may become corrupted and will no
longer be usable.
Write Protecting Disks
Write-protecting a disk means that you prevent the computer from erasing or writing over
important data or programs that are already there. However, the PC can still read a write-
protected disk.

Input Devices
1 The Computer Keyboard
A computer keyboard is identical to the conventional typewriter keyboard. However, it has
more keys than the typewriter keyboard. A computer keyboard can be a dummy type or
intelligent type. A computer keyboard is considered to be intelligent if, in addition to
performing the routine functions characteristic of a typewriter keyboard, it can initiate a
series of actions for a computer to carry out by mere pressing a key or combination of two
or more keys. Thus, an intelligent computer keyboard has a set of keys which, when one
of them is pressed, the computer can be made to carry out a specific function. For example,
the pressing of a key may cause the computer to display a menu list from which the user
may be prompted to select one.
The intelligent computer keyboard has four major divisions, namely: Function keys,
Alphanumeric keys, Numeric keys and Control keys. In addition to the four types of keys,
there are some special or important keys such as the following:
(a) Return or Enter key
(b) Escape key denoted by ESC
(c) Control key denoted by CTRL
(d) Alternate key denoted by ALT
(e) Delete key denoted by DEL
(f) Insert key denoted by INS
(g) Backspace key
(h) Shift key.

Function Keys
The effects of the functions keys are software package dependent. That is, they mean
different translations depending on which software package one is running on the
computer. The function keys are traditionally labeled F1, F2, F3, F4, F5, F6, F7, F8, F9,
F10, F11 and F12. The function keys are often arranged to the left of the main keyboard in
two columns or they are arranged in a row above the main keyboard. In most software
packages, the function key F1 is used to run the HELP program. Word perfect, for example,
uses F3 for HELP program and F1 to cancel the last command issued on the computer. The
function keys F7 and F12 are used to save a text and block a section of a text respectively
in word perfect. Function keys can be programmed to carry out the functions desired by a
programmer. For example the function key F10 may be programmed to display menus.
Thus, the operations of the function keys can be determined by the user or programmed by
the software package being used at any point in time.
Alphanumeric Keys
The Alphanumeric keys can be likened with the conventional typewriter keys. They contain
alphabetic characters, numeric characters and special characters such as comma, full stop,
open bracket, close bracket, asterisk, semicolon, colon, question mark, and so on. Usually,
each key carries a character at the lower part and another character at the upper part. The
SHIFT key is used to switch on or off the lower and upper characters by the programmer.

Cursor Control Keys


The cursor marks the active or current spot on the screen. It is an indicator that tells the
user where in the midst of a document the system is pointing to. It may be a rectangular
bar of light or a blinking underscore. When a text is being typed, the cursor moves as the
carriage on a keyboard moves and character are typed in. The cursor control keys include
four directional arrow keys.

Table 2: Control Keys and their Functions


Control Key Functions
Moves the cursor one line up.
Moves the cursor one line down
Moves the cursor one character to the right
Move the cursor one character to the left.
Home Moves the cursor to the beginning of a line or page End
Move the cursor to the bottom left of a page or to the end of the current line in most text
editors.
PGDN
Moves the cursor to the top of the next page in the document or text. For example, pressing
this key while on page 5 of the text will place the cursor at the top of page 6 of the text.
PGUP Moves the cursor to the top of the previous page. For example, if you are on page 3
of a document, pressing this key will place the cursor at the top of page 2 of the document.

Other cursor control keys are Home, Page Up, Page Down, and End. These keys may be
part of the numeric keypad or separated from the numeric keypad. Moving the cursor
around on the screen is one of the most common tasks in an application program. In fact,
cursor movement is so important in an application such as word processing that it can
usually be accomplished by additional key-driven commands.

The Numeric Keypad


The numeric keypad contains a set of keys required for typing or entering number digits 0,
1, 2, 3, 4, 5, 6, 7, 8, and 9 into the computer store. A numeric key is often activated by
pressing the Numlock Key. The numeric keypad is also used in combination with the
Alternate (Alt) key to produce extended characters. Extended characters are characters not
normally found on most keyboards. For example, to produce the character alpha, denoted
‘’, one holds down the Alt key and presses 224; to produce character beta denoted by ‘’,
one holds down the Alt key and presses 255; and to produce the pound sterling sign denoted
by ‘₤’, one holds down the Alt key and presses 156.

The Shift Key


When the shift key is pressed, the capital letters on the alphanumeric keys are activated. It
also serves as the activator of characters that are at the upper part of each alphanumeric
key. The Shift key has no effects on itself; its effect are realised when some other keys are
pressed. Thus, if one presses the shift key and then ‘equals’ sign key, the ‘plus’ sign which
is at the upper part of the ‘equal’ sign is activated, and it then appears on the screen.

The Caps Lock Key


The Caps Lock shifts all alphabetic characters into the upper case (capital letters). Thus all
characters typed are in lower case (small letters) when not pressed.
The Alternate Key (Alt)
The alternate key can be used in combination with numeric keys to generate characters not
shown on the keyboard, that is, extended characters. For example, holding the Alt key
down and pressing 228 produces the summation () sign; holding the Alt key down and
pressing 235 produces the  sign. To restart or reboot your computer, press Alt, Ctrl and
Del keys simultaneously.

The Num Lock Key


The Num Lock key activates the numeric keypad. Neither the Num Lock key nor the Caps
Lock key affects the function keys.
The Control Key (Ctrl)
The control key is often used in most text mode to perform block operations like mass
deletion, insertion and so on. For example, Ctrl + Y deletes a line in most text documents.
It can also be used in combination with other keys to move the cursor to different locations
in a text or document. In some application packages, the Alt, Ctrl and Shift keys are used
in combination with the function keys to perform several operations. For example, in the
Word Perfect word processing package, to centre a text, press Shift and F6; to print a text,
press Shift and F7.
The Escape Key (Esc)
The escape key cancels an operation in progress. For example, when one is editing a file
or issuing a command, Esc cancels any changes one might have made or terminates the
command.
The Return or Enter Key
The return key serves as one of the most important keys on most keyboards. It is actually
used to inform the computer of the end of an input or command. It performs two functions
depending on the program on which it is used. For example, suppose you are asked to
respond to an operating system command at the prompt or other entries, the operating
system will wait until the return key is pressed before continuing. Pressing the return key
also positions the cursor at the beginning of the next line (in text mode), which is the
equivalent of pressing the carriage return on a typewriter.
The Insert Key (Ins)
Pressing the insert key puts one’s keyboard in the insert mode, pressing it again returns to
the overstrike (type over) mode. In the insert mode, the characters one types are inserted at
the cursor position, the character at the cursor position and all characters to the right shift
to make room for them. In overstrike or type over mode, newly typed characters overwrite
the characters at the current cursor position. In most applications, the insert mode is
indicated by a symbol in the status line.

The Delete Key (Del)


The delete key deletes the character at the cursor position when pressed and the remaining
text moves to the left while the cursor remains at the same position.

The Back Space Key


The back space key deletes the characters to the left of the cursor when pressed and all
other characters to the right of the cursor are shifted one space to the left.

The Spacebar
The spacebar is the longest key found on most keyboards. It erases characters at the cursor
position or gives a blank space when pressed.
The Tab Key
The tab key moves the cursor by five spaces to the right when pressed. The number of
positions moved depends on the software or the Tab Set by the operator. The Tab is
normally pressed to insert paragraphs during typing. In some programs, when this key is
pressed in combination with shift the key, the same number of positions is moved
backwards.
The Print Screen Key (Prtsc)
When the print screen key is pressed in combination with the shift key, whatever in is on
the screen will be printed on a printer. The same effect can be achieved by pressing the key
alone on some keyboards.
Keeping Your Keyboard Clean and Working
Never spill liquids on your keyboard. Coffee, soda, and other beverage spills can ruin your
keyboard. Liquid spills on the keyboard have even been known to cause electrical damage
to the PC itself. With that in mind, though you may not stop drinking coffee around your
computer, you should at least get a spill-proof mug or keep the coffee on the other
side of the desk.
Another enemy of the keyboard is static electricity. Static electricity can have the same
damaging effect on your keyboard as does liquid. If your keyboard doesn't respond
properly after a strong static charge, you may just need to turn off the PC and turn it back
on to reset the keyboard. In some cases, however, the static discharge can zap the keyboard
and even parts of the PC. If you shuffle your feet across the carpet or your PC is in a room
with dry air, avoid touching the PC or the keyboard until you have touched something
metal to discharge any static electricity. If you don't have a metal desk or bookcase in your
work area, consider buying an anti-static mat and keeping it where you can touch it before
touching the PC.
Dust, dirt, food crumbs, and hair are other enemies of the keyboard. Try to avoid eating
over the keyboard and if your computer is in a dirty, dusty area, keep the keyboard covered
when not in use. Some dirt and dust is unavoidable. To keep the keyboard working well,
you should occasionally clean it.
2 The Mouse and Joystick
A mouse looks like the electrical clipper in a barber’s shop. It consists of a pointing device
very sensitive to movements. It has a roller ball and two or more buttons which can be
pressed to make a selection. By moving the mouse on a flat smooth surface and clicking
one or a combination of two buttons on its upper surface, a computer to which it is
connected can be sensitised and commanded to carry out some specific tasks.
A mouse can be used to draw diagrams on the computer screen more effectively and
efficiently than the computer keyboard. Generally, the keyboard and the mouse do
complement each other. For example, the mouse can be used to highlight an item in a menu
list while the keyboard Enter Key can be pressed to activate or evoke the command
associated with the highlighted item.
A mouse is the primary input device for modern computers that feature operating systems
with a graphical user interface, such as Windows 98 or Windows XP. While keyboards
obviously excel at entering text, numbers, and symbols, your mouse is the tool you'll use
to tell your computer what to do with all the data you've entered.
Joysticks are almost exclusively used with game software and help the user more
effectively control the actions of computer-simulated airplanes or arcade-style games.
All modern PC operating systems (Windows 98, Windows XP, and the Macintosh) rely on
an on-screen pointer to select and execute commands. A mouse is simply an input device
built to help the user control this on-screen pointer in as natural and efficient a manner as
possible.
The pointer on the screen mimics the movements of your mouse. As you move your mouse,
a ball encased in the bottom of your mouse rolls on the desk and in turn sends signals to
the computer as to which direction to move the pointer on the screen. Move the mouse side
to side, or up and down, and the on-screen pointer moves in a similar manner.
Once you have the mouse positioned to select the command or data you want to act on, you
use the mouse buttons to execute the command. The mouse controls the on-screen pointer
and lets you select program icons, manipulate property sheets, and access data.

Output Devices
1 Printers
A printer is the computer component that lets you create copies of the information stored
in your computer on paper. The printed material is often called the hard copy, to
differentiate it from the data stored on a disk, or held in the computer's memory.
There are three basic types of printers available for use with personal computers:
Laser Printers: These combine a magnetic roller with powdered ink called toner to
transfer high-quality characters or images onto a page.
Inkjet Printers: These have small nozzles that actually spray fast drying ink onto the page
to form characters or images. Inkjet printers spray a fine, quick-drying ink through small
nozzles to produce characters and images on paper. Although the results are not quite as
sharp as those of laser printers, inkjet printers provide very good quality
output at a lower cost.
Dot-matrix Printers: These use a print head to strike an inked ribbon against paper, like
a typewriter, creating characters out of a series of dots. Dot-matrix printers are the cheapest
printers available. They create text and images on the page by hammering several small
pins against an inked ribbon. The more pins used, the better the image. The 9-pin and 24-
pin are common options. The 24-pin printers produce a better quality output, but are
somewhat slower than the 9-pin printers.
Print quality for dot-matrix printers is often described in terms of mode: draft mode (low
resolution), near-letter-quality mode (medium resolution), or letter-quality mode (high
resolution). The speed depends on the mode, with the draft mode being the fastest.
The type of printer you choose depends on your budget and the type of output you need.
For example, if all you need to print are grocery lists, you may be happy with a dot-matrix
printer. In general, dot-matrix printers are noisier, slower, and produce a poorer-quality
image than do laser or inkjet printers, but they are also less expensive. If you need to print
newsletters, brochures, or illustrated reports, you will probably want a high-quality laser
printer. Laser printers cost more than other printers, but they may be worth the price
because they are fast, quiet, and produce high-quality text and graphics.

2 Monitors
The monitor does not do any processing itself. It only displays the information that the
video card tells it to display.
Monitor Sizes
The two most common monitor sizes are 15-inch and 17-inch. If you have an older, hand-
me-down PC or a very inexpensive starter PC, you may have a smaller 14-inch monitor.
21-inch monitors are also available but mostly used by graphics professionals.

VGA and SVGA Monitors


The two most common acronyms you will see on current monitors are VGA or SVGA.
Both of these terms generally refer to how many dots (or pixels) in each direction the
monitor can display. VGA is 640x480 (width by height) and SVGA is 800x600. This
measurement is called the monitor's resolution, and more is better! Most new monitors are
capable of displaying at least SVGA quality. In fact, 1,024x768 is somewhat of a minimum
to look for.
Almost any VGA or SGVA monitor made in the last few years is capable of displaying
any of these resolutions. However, it's actually the video card that determines what
resolution your monitor displays at any time. The monitor is capable of switching from one
resolution to another on command from the video card.

3 Scanners
Scanners are peripheral devices used to digitise (convert to electronic format) artwork,
photographs, text, or other items from hard copy. In a sense, a scanner works as a pair of
eyes for your PC. Your eyes see an image and translate the image into electrical impulses
that travel to and are interpreted by your brain. Similarly, a scanner captures images and
converts them to digital data that travel to and are interpreted by the computer. A scanner
works by dividing an image into microscopic rows and columns and measuring, like the
film in a camera, how much light (or lack of it) reflects from each individual intersection
of the rows and columns. Each reflection is recorded as a dot, or picture element (pixel).
After the scanner collects information from each dot, it compiles the result into a digital
file on the computer.
There are a wide variety of scanners that work in a number of different ways, but the
technology behind them is essentially the same. The following sections discuss the more
popular types of scanners available today.

Types of Scanners
A. Flatbed Scanners
Flatbed scanners look and behave a lot like a photocopier. You lay the item to be scanned
on a glass plate and the scanning head passes below the glass.
Flatbed scanners are very versatile: you can scan objects in a variety of sizes and shapes,
including pages from a book, without damaging the original. While flatbed scanners are
the best choice for a wide variety of uses, if you plan to do a lot of text scanning (called
OCR for Optical Character Recognition) work, keep in mind that flatbeds only
accommodate one page at a time. Scanning multi-page documents can be a slow, tedious
process, because you have to manually remove one page and insert the next.

B. Sheet Fed Scanners


Sheet fed scanners look and act more like fax machines. The page or item is fed into the
machine, scanned, then spat out on the other end. A sheet fed scanner is a good choice for
large volumes of text, but not for handling delicate original photographs. Scanning directly
from a book or other three-dimensional objects is impossible.

C. Hand Scanners
Hand scanners are a low-cost alternative to their larger, more sophisticated counterparts.
As their name implies, hand scanners are manual devices you move over a flat surface, just
as you do your PC's mouse.
The hand scanner’s advantages are many, but so are its disadvantages. Generally, hand
scanners work best for small, uncomplicated images such as company logos or small black-
and-white photographs. You might want a hand scanner if you do not plan to use it on a
regular basis, because it usually does not require adding internal cards to your CPU, and
it's easily disconnected and stored away. Most hand scanners can only scan a four-inch
wide image at one time and require a steady hand.
You're usually provided with software that helps you “sew up” a series of these 4-inch,
side-by-side scans into one image, but this is obviously not as convenient as getting the full
image at once.

4 Speakers and Sound


The built-in speakers in most PC cases are used just for making system sounds, such as
warning beeps and action indicators. To play more sophisticated sounds on your PC, you
need a set of external speakers. Usually speakers come in pairs, and there is a plug that
connects them to your sound card. Arrange the speakers with one on the left and one on
the right of your desk or work area to get a stereo effect.
Optionally, some speakers come with a subwoofer. This improves the bass (low notes)
sound. If you have a subwoofer with your speakers, it should go on the floor under your
desk.
Sound is one of the favorite options on today's PCs. In fact, sound is a standard feature of
most new PCs.
Everyone has their own uses for sound. You may just want to play a few music CDs with
your CD-ROM drive while you are working, or you may use multimedia applications for
presentations or educational programs. You may just like the sound of your jet engines
roaring as you punch the throttle in a flight simulator.

Components for Sound on Your PC


To produce sound on your PC, you need a sound card and speakers. The sound card is an
expansion card that plugs into one of the slots on your motherboard. This card processes
all of the instructions that have to do with sound, and then sends the sounds to the speakers
to be played.

Sound Cards
Sound cards plug into an expansion slot in your PC. The card has a set of connectors that
are exposed on the back of the PC; you can plug a microphone and speakers into the
connectors. Some cards include an optional connector for a line input, which is used to
connect another input source such as the output from a tape player or portable CD player.
Other optional connectors can include a joystick connector and a MIDI connector (for
connecting a MIDI keyboard). The card may include a volume control, which controls the
volume of the speakers and/or headphones.
CHAPTER FIVE
AUXILIARY EQUIPMENT
1 The Air Conditioner
A computer is an electronic machine. It is, therefore, capable of generating heat. A
computer is manufactured to operate in an environment with a specific temperature range.
When the temperature of the environment in which a computer is kept falls outside the
specific range, the computer may function badly and consequently get damaged. The free
air is, basically, dust laden. Dust is metallic in nature and, as such, capable of conducting
electricity. If dust is allowed to settle on a computer, particularly the electronic circuits, the
dust can bridge two circuits. The bridging of two electronic circuits may cause a serious
damage to the computer. Thus, air conditioners are needed in a computer environment to:
• condition the temperature, and
• prevent dust.
1. The Voltage Stabiliser
A computer when switched on, takes off in a cold state, warms up and gradually gets to a
hot state. In a hot state, a computer is always roaming in an attempt to find something to
do. In a situation where the public electricity, such as that of PHCN in Nigeria, is cut
suddenly, the computer would suddenly be brought to a halt. The sudden power cut may
cause the computer to lose the memory of some basic house keeping operations when
power eventually returns and the computer is switched on. The sudden power cut may also
cause irreparable damage to the file the computer was processing at the time the power was
suddenly cut.

The Line Voltage Transformer


We have noted that computers are built to operate within a specific range of voltages. In
the United States of America, computers are built to operate on 110V. A voltage
transformer is a device meant to step up or step down a voltage as the case may be. In
Nigeria, for example, a 110V computer requires a voltage transformer to step down the
240V to 110V. Similarly, in the USA, if a 240V current is connected directly to a 110V
computer, the computer power unit will blow up almost immediately.
Today, the technology has improved tremendously such that if a 240V current is connected
directly to a 110V computer, only a fuse, rather than the power unit will blow up. It is
worth mentioning, too, that there is an advanced technology today which permits a
computer to operate effectively and efficiently with the power line voltage ranging between
110V and 240V. The technology supports an inbuilt switch which can be operated at two
terminals, namely the 110V terminus and 240V terminus. In recent times, the technology
has been improved upon such that computers are manufactured in such a way that they can
sense the voltage that is adequate. Thus, if one connects a 110V computer to a240V current,
the 110V computer has an in-built line transformer which automatically steps down the
240V current to 110V.

3.4 The Uninterruptible Power Supply System (UPS)


An Uninterruptible Power System (UPS) is an auxiliary hardware that is capable of:
• Converting the public electricity raw line into fine line, that is, conditioning the voltage
that is fed into the computer.
• Storing electrical energy when the public electricity line is live
• Releasing the stored electrical energy to the computer when the public electricity line is
dead.
CHAPTER SIX
COMPUTER SOFTWARE
Computer hardware is driven by the software. The usefulness of the computer depends on
the programs that are written to manipulate it. Computer software comes in different forms:
the operating system, utility software, language translators and application software. The
physical components of the computer are called the hardware while all the other resources
or parts of the computer that are not hardware, are referred to as the software. The software
is the set of programs that make the computer system active. In essence, the software is the
set of programs that run on the computer. Then, what is a program? A program is a series
of coded instructions showing the logical steps the computer follows to solve a given
problem.

Classification of Computer Software


The computer software could be divided into two major groups, namely system software
(programs), and application software (programs).
1 System Software
This refers to the suits of programs that facilitate the optimal use of the hardware systems
and/or provide a suitable environment for the writing, editing, debugging, testing and
running of user programs. Usually, every computer system comes with a collection of these
suits of programs which are provided by the hardware manufacturer.

2 Operating Systems
An operating system is a program that acts as an interface between a user of a computer
and the computer hardware. The purpose of an operating system is to provide an
environment in which a user may execute programs.
The operating system is the first component of the systems programs that interest us here.
Systems programs are programs written for direct execution on computer hardware in order
to make the power of the computer fully and efficiently accessible to applications
programmers and other computer users. Systems programming is different from
application programming because the former requires an intimate knowledge of the
computer hardware as well as the end users’ needs. Moreover, systems programs are often
large and more complex than application programs, although that is not always the case.
Since systems programs provide the foundation upon which application programs are built,
it is most important that systems programs are reliable, efficient and correct.
In a computer system the hardware provides the basic computing resources. The
applications programs define the way in which these resources are used to solve the
computing problems of the user. The operating system controls and coordinates the use of
the hardware among the various systems programs and application programs for the
various users. The basic resources of a computer system are provided by its hardware,
software and data. The operating system provides the means for the proper use of these
resources in the operation of the computer system. It
simply provides an environment within which other programs can do useful work.
We can view an operating system as a resource allocator. A computer system has many
resources (hardware and software) that may be required to solve a problem: CPU time,
memory space, file storage space, input/output devices, etc.
The operating system acts as the manager of these resources and allocates them to specific
programs and users as necessary for their tasks. Since there may be many, possibly
conflicting, requests for resources, the operating system must decide which requests are
allocated resources to operate the computer system fairly and efficiently. An operating
system is a control program. This program controls the execution of user programs to
prevent errors and improper use of the computer.
Operating systems exist because they are a reasonable way to solve the problem of creating
a usable computing system. The fundamental goal of a computer system is to execute user
programs and solve user problems.
The primary goal of an operating system is convenience for the user. Operating systems
exist because they are supposed to make it easier to compute with an operating system than
without an operating system. This is particularly clear when you look at the operating
system for small personal computers.
A secondary goal is the efficient operation of computer system. This goal is particularly
important for large, shared multi-user systems. Operating systems can attain this goal. It is
known that sometimes these two goals, convenience and efficiency, are contradictory.
While there is no universally agreed definition of the concept of an operating system, we
offer the following as a reasonable starting point: A computer’s operating system (OS) is
a group of programs designed to serve two basic purposes:
• To control the allocation and use of the computing system’s resources among the various
users and tasks.
• To provide an interface between the computer hardware and the programmer that
simplifies and makes feasible the creation, coding, debugging, and maintenance of
application programs. Specifically, we can imagine that an effective operating system
should accomplish all of the following:
• Facilitate creation and modification of program and data files through an editor program.
• Provide access to compilers to translate programs from high-level languages to machine
language.
• Provide a loader program to move the complied program code to the computer’s memory
for execution.
• Provide routines that handle the intricate details of I/O programming.
• Assure that when there are several active processes in the computer, each will get fair
and non-interfering access to the central processing unit for execution.
• Take care of storage and device allocation.
• Provide for long term storage of user information in the form of files.
• Permit system resources to be shared among users when appropriate, and be protected
from unauthorised or mischievous intervention as necessary. Though systems programs
such as editor and translators and the various utility programs (such as sort and file transfer
program) are not usually considered part of the operating system, the operating system is
responsible for providing access to these system resources.

Types of Operating Systems


Modern computer operating systems may be classified into three groups, which are
distinguished by the nature of interaction that takes place between the computer user and
his or her program during its processing. The three groups are called batch, time-shared
and real time operating systems.
1 Batch Processing Operating System
In a batch processing operating system environment users submit jobs to a central place
where these jobs are collected into a batch, and subsequently placed on an input queue at
the computer where they will be run. In this case, the user has no interaction with the job
during its processing, and the computer’s response time is the turnaround time - the time
from submission of the job until execution is complete, and the results are ready for return
to the person who submitted the job.
2 Time Sharing Operating System
Another mode for delivering computing services is provided by time sharing operating
systems. In this environment a computer provides computing services to several or many
users concurrently on-line. Here, the various users are sharing the central processor, the
memory, and other resources of the computer system in a manner facilitated, controlled,
and monitored by the operating system. The user, in this environment, has nearly full
interaction with the program during its execution, and the computer’s response time may
be expected to be no more than a few seconds.
3 Real Time Operating System
The third class of operating systems, the real time operating systems, are designed to
service those applications where response time is of the essence in order to prevent error,
misrepresentation or even disaster. Examples of real time operating systems are those
which handle airlines reservations, machine tool control, and monitoring of a nuclear
power station. The systems, in this case, are designed to be interrupted by external signal
that require the immediate attention of the computer system.
In fact, many computer operating systems are hybrids, providing for more than one of these
types of computing service simultaneously. It is especially common to have a background
batch system running in conjunction with one of the other two on the same computer.
A number of other definitions are important towards gaining an understanding of operating
systems:
4 Multiprogramming Operating System
A multiprogramming operating system is a system that allows more than one active user
program (or part of user program) to be stored in main memory simultaneously.
Thus, it is evident that a time-sharing system is a multiprogramming system, but note that
a multiprogramming system is not necessarily a time-sharing system. A batch or real time
operating system could, and indeed usually does, have more than one active user program
simultaneously in main storage. Another important, and all too similar, term is
‘multiprocessing’.
A multiprocessing system is a computer hardware configuration that includes more than
one independent processing unit. The term multiprocessing is generally used to refer to
large computer hardware complexes found in major scientific or commercial applications.
A networked computing system is a collection of physically interconnected computers. The
operating system of each of the interconnected computers must contain, in addition to its
own standalone functionality, provisions for handing communication and transfer of
program and data among the other computers with which it is connected.
A distributed computing system consists of a number of computers that are connected and
managed so that they automatically share the job processing load among the constituent
computers, or separate the job load as appropriate to particularly configured processors.
Such a system requires an operating system which, in addition to the typical standalone
functionality, provides coordination of the operations and information flow among the
component computers.
The networked and distributed computing environments and their respective operating
systems are designed with more complex functional capabilities. In a network operating
system the users are aware of the existence of multiple computers, and can log in to remote
machines and copy files from one machine to another. Each machine runs its own local
operating system and has its own user (or users).

5 Distributed Operating System


A distributed operating system, in contrast, is one that appears to its users as a traditional
uniprocessor system, even though it is actually composed of multiple processors. In a true
distributed system, users should not be aware of where their programs are being run or
where their files are located; that should all be handled automatically and efficiently by the
operating system.
6 Network Operating Systems
Network operating systems are not fundamentally different from single processor operating
systems. They obviously need a network interface controller and some low-level software
to drive it, as well as programs to achieve remote login and remote files access, but these
additions do not change the essential structure of the operating systems.
True distributed operating systems require more than just adding a little code to a
uniprocessor operating system, because distributed and centralised systems differ in critical
ways. Distributed systems, for example, often allow programs to run on several processors
at the same time, thus requiring more complex processor scheduling algorithms in order to
optimize the amount of parallelism achieved.
3.4 Operating System Components
An operating system provides the environment within which programs are executed. To
construct such an environment, the system is partitioned into small modules with a well-
defined interface. The design of a new operating system is a major task. It is very important
that the goals of the system be will defined before the design begins. The type of system
desired is the foundation for choices between various algorithms and strategies that well
be necessary.
A system as large and complex as an operating system can only be created by partitioning
it into smaller pieces. Each of these pieces should be a well defined portion of the system
with carefully defined inputs, outputs, and functions. Obviously, not all systems have the
same structure. However, many modern operating systems share the system components
outlined below.
1 Process Management
A process is the unit of work in a system. Such a system consists of a collection of
processes, some of which are operating system processes, those that execute system code,
and the rest being user processes, those that execute user code. All of those processes can
potentially execute concurrently.
The operating system is responsible for the following activities in connection with
processes managed:
• The creation and deletion of both user and system processes
• The suspension and resumption of processes.
• The provision of mechanisms for process synchronisation
• The provision of mechanisms for deadlock handling.
2 Memory Management
Memory is central to the operation of a modern computer system. Memory is a large array
of words or bytes, each with its own address. Interaction is achieved through a sequence of
reads or writes of specific memory address that the CPU fetches from and stores in
memory. In order for a program to be executed, it must be mapped to absolute addresses
and loaded in to memory. As the program executes, it accesses program instructions and
data from memory by generating these absolute is declared available, and the next program
may be loaded and executed.
The operating system is responsible for the following activities in connection with memory
management:
• Keeping track of which parts of memory are currently being used and by whom.
• Deciding which processes are to be loaded into memory when memory space becomes
available.
• Allocating and deallocating memory space as needed.
3 Secondary Storage Management
The main purpose of a computer system is to execute programs. These programs, together
with the data they access, must be in main memory during execution. Since the main
memory is too small to permanently accommodate all data and programs, the computer
system must provide secondary storage to back-up main memory. Most modem computer
systems use disks as the primary on-line storage of information, of both programs and data.
Most programs, like compilers, assemblers, sort routines, editors, formatters, and so on,
are stored on the disk until loaded into memory, and then use the disk as both the source
and destination of their processing. Hence the proper management of disk storage is of
central importance to a computer system.
The operating system is responsible for the following activities in connection with disk
management:
• Free space management
• Storage allocation
• Disk scheduling.
4 I/O System
One of the purposes of an operating system is to hide the peculiarities of specific hardware
devices from the user. For example, in Unix, the peculiarities of I/O devices are hidden
from the bulk of the operating system itself by the I/O system. The I/O system consists of:
• A buffer caching system
• A general device driver code
• Drivers for specific hardware devices
Only the device driver knows the peculiarities of a specific device.

5 File Management
File management is one of the most visible services of an operating system. Computers can
store information in several different physical forms. The magnetic tape, disk, and drum
are the most common forms. Each of these devices has it own characteristics and physical
organisation.
For the convenient use of the computer system, the operating system provides a uniform
logical view of information storage. The operating system abstracts from the physical
properties of its storage devices to define a logical storage unit, the file. Files are mapped,
by the operating system, onto physical devices.
A file is a collection of related information defined by its creator. Commonly, files
represent programs (both source and object forms) and data. Data files may be numeric,
alphabetic or alphanumeric. Files may be free-form, such as text files, or may be rigidly
formatted. In general a file is a sequence of bits, bytes, lines or records whose meaning is
defined by its creator and user. It is a very general concept.
The operating system is responsible for the following activities in connection with file
management:
• The creation and deletion of files
• The creation and deletion of directory
• The support of primitives for manipulating files and directories
• The mapping of files onto disk storage.
• Backup of files on stable (non volatile) storage.

6 Protection System
The various processes in an operating system must be protected from each other’s
activities. For that purpose, various mechanisms are used to ensure that the files, memory
segment, CPU and other resources can be operated on only by those processes that have
gained proper authorisation from the operating system.
For example, memory addressing hardware ensures that a process can only execute within
its own address space. The timer ensures that no process can gain control of the CPU
without relinquishing it. Finally, no process is allowed to do its own I/O, to protect the
integrity of the various peripheral devices.
Protection refers to a mechanism for controlling the access of programs, processes, or users
to the resources defined by a computer controls to be imposed, together with some means
of enforcement.
Protection can improve reliability by detecting latent errors at the interfaces between
component subsystems. Early detection of interface errors can often prevent contamination
of a healthy subsystem by a subsystem that is malfunctioning. An unprotected resource
cannot defend against use (or misuse) by an unauthorised or incompetent user.

7 Networking
A distributed system is a collection of processors that do not share memory or a clock.
Instead, each processor has its own local memory, and the processors communicate with
each other through various communication lines, such as high speed buses or telephone
lines. Distributed systems vary in size and function. They may involve microprocessors,
workstations, minicomputers, and large general purpose computer systems.
The processors in the system are connected through a communication network, which can
be configured in a number of different ways. The network may be fully or partially
connected. The communication network design must consider routing and connection
strategies, and the problems of connection and security. A distributed system provides the
user with access to the various resources the system maintains. Access to a shared resource
allows computation speed-up, data availability, and reliability.
8 Command Interpreter System
One of the most important components of an operating system is its command interpreter.
The command interpreter is the primary interface between the user and the rest of the
system.
Many commands are given to the operating system by control statements. When a new job
is started in a batch system or when a user logs in to a time-shared system, a program which
reads and interprets control statements is automatically executed. This program is variously
called (1) the control card interpreter, (2) the command line interpreter, (3) the shell (in
UNIX), and so on. Its function is quite simple: get the next command statement, and
execute it.
The command statement themselves deal with process management, I/O handling,
secondary storage management, main memory management, file system access, protection,
and networking.

Fig.10: Relationship between the operating system and other components of the
computer system

Language Translators
A programming language is a set of notations in which we express our instructions to the
computer. At the initial stage of computer development, programs were written in machine
language conducting the binary system i.e. 0 and 1. Such programs were hard to write,
read, debug and maintain. In an attempt to solve these problems, other computer languages
were developed. However, computers can run programs written only in machine language.
There is therefore the need to translate programs written in these other languages to
machine language. The suites of languages that translate other languages to machine
language are called language translators. The initial program written in a language different
from machine language is called the source program and its equivalent in machine language
is called object program.
Three examples of classes of language translators are assemblers, interpreters and
compilers.
1. Assemblers: An assembler is a computer program that accepts a source program in
assembly language program and reads and translates the entire program into an equivalent
program in machine language called the object program or object code. Each machine has
its own assembly language, meaning that the assembly language of one machine cannot
run on another machine.
2. Interpreters: An interpreter is a program that accepts program from a source language,
reads, translates and executes it, line by line, into machine language.
3. Compilers: A compiler is a computer program that accepts a source program in one
high-level language, reads and translates the entire user’s program into an equivalent
program in machine language, called the object program or object code. The stages in
compilation include:
• Lexical analysis
• Syntax analysis
• Semantic analysis
• Code generation
For each high-level language, there are different compilers. We can therefore talk of
COBOL Compilers, FORTRAN Compilers, BASIC Compilers, etc. A compiler also
detects syntax errors, that is, errors that arise from the use of the language. Compilers are
portable, i.e. a COBOL Compiler on one machine can run on a different machine with
minimum changes.

Utility Software
This is a set of commonly used programs in data processing departments, also called
service or general-purpose programs. They perform the following operations.
• File Conversion: This covers data transfer from any medium to another, making an exact
copy or simultaneously editing and validating. For example, copying from a hard disk to a
diskette.
• File Copy: It makes an exact copy of a file from one medium to another or from an area
of a medium to another area of the same medium.
• Housekeeping Operations: These include programs to clear areas of storage, writing file
labels and updating common data. They are not involved in solving the problem in hand.
They are operations that must be performed before and after actual processing.

Application Software
Application software is a set of programs designed to solve problems of a specific nature.
It could either be supplied by the computer manufacturer, or in some cases, the users
produce their own application program called user programs. Hence, application software
could be subdivided into two classes, namely; generalized software and userdefined
software.
Under generalised software, we have as examples: Word Processing Programs e.g. Word
Perfect, Word Star, Microsoft Word. Also included are Desktop Publishing e.g. Ventura,
PageMaker, CorelDraw, likewise the Spreadsheet program e.g. LOTUS 1,2,3, Excel,
Super-Q. Under the user-defined, software, we could have some user-defined packages for
a particular company or organisation, for accounting, payroll or some other specialised
purposes.
• The Word Processor: A word processor is used to create, edit, save and print reports. It
affords the opportunity to make amendments before printing is done. During editing a
character, word, sentence or a number of lines can be removed or inserted as the case may
be. Another facility possible is spell checking. A document can be printed as many times
as possible. Word processors are mainly used to produce letters, mailing lists, labels,
greeting cards, business cards, reports, manuals and newsletters. Examples are:
WordPerfect, WordStar, Display Writer, Professional Writer, LOTUS Manuscript, Ms-
Word, LOCO Script and MM Advantage II etc.
• The Spreadsheet: This is an application mainly designed for numerical figures and
reports. Spreadsheets contain columns and rows, in which numbers can be entered. It is
possible to change numbers before printing is done. Other features of spreadsheets are the
ability to use formulas to calculate, use sum and average function, ability to perform
automatic recalculation, and the capacity to display reports in graphical modes. The
spreadsheet is used for budgets, tables, cost analysis, financial reports, tax and statistical
analysis. Examples are: LOTUS 123, Supercalc, MS Multiplan, MS-Excel, VP Planner etc.
• Integrated Packages: They are programs or packages that perform a variety of different
processing operations using data that is compatible with whatever operation is being
carried out. They perform a number of operations like word processing, database
management and spread sheeting. Examples are: Office Writer, Logistic Symphony,
Framework, Enable, Ability, Smart Ware II, and Microsoft Works V2.
• Graphic Packages: These are packages that enable you to bring out images, diagrams
and pictures. Examples are PM, PM Plus, Graphic Writer, Photoshop.
• Database Packages: These are software for designing, setting up and subsequently
managing a database. (A database is an organised collection of data that allows for
modification, taking care of different users view). Examples are Dbase II, III, IV,
FoxBASE, Base Data Perfect, Paradox III, Revelation Advanced and MS-Access.
• Statistical Packages: These are packages that can be used to solve statistical problems,
e.g. Stat Graphical, and SPSS (Statistical Packages for Social Scientists).
• Desktop Publishing: These are packages that can be used to produce books and
documents in standard form. Examples are PageMaker, Ventura, Publishers, Paints Brush,
Xerox Form Base, News Master II, and Dbase Publisher.
• Game Packages: These are packages that contain a lot of games for children and adults.
Examples are Chess, Scrabble, Monopoly, Tune Trivia, Star Trek 2, California Game,
Soccer Game, War Game, Spy Catcher and Dracula in London.
• Communication Packages: Examples are Carbon Plus, Data Talk V3.3, Cross Talk,
SAGE Chit Chat and Data Soft. There are so many packages around, virtually for every
field of study but these are just to mention a few of them. Advantages of these packages
include that they are quicker to and cheaper implement, time saving, minimum time for its
design, they have been tested and proven to be correct, they are usually accompanied by
full documentation, and are also very portable.
User Programs
This is a suite of programs written by programmers for computer users. They are required
for the operation of their individual business or tasks. An example is a payroll package
developed for the salary operation of a particular company.
CHAPTER SEVEN
COMPUTER LANGUAGES
Basically, human beings cannot speak or write in computer language, and since computers
cannot speak or write in human language, an intermediate language had to be devised to
allow people to communicate with the computers. These intermediate languages, known
as programming languages, allow a computer programmer to direct the activities of the
computer. These languages are structured around a unique set of rules that dictate exactly
how a programmer should direct the computer to perform a specific task. With the powers
of reasoning and logic of human beings, there is the capability to accept an instruction and
understand it in many different forms. Since a computer must be programmed to respond
to specific instructions, instructions cannot be given in just any form. Programming
languages standardize the instruction process. The rules of a particular language tell the
programmer how the individual instructions must be structured and what sequence of
words and symbols must be used to form an instruction.
• An operation code
• Some operands.
The operation code tells the computer what to do such as add, subtract, multiply and divide.
The operands tell the computer the data items involved in the operations. The operands in
an instruction may consist= of the actual data that the computer may use to perform an
operation, or the storage address of data.
Some computers use many types of operation codes in their instruction format and may
provide several methods for doing the same thing. Other computers use fewer operation
codes, but have the capacity to perform more than one operation with a single instruction.
There are four basic types of instructions, namely:
(a) input-output instructions;
(b) arithmetic instructions;
(c) branching instructions; and
(d) logic instructions.
An input instruction directs the computer to accept data from a specific input device and
store it in a specific location in the store. An output instruction tells the computer to move
a piece of data from a computer storage location and record it on the output medium. All
of the basic arithmetic operations can be performed by the computer. Since arithmetic
operations involve at least two numbers, an arithmetic operation must include at least two
operands.
Branch instructions cause the computer to alter the sequence of execution of instruction
within the program. There are two basic types of branch instructions; namely unconditional
branch instruction and conditional branch instruction. An unconditional branch instruction
or statement will cause the computer to branch to a statement regardless of the existing
conditions. A conditional branch statement will cause the computer to branch to a statement
only when certain conditions exist.
Logic instructions allow the computer to change the sequence of execution of instruction,
depending on conditions built into the program by the programmer. Typical logic
operations include: shift, compare and test.
Types of Programming Language
The effective utilisation and control of a computer system is primarily through the software
of the system. We note that there are different types of software that can be used to direct
the computer system. System software directs the internal operations of the computer, and
applications software allows the programmer to use the computer to solve user made
problems. The development of programming techniques has become as important to the
advancement of computer science as the developments in hardware technology. More
sophisticated programming techniques and a wider variety of programming languages have
enabled computers to be used in an increasing number of applications.
Programming languages, the primary means of human-computer communication, have
evolved from early stages where programmers entered instructions into the computer in a
language similar to that used in the application. Computer programming languages can be
classified into the following categories:
(a) Machine language
(b) Assembly language
(c) High level symbolic language
(d) Very high level symbolic language

1 Machine Language
The earliest forms of computer programming were carried out by using languages that were
structured according to the computer stored data, that is, in a binary number system.
Programmers had to construct programs that used instructions written in binary notation 1
and 0. Writing programs in this fashion is tedious, time-consuming and susceptible to
errors. Each instruction in a machine language program consists, as mentioned before, of
two parts namely: operation code and operands. An added difficulty in machine language
programming is that the operands of an instruction must tell the computer the storage
address of the data to be processed. The programmer must designate storage locations for
both instructions and data as part of the programming process. Furthermore, the
programmer has to know the location of every switch and register that will be used in
executing the program, and must control their functions by means of instructions in the
program.
A machine language program allows the programmer to take advantage of all the features
and capabilities of the computer system for which it was designed. It is also capable of
producing the most efficient program as far as storage requirements and operating speeds
are concerned. Few programmers today write applications programs in machine language.
A machine language is computer dependent. Thus, an IBM machine language will not run
on NCR machine, DEC machine or ICL machine. A machine language is the First
Generation (computer) Language (IGL).
2 Assembly (Low Level) Language
Since machine language programming proved to be a difficult and tedious task, a symbolic
way of expressing machine language instructions is devised. In assembly language, the
operation code is expressed as a combination of letters rather than binary numbers,
sometimes called mnemonics. This allows the programmer to remember the operations
codes easily than when expressed strictly as binary numbers. The storage address or
location of the operands is expressed as a symbol rather than the actual numeric address.
After the computer has read the program, operations software are used to establish the
actual locations for each piece of data used by the program. The most popular assembly
language is the IBM Assembly Language. Because the computer understands and executes
only machine language programs, the assembly language program must be translated into
a machine language. This is accomplished by using a system software program called an
assembler. The assembler accepts an assembly language program and produces a machine
language program that the computer can actually execute. Although, assembly language
programming offers an improvement over machine language programming, it is still an
arduous task, requiring the programmer to write programs based on particular computer
operation codes. An assembly language program developed and run on IBM computers
would fail to run on ICL computers. Consequently, the portability of computer programs
in a computer installation to another computer installation which houses different makes
or types of computers were not possible. The low level languages are, generally, described
as Second Generation (Computer) Language (2GL).

3 High Level Language


The difficulty of programming and the time required to program computers in assembly
languages and machine languages led to the development of high-level languages. The
symbolic languages, sometimes referred to as problem oriented languages reflect the type
of problem being solved rather than the computer being used to solve it. Machine and
assembly language programming is machine dependent but high level languages are
machine independent, that is, a high-level language program can be run on a variety of
computers.
While the flexibility of high level languages is greater than that of machine and assembly
languages, there are close restrictions in exactly how instructions are to be formulated and
written. Only a specific set of numbers, letters, and special characters may be used to write
a high level program and special rules must be observed for punctuation. High level
language instructions do resemble English language statements and the mathematical
symbols used in ordinary mathematics. Among the existing and popular high level
programming languages are Fortran, Basic, Cobol, Pascal, Algol, Ada and P1/1.

3.2.4 Very High Level Language


Programming aids or programming tools are provided to help programmers do their
programming work more easily. Examples of programming tools are:
• Program development systems that help users to learn programming, and to program in
a powerful high level language. Using a computer screen (monitor) and keyboard under
the direction of an interactive computer program, users are helped to construct application
programs.
• A program generator or application generator that assists computer users to write their
own programs by expanding simple statements into program code’.
• A database management system
• Debuggers that are programs that help the computer user to locate errors (bugs) in the
application programs

The very high level language generally described as the Fourth Generation (computer)
Language (4GL), is an ill-defined term that refers to software intended to help computer
users or computer programmers to develop their own application programs more quickly
and cheaply. A 4GL, by using a menu system for example, allows users to specify what
they require, rather than describe the procedures by which these requirements are met. The
detailed procedure by which the requirements are met is done by the 4GL software which
is transparent to the users.
A 4GL offers the user an English-like set of commands and simple control structures in
which to specify general data processing or numerical operations. A program is translated
into a conventional high level language such as COBOL, which is passed to a compiler. A
4GL is, therefore, a non-procedural language. The program flows are not designed by the
programmer but by the fourth generation software itself. Each user request is for a result
rather than a procedure to obtain the result.
CHAPTER EIGHT
BASIC PRINCIPLES OF COMPUTER PROGRAMMING
Problem Solving With the Computer
The computer is a general-purpose machine with a remarkable ability to process
information. It has many capabilities, and its specific function at any particular time is
determined by the user. This depends on the program loaded into the computer memory
being utilised by the user.
There are many types of computer programs. However, the programs designed to convert
the general-purpose computer into a tool for a specific task or applications are called
“Application programs”. These are developed by users to solve their peculiar data
processing problems.
Computer programming is the act of writing a program which a computer can execute to
produce the desired result. A program is a series of instructions assembled to enable the
computer to carry out a specified procedure. A computer program is the sequence of simple
instructions into which a given problem is reduced and which is in a form the computer
can understand, either directly or after interpretation.

Programming Methodology
Principles of Good Programming
It is generally accepted that a good computer program should have the characteristics
shown below:
• Accuracy: The program must do what it is supposed to do correctly and must meet the
criteria laid down in its specification.
• Reliability: The program must always do what it is supposed to do, and never crash.
• Efficiency: Optimal utilisation of resources is essential. The program must use the
available storage space and other resources in such as way that the system speed is not
wasted.
• Robustness: The program should cope with invalid data and not stop without an
indication of the cause of the source of error.
• Usability: The program must be easy enough to use and be well documented.
• Maintainability: The program must be easy to amend, having good structuring and
documentation.
• Readability: The code of a program must be well laid out and explained with comments.

Stages of Programming
The preparation of a computer program involves a set of procedure.
These steps can be classified into eight major stages, viz
(i) Problem definition
(ii) Devising the method of solution
(iii) Developing the method using suitable aids, e.g. pseudo code or flowchart.
(iv) Writing the instructions in a programming language
(v) Transcribing the instructions into “machine sensible” form
(vi) Debugging the program
(vii) Testing the program
(viii) Documenting all the work involved in producing the program.
(i) Problem definition
The first stage requires a good understanding of the problem. The programmer (i.e. the
person writing the program) needs to thoroughly understand what is required of a problem.
A complete and precise unambiguous statement of the problem to be solved must be stated.
This will entail the detailed specification which lays down the input, processes and output
required.
(ii) Devising the method of solution
The second stage involved is spelling out the detailed algorithm. The use of a computer to
solve problems (be it scientific or business data processing problems) requires that a
procedure or an algorithm be developed for the computer to follow in solving the problem.
(iii) Developing the method of solution
There are several methods for representing or developing methods used in solving a
problem. Examples of such methods are: algorithms, flowcharts, pseudo code, and decision
tables.
(iv) Writing the instructions in a programming language
After outlining the method of solving the problem, a proper understanding of the syntax of
the programming language to be used is necessary in order to write the series of instructions
required to get the problem solved.
(v) Transcribing the instructions into machine sensible form
After the program is coded, it is converted into machine sensible form or machine
language. There are some manufacturers written programs that translate users programs
(source programs) into machine language (object code). These are called translators and
instructions that machines can execute at a go, while interpreters accept a program and
execute it line-by-line.
During translation, the translator carries out syntax check on the source program to detect
errors that may arise from wrong use of the programming language.
(vi) Program debugging
A program seldomly executes successfully the first time. It normally contains a few errors
(bugs). Debugging is the process of locating and correcting errors. There are three classes
of errors.
• Syntax errors: Caused by mistake coding (illegal use of a feature of the programming
language).
• Logic errors: Caused by faulty logic in the design of the program. The program will
work but not as intended.
• Execution errors: The program works as intended but illegal input or other
circumstances at run-time makes the program stop.
There are two basic levels of debugging. The first level called desk checking or dry running
is performed after the program has been coded and entered or key punched. Its purpose is
to locate and remove as many logical and clerical errors as possible. The program is then
read (or loaded) into the computer and processed by a language translator. The function of
the translator is to convert the program statements into the binary code of the computer
called the object code. As part of the translation process, the program statements are
examined to verify that they have been coded correctly, if errors are detected, a series of
diagnostics referred to as an error message list is generated by the language translator. With
this list in the hand of the programmer, the second level of debugging is reached. The error
message list helps the programmer to find the cause of errors and make the necessary
corrections. At this point, the program may contain entering errors, as well as clerical errors
or logic errors. The programming language manual will be very useful at this stage of
program development.
After corrections have been made, the program is again read into the computer and again
processed by the language translator. This is repeated over and over again until the program
is error-free.
(vii) Program testing
The purpose of testing is to determine whether a program consistently produces correct or
expected results. A program is normally tested by executing it with a given set of input
data (called test data), for which correct results are known.
For effective testing of a program, the testing procedure is broken into three segments.
a. The program is tested with inputs that one would normally expect for an execution of
the program.
b. Valid but slightly abnormal data is injected (used) to determine the capabilities of the
program to cope with exceptions. For example, minimum and maximum values allowable
for a sales amount field may be provided as input to verify that the program
processed them correctly.
c. Invalid data is inserted to test the program’s error-handling routines. If the result of the
testing is not adequate, then minor logic errors still abound in the program. The
programmer can use any of these three alternatives to locate the bugs.
Other methods of testing a program for correctness include:
• Manual walk-through: The programmer traces the processing steps manually to find
the errors, pretending to be the computer, following the execution of each statement in the
program, noting whether or not the expected results are produced.
• Use of tracing routines: If this is available for the language, this is similar to (1) above
but is carried out by the computer; hence it takes less time and is not susceptible to human
error.
• Storage dump: This is the printout of the contents of the computer’s storage locations.
By examining the contents of the various locations, when the program is halted, the
instruction at which the program is halted can be determined. This is an important clue to
finding the error that caused the halt.
• Program documentation: Documentation of the program should be developed at every
stage of the programming cycle.
The following are documentations that should be done for each program.
(a) Problem Definition Step
• A clear statement of the problem
• The objectives of the program (what the program is to accomplish)
• Source of request for the program.
• Person/official authorising the request
(b) Planning the Solution Step
• Flowchart, pseudo code or decision tables
• Program narrative
• Descriptive of input, and file formats
(c) Program source coding sheet
(d) User’s manual to aid persons who are not familiar with the program to apply it correctly.
The manual it contains a description of the program and what it is designed to achieve.
(e) Operator’s manual to assist the computer operator to successfully run the program. This
manual contains:
(i) Instructions about starting, running and terminating the program.
(ii) Message that may be printed on the console or VDU (terminal) and their meanings.
(iii) Setup and take down instruction for files.
Advantages of Program Documentation
a. It provides all necessary information for anyone who comes in contact with the program.
b. It helps the supervisor in determining the program’s purpose, how long the program will
be useful and future revision that may be necessary.
c. It simplifies program maintenance (revision or updating).
d. It provides information as to the use of the program to those unfamiliar with it.
e. It provides operating instructions to the computer operator.
CHAPTER NINE
FLOWCHARTS AND ALGORITHMS
A flowchart is a graphical representation of the major steps of work in process. It displays
in separate boxes the essential steps of the program and shows by means of arrows the
directions of information flow. The boxes, most often referred to as illustrative symbols,
may represent documents, machines or actions taken during the process. The area of
concentration is on where or who does what, rather than on how it is done. A flowchart can
also be said to be a graphical representation of an algorithm, that is, it is a visual picture
which gives the steps of an algorithm and also the flow of control between the various
steps.

3.3 Guidelines for Drawing Flowcharts


• Each symbol denotes a type of operation: Input, Output, Processing, Decision, Transfer
or Branch or Terminal.
• A note is written inside each symbol to indicate the specific function to be performed.
• Flowcharts are read from top to bottom.
• A sequence of operations is performed until a terminal symbol designates the end of the
run or “branch” connector transfers control.

3.4 Flowcharting the Problem


The digital computer does not do any thinking and cannot make unplanned decisions.
Every step of the problem has to be taken care of by the program. A problem which can be
solved by a digital computer need not be described by an exact mathematical equation, but
it does need a certain set of rules that the computer can follow. If a problem needs intuition
or guessing, or is so badly defined that it is hard to put into words, the computer cannot
solve it. You have to define the problem and set it up for the computer in such a way that
every possible alternative is taken care of. A typical flowchart consists of special boxes, in
which are written the activities or operations for the solution of the problem. The boxes,
linked by means of arrows, show the sequence of operations. The flowchart acts as an aid
to the programmer, who follows the flowchart design to write his programs.
3.5 Algorithms
Before a computer can be put to any meaningful use, the user must be able to come out
with or define a unit sequence of operations or activities (logically ordered) which gives
an unambiguous method of solving a problem or finding out that no solution exists. Such
a set of operations is known as an ALGORITHM.
Definition: An algorithm, named after the ninth century scholar Abu Jafar Muhammad Ibn
Musu Al-Khowarizmi, is defined as follows:
• An algorithm is a set of rules for carrying out calculations either by hand or a machine.
• An algorithm is a finite step-by-step procedure to achieve a required result.
• An algorithm is a sequence of computational steps that transform the input into the
output.
• An algorithm is a sequence of operations performed on data that have to be organised in
data structures.
• An algorithm is an abstraction of a program to be executed on a physical machine (model
of computation).
The most famous algorithm in history dates well before the time of the ancient Greeks: this
is Euclids algorithm for calculating the greatest common divisor of two integers. Before
we go into some otherwise complex algorithms, let us consider one of the simplest but
common algorithms that we encounter everyday.
An algorithm therefore can be characterised by the following:
(i) A finite set or sequence of actions
(ii) This sequence of actions has a unique initial action
(iii) Each action in the sequence has unique successor
(iv) The sequence terminates with either a solution or a statement that the problem is
unresolved. An algorithm can therefore be seen as a step-by-step method of solving a
problem.

3.6 Pseudocodes
A pseudocode is a program design aid that serves the function of a flowchart in expressing
the detailed logic of a program. Sometimes a program flowchart might be inadequate for
expressing the control flow and logic of a program. By using Pseudocodes, program
algorithms can be expressed as English-language statements. These statements can be used
both as a guide when coding the program in a specific language and as documentation for
review by others. Because there is no rigid rule for constructing pseudocodes, the logic of
the program can be expressed in a manner that does not conform to any particular
programming language. A series of structured words is used to express the major program
functions. These structured words are the basis for writing programs using a technical term
called “structure programming”.

3.7 Decision Tables


Decision tables are used to analyse a problem. The conditions applying in the problem are
set out and the actions to be taken, as a result of any combination of the conditions arising
are shown. They are prepared in conjunction with or in place of flowcharts. Decision tables
are a simple yet powerful and unambiguous way of showing the actions to be taken when
a given set of conditions occur. Moreover, they can be used to verify that all conditions
have been properly catered for. In this way they can reduce the possibility that rare or
unforeseen combinations of conditions will result in confusion about the actions to be
taken. Decision tables have standardised formats and comprise of four sections.
(a) Conditions Stub: This section contains a list of all possible conditions which could
apply in a particular problem.
(b) Conditions Entry: This section contains the different combination of the conditions,
each combination being given a number termed a ‘Rule’.
(c) Action Stub: This section contains a list of the possible actions which could apply for
any given combinations of conditions.
(d) Action Entry: This section shows the actions to be taken for each combination of
conditions.
Writing the instructions in a programming language (program coding)
The instructions contained in the algorithm must be communicated to the computer in a
language it will understand before it can execute them. The first step is writing these
instructions in a programming language (program coding). Program coding is the process
of translating the planned solution to the problems, depicted in a flowchart, pseudocode or
decision table, into statements of the program. The program flowchart, pseudocode
decision table as the case may be, is as a guide by the programmer as he describes the logic
in the medium of a programming language. The coding is usually done on coding sheets
or coding forms.
CHAPTER TEN
APPLICATION OF COMPUTERS IN EDUCATION
The computer has become a universal tool for modern men and women. Literacy today is
not defined only in terms of the ability to read and/or write but in addition, it includes the
ability to use and communicate with the aid of the computer. In the education sector,
computers are being used to promote teaching and learning.
3.1 Application of Computers in Education
The field of education provides the most fascinating application of the computing system.
This has consequently attracted considerable attention from educationists and policy
makers since the late 1960s, when computers were introduced into the classroom. The entry
of the computer into the classroom has now offered opportunities and possibilities for
students to develop their potential with computer-aided instruction packages. A
considerable number of fascinating and entertaining educational computer software
packages are now available in almost every subject. These self-tutor instruction packages
are well designed to enable the user to learn at their own time, speed and convenience. The
role of the teacher here is that of a guide so that the student can think more logically and
can gain meaningful experience in such structured situations, role playing and other well
programmed exercises so that the student can have a better understanding of the
interrelationships of variables to real life situations.
Apart from the use of the computer as an instructional aid, it is also used in the execution
of routine and administrative tasks such as the keeping of academic and administrative
records on admissions, examinations, staffing and other routine functions.
The computer has also revolutionised the services rendered by libraries to readers. A
computer based on-line public access catalogue system manages a search for materials
using indices such as author’s name, book title, subject and class mark. Readers using
public terminals can go through a menu-driven programme to find specific books or
periodicals, recall books on loans and also make requisitions for short loan items.
Furthermore, optical character reading devices are used to scan the bar codes on readers’
library cards to offer a computer based issuing of books to readers. A computer based
security system is used to maintain security services in libraries as well. In educational
institutions such as nursery schools, primary schools, secondary schools, polytechnics,
colleges of education and universities, the computer can be used for the following:
• Computer aided self-tutored application packages.
• Computer instructional aids e.g. digital projectors.
• Microsoft PowerPoint application software for preparing slide shows, speeches,
seminars, workshops, lectures etc.
• Computer simulated graded exercises and group work.
• Computer-aided laboratory experiments and investigations.
• Computer-aided software packages for special students e.g. the mentally/physically
disabled (the blind, deaf etc), adults, KGs, teenagers etc.
• Distant learning programmes e.g. sandwich programmes, through the virtual library
technology.
• Teleconferencing technology.
• Placing and sourcing of educational materials/resources e.g. papers, journals, newsletters,
magazines, textbooks, and films, on the Internet.
• Computerisation of library services to make cataloguing indexing, retrieval, borrowing,
return and other library services easier and faster.
• Keeping the records of students, teachers and teaching facilities.
• Estimating the teacher-student ratio with a view to assessing the adequacy of teaching
and learning.
• Estimating the ratio of students to teachers and teachers to teaching facilities with a view
to assessing the adequacy of teaching and learning.
• Timely generation of students’ examination results.
• Automatic generation of lecture and examination time tables.
• Aiding students to learn basic theoretical concepts. There are currently, some computer
aided learning software packages and hardware devices that are readily available in the
market.
CHAPTER ELEVEN
COMPUTER APPLICATIONS IN BUSINESS AND INDUSTRY
In the early days of computing, computers were originally meant to assist in scientific and
engineering applications. Today, computers are widely used to perform wide ranging tasks
from routine accounting operations to management decision making. Corporate operations
are becoming more complex and competitive, thus increasing the need to produce and
process more accurate and timely data both in quantity and quality. More accurate, reliable
and timely data are needed for corporate planning, policy formulation and decision making.

Business and Industry


The following areas of application of computer technology in business will be discussed in
detail:
• Payroll
• Inventory Control
• Auditing Operations
• Personnel Record Keeping
• Preparation of Customer Utility Bills and Payment Orders
• Management Information System
• High Quality Production Controls
• Point of Sale Service
• Financial Market Transactions
• The Publishing Industry.
(i) Payroll
Payroll preparation is essentially a repetitive and routine task which has to be done
periodically for every single employee in an organisation at particular points in time,
whether weekly, fortnightly or monthly.
Payroll preparation is a work schedule which demands speed, accuracy, carefulness and
honesty. It involves making references to a number of source documents which, by their
nature, also require constant and periodic updating.
These attributes obviously lend themselves to the use of computers which have the
capabilities to meet the challenging demands in payroll preparation. These include the
capability of the computer to:
• Handle the enormous amounts of information required in payroll preparation.
• Store information and make the information available as and when it is needed.
• Handle repetitive recurring tasks and check on its own work as a way of controlling
human errors.
• Provide a much better and reliable procedure for necessary security checks to monitor
and detect fraud and other malpractices.
Computer application in payroll preparation involves a number of procedures which
include the following:
• Updating the personal records of employees whenever new
appointments, resignations, terminations, dismissals and other
changes are made within a period of time.
• Computing wages and salaries for each individual worker based on regular and overtime
hours worked.
• Making deductions for income tax and for other payments such as union dues and
repayment of loans.
• Preparation of pay advice slips and cheques to employees and banks.
• Updating the master payroll file based on the records received from the personnel
department.
• Preparation of summary report and analysis for management.

In addition to payroll preparation, the computer is also used for other routine and repetitive
book keeping and accounting operations involving recording, classifying and summarising
accounting data. This may involve preparing and updating ledger and journal accounts,
invoicing, accounts receivable and payable. Other operations may also include
updating and preparing accounts on sales, purchases and inventory. The computer is also
used for the preparation and evaluation of the balance sheet and statements of accounts
and, preparation of dividends and summary accounts for shareholders and management.
(ii) Inventory Control
An equally important business application of the computer is seen in the execution of the
important business function involved in maintaining a desirable level of inventory in a
business organisation. This is to ensure that working capital is not unduly tied in stocks
while at the same time available stocks can meet the demands of continued production
processes. In this direction, the computer is used as a tool in updating records of inventory
and also in the preparation of forecasts and demand predictions based on economic order
quantity analysis and other forecasting techniques.
(iii) Auditing Operations
The computer is used as a tool by auditors to report accurately on the transaction register
which constitutes the most crucial aspect in the audit trail. With the aid of the computer, it
is easier for auditors, in their examination of the accounting records of a business, to trace
routine business operations so that variances can be detected and verified accurately using
various computer audit packages.
(iv) Management Information System
An equally challenging and revolutionary application of the computer in business is the
important role the computer-based Management Information System (MIS) is playing in
management decision making. The computer is used as a tool for the online storage,
retrieval, processing and maintenance of corporate data meant to be shared by all the users’
departments.
A Management Information System involves a computerised system of data processing
procedures which are integrated in an organisation to provide accurate, complete, concise,
timely and effective data which management can use at various levels of decision making
for planning, organising, directing, controlling and monitoring procedures. Included in
Management Information System to be used for the various decision making procedures
are a number of systems comprising:
• Controlling and operational planning support systems to deal with day-to-day decisions
involving routine processing and transaction procedures.
• Tactical support systems to deal with short-run and middle level management decisions.
• Strategic support systems to deal with corporate strategic and top level management
decisions.
With the aid of these support systems, data can be retrieved and analysed on a continuous
and timely basis to aid management decision making and other management functions
about sales, finances, purchases, acquisition of plant and equipment, research, market
analysis and so on.

(v) Personnel Record Keeping


One of the important functions of the personnel department is to maintain and continually
update a master file and other records in the personnel department in an organisation. The
computer facilitates the effective keeping of a comprehensive and up-to-date record of each
employee by providing a comprehensive database involving names, addresses, ages,
qualifications, marital status, salaries, dates of promotion and so on.
By keeping such an up-to-date record, a steady flow of various reports can be prepared at
the appropriate time to provide the necessary data to aid management decision making in
areas such as appointments, promotions, awards of incremental credits, leave periods, staff
training, staff development and so on. Furthermore, management can provide the necessary
accurate and up-to-date reports on a timely and continual basis to facilitate payroll
preparation and also to satisfy other mandatory data requirements from data users such as
governments, trade unions, banks, credit unions and tax collectors.

(vi) Preparation of Customers’ Utility Bills


The routine and periodic preparation of customers utility bills, particularly those based on
meter readings for such utility services as water, electricity, telephone and gas, demands
accuracy and speed in which the computer has proved very effective and efficient. With
the aid of the computer, accurate and up-to-date customer’s bills can be sent to them
periodically and in good time to enable settlement to be made. Computers can be used to
generate notices of defaulters. Equally important is the use of the computer to calculate
dividend, pension and other periodic payments as and when they become due.

(vii) High Quality Production Controls


Another important application of the computer which has proved very beneficial in the
world of business is the monitoring of production processes so that high quality products
and services are provided to customers. Computer Aided Design (CAD) devices are used
in the design of products while computer monitored quality control procedures are used in
the production process to detect items that fail to meet the approved quality standards and
specifications. Such automated devices are used in car assembly plants, oil refineries,
manufacturing of drugs and so on. Computer aided quality control devices are also used to
monitor weight, size, quantity, contents and other standard specifications in the course of
a manufacturing process.
(viii) Point of Sale Services
Check-out points in supermarkets and departmental stores are now highly computerised to
detect the prices of items. Magnetic Character Readers are used to scan Universal Product
Codes on items to provide fast, efficient and satisfactory services to customers in
commercial transactions in retail outlets, departmental stores, libraries and other point of
sale services.
(ix) Financial Market Transactions
Computer application in the financial market is manifested in its use to monitor financial
market operations and to disseminate timely and up to-date information which are
announced daily on the radio, television or consumers’ magazines. Stock exchange centres
are highly computerised to provide accurate and up-to-date prices of stocks and shares, and
also to execute the buying and selling transactions that take place in the markets. The
computer has long been used to assess, evaluate and monitor stock market prices. With the
aid of the computer, market trends are predicted with accuracy and investors are provided
with appropriate and up-to-date data to enable them to make intelligent decisions, and also
to guide them to manage their portfolios effectively.
Furthermore, the computer is used to calculate the foreign exchange rates of major
currencies as well as the prices of major commodities such as gold, crude oil, cocoa, coffee,
and other commodities that enter into international trade. The computer is also used to
provide accurate and up-to-date information on interest rates, gilts and bonds to reflect
market trends. Computer application in business is further seen in its use in discounting
bills and bonds and other financial market instruments to their present values. Closely
related to this is the use of the computer to carefully monitor the movement of a basket of
goods and services which measures the rate of inflation in an economy, and which further
provides a barometer of the standard of living in a country.
Most banking operations are now highly computerised as a move to provide fast, effective
and efficient services to customers. These include the use of Magnetic Ink Character
Readers to process cheques and the provision of Magnetic Credit Cards to customers to
have access to funds twenty-four hours a day at unattended automatic teller machines.
Customers also use their credit cards to open doors to some banking houses to transact
business. There are also Electronic Funds Transfer terminals to perform automatic financial
transactions at check out counters in hotels, stores, airlines, railways and other terminals.

In the banking industry, the computer can also be used to:


• Keep the records of customers or clients’ accounts.
• Monitor, control and evaluate the transactions of the customers and clients on their
accounts.
• Reconcile accounts and assist in producing cashbook balances.
• Monitor, control and evaluate the bank or insurance company’s revenue and expenditure.
• Automate the production of statements of account and assist in generating correct
addresses to which the statements of account should be sent.
x) The Publishing industry
In the publishing industry, the computer is used in the following ways:
• Creative writing.
• Typesetting manuscripts.
• Drawing illustrations.
• Generating the table of contents and the index of a book automatically.
• Generating the page size of a book and cut and paste illustrations automatically.
• Processing images such as the scanning of pictures, and recording them automatically in
the computer store for future retrieval or printing.
• Verification and validation of spellings.
• Assisting the writer of an article to identify words that have similar meaning.

CHAPTER TWELVE
COMPUTER APPLICATIONS IN GOVERNMENT, SCIENCE,
ENGINEERING, TRANSPORT, COMMUNICATIONS, RECREATION
AND THE MILITARY
Computers are commonly used to find accurate solutions to both scientific and engineering
problems. Weather forecasting has now become a daily activity to which the computer has
proved very useful in providing information on the kind of weather we are likely to expect
over a period of time. Such accurate predictions help the farmers, airline operators,
navigators and other activities which depend on the weather for their operations. Computer
aided critical path study is used to monitor the optimum and efficient use of time, money,
material and human resources in the execution and implementation of projects. Such
critical path study is used successfully in various projects, for example, the construction of
roads, bridges, buildings, manufacturing, the conduct of elections and sales campaigns.
Another scientific application of in computer is the monitoring and simulation modelling
techniques, to provide indicators as to how systems such as the human body, economy,
weather, demographic variables and so on react to changes in situations. The application
of simulation techniques helps in taking decisions and precautions in advance, in case there
are repercussions help when the desired changes are introduced in practical situations.
Computers also help to design buildings, roads, bridges, vehicles, aeroplanes, ships and
complex architectural, works computer. Prototyping is increasingly being used in the
construction of systems to minimise the financial losses in real life situations.
The computer is also used to find solutions to very complex mathematical and statistical
computations at incredible speeds and accuracy. Furthermore, various software packages
are now increasingly being developed to analyse surveyed data, construct live tables,
perform mortality demographic and other multivariate data analysis designed to
revolutionise scientific research and to find practical solutions to complex, challenging and
everyday life situations. We now outline the use of the computer in the following specific
areas, among others.

(i) Research Institutions


a) Evaluating, monitoring and controlling laboratory experiments.
b) Storing the readings obtained in laboratory experiments.
c) Standardising the readings obtained in laboratory experiments.
d) Tabulating or plotting the graph of the results obtained from laboratory experiments.
e) Interpreting the results obtained from laboratory experiments.
f) Modelling and simulating systems.
g) Developing the prototypes of systems.

(ii) Engineering and Architecture


a) Designing and drawing with very high precision, accuracy and at minimum cost.
b) Modelling and simulating the behaviour of engineering or architectural systems.
c) Developing the prototype of, say, an aircraft, a motor car, assembly plant and so on. It
is possible to test and monitor the performance of these systems without serious financial
commitments.
d) Fabricating, constructing and assembling the component parts of machines such as
motor cars, aircraft and engineering plants without any hazards.

1 Marketing Departments
(a) Comparative analysis of products of two or more companies with a view to predicting
some areas of improvement.
(b) Market survey, statistical analysis of proportional market gains and prediction of new
market areas.
(c) Creation of consumer awareness and appreciation of products.

3.3 Agriculture
(a) Keeping records of soil, rainfall, weather conditions, land size, crops, and chemicals
and ultimately processing the records to estimate soil fertility and yield per hectare over a
number of years.
(b) Keeping records, of poultry and animal husbandry farm with a view to estimating the
feed mix and environmental conditions desirable for optimal yield.
(c) Assessing the behaviour patterns of farmers in a cooperative venture, and assisting in
matching the farmers that have identical behaviour with a view to optimizing their
productivity.

3.4 Law and Justice


(a) Modelling and simulating legislative procedures.
(b) Indexing, storage and retrieval of law reports.
(c) Indexing, storage and retrieval of court proceedings.
(d) Assisting the human experts in crime investigation.
(e) Statistical analysis of criminal and civil cases in the law court and estimating the rate
of growth.
(f) Assisting the court registrar in the allocation of cases to courts.
(g) Monitoring and evaluating congestion in police custody and prisons.
(h) Identifying the causes of crime and assisting with the provision of preventive and
curative measures.

3.5 Health Care


The delivery of health care facilities has been one of the notable areas in which computer
applications have proved most beneficial to mankind. The computer is used to conduct fast
and accurate laboratory tests for blood, urine, stool and so on. The computer is used in the
diagnosis and physiological monitoring of patients’ life during surgical operation and
intensive care programmes. There is also a wide range of application packages for the
scientific preparation and administration of drugs, x-ray techniques, blood bank
management and so on. An equally important application of the computer is the computer
simulation provided in the training of medical and paramedical staff and students.
Computers are being used to perform routine clerical functions in hospitals such as keeping
records of hospital admission and discharges, administration of drugs and prescriptions and
other hospital administrative functions. Furthermore, the computer is used to provide a data
bank of medical history to meet the data needs of health insurance schemes and vital health
care statistical reports.
The summary that can be drawn about the use of computers in hospitals is as follows:
(a) Keeping and reviewing in a timely, effective and efficient manner the records of
patients, staff, drugs and equipment.
(b) Monitoring the temperature, blood pressure, heartbeat and a host of other parameters
of patients, and raising the alarm when an abnormal situation is about to occur.
(c) Assisting medical practitioners in the diagnosis of patients’ diseases.
(d) Assisting medical practitioners in the prescription of drugs to patients, and ultimately
the treatment of patients.
(e) Assisting medical practioners in the monitoring, controlling and reviewing of basic
health services, birth rate, death rate, and outbreak of disease and a host of others.

Transport and Communication


The most dramatic computer application is witnessed in the transport and communications
sectors, with increased sophistication geared towards making life easier and safer for
mankind. Today, mankind world-wide is linked by computer controlled orbiting
communications satellites. Telecommunications and computing are today electronically
linked together. As a result, information can now be transmitted around the globe on the
radio, television, telex, facsimile and so on through microwave communication satellites.
Man’s advancement in information technology has led to the development of the popular
computer controlled electronic mail service which provides a more effective and efficient
method of disseminating information to users in a computer network environment. The
electronic mail service now provides faster, more convenient and cheaper electronic flow
of information than telephone, fax and telex transmission.
Computer application in communications has led to the use of computer terminals at home.
This development enables viewers to read electronic newspapers on television while the
teletext provides computerized information to viewers on events around the globe in the
field of politics, business, transport, sports, airlines, hotel reservations and many others.
The Cable News Network (CNN) is a practical example.
Computer application is now felt in traffic control and vehicle maintenance. Traffic
congestion in cities is monitored by computer-controlled traffic switching system which
controls traffic flows.
Computer aided input devices in the form of railcards or tickets are used to operate
automatic gates in underground railway lines. When a ticket coated with magnetic stripes
is slotted downwards into a device, the gate automatically opens for you to enter while you
take your ticket. The device will return your ticket if it is valid for another journey; if not,
it will keep the ticket and allow you to go. A passenger with an invalid ticket is given a red
message and there is no way he or she can enter through the gate.
In the delivery of postal services, the computer is used to sort letters according to post
codes. In the field of aeronautics, computer simulations are used to train pilots while air
traffic movements are monitored by computer-controlled radars. The scheduling of trains,
subways, in real-time is also aided by sophisticated computer systems. Another important
computer application is the introduction of computer devices to improve personal safety
on aircraft and motor vehicles, and also to detect engine faults and help in the maintenance
of aircraft and motor vehicles.

Government
The business of governance is serious business. In a multi-cultural, multilingual, multi-
ethnic, setting such as Nigeria, a lot of complex and often conflicting variables interplay or
are taken into consideration before a broad-based decision can be taken. Computers can
assist government business in the following ways:
(a) Planning
(b) Decision marking
(c) Policy formulation
(d) Monitoring and control of operations
The availability of data, timely access to the data and timely reporting on the data are very
crucial to the above listed business of government.
Computers can be used to:
(a) Keep accurate records of government assets and periodically estimate the market value
and insurance value.
(b) Keep accurate records of the population, behaviour patterns, and consumption patterns
of utilities, and estimate the distribution of basic needs such as electricity, water, telephone
and postal services.
(c) Keep records of government revenue and expenditure and assist government in
monitoring, controlling and evaluating the revenue and expenditure.
(d) Keep records of government employees with a view to:
(i) Preventing ghost workers
(ii) Estimating the strength of the human resources of government
(iii) Producing statistical data on employees
(e) Issue identity cards to the citizens.
(f) Compile a broad-based and accurate voters register. This will check the incidence of
ghost voting, multiple voting and other electoral malpractices, which have be devilled the
electoral processes and stable polity in third world countries.
(g) Keep track of crime in society, thereby helping government security agencies to check
crime.
(h) Maintain the database of the mineral resources and other resources of the nation.

The Military
One of the areas in which the computer has been applied intensively and extensively is the
military. The first generation of the modern computers were designed and used during the
First and Second World Wars. The use of computers for processing data became more
popular during these periods due to the need to procure, store and process large volumes
of data. Over the years, the use of computers has transcended the traditional role of
“crunching numbers” to sophisticated applications.
Specifically, computers are being used in the following ways, in military operations:
• Training the personnel through the use of simulated war situations.
• Reconnaissance surveys.
• Automatic detection of mines.
• Monitoring and tracking of planes with a view to bringing down any unauthorised plane
flying in the nation’s airspace.
• Monitoring operations in the military base.
• Launching of missiles from distant military bases to the enemy
territory. Such missiles are programmed to ensure that only the desired targets are hit.
• Manufacture of state-of-the-art military hardware and consumables.
• Communication and transmission of highly coded classified military information.
• Military games, adventures and expeditions.
• Keeping records of military personnel and logistics.
• Keeping records of military assets – hardware
• Management of military stock with a view to maintaining warready stock of materials,
ammunition and assets at any point in time.
• Monitoring the environmental and storage conditions of lethar weapons in order to
prevent accidents, like sudden explosions caused by improper storage.
• Generation and maintenance of necessary data that would enhance planning, policy
formulation, decision making and forecast.

Recreation, Amusement and Gaming


One of the major areas in which the computer has affected society positively is in the area
of recreation, amusement and gaming. “Allwork and no play makes Jack a dull boy”. With
increasing civilisation and urbanisation, there is the need for people to relax and keep their
mind off the tension that is associated with daily activities. Computer games help you to
learn in private (even in the comfort of your own room or office), keep you off the streets
and arcades, reduce tension and boredom, engage your mind with constructive things, and
teach you new skills. There are different kinds of games examples of which are adventure
games, business games, war games, traditional games, and simulation games.

CHAPTER THIRTEEN
COMPUTER VIRUS

One of the biggest fears of having computers is viruses. Viruses are malicious programs
designed entirely for destruction and havoc. Viruses are created by people who either know
a lot about programming or know a lot about computers.
Computer virus is one of the greatest threats to computers and computer applications.
Once the virus is made, it is generally distributed through shareware, pirated software, e-
mail or other various ways of transporting data. Once the virus infects someone's computer
it will either start infecting other data, destroying data, overwriting data, or corrupting
software. The reason these programs are called viruses is that they spread like human
viruses. Once your PC has become infected, either by downloading something from the
Internet or sharing software, any disks or writeable media that you place into the computer
will then be infected. When that disk is put into another computer, the computer is also
infected. And if the user puts files on the Internet, and hundreds of people download those
files, they will all be infected, and the process will continue infecting thousands if not
millions of computers.

Mode of Transmission of Computer Virus


The majority of viruses are contracted through floppy disk information being brought from
one source and then put into your computer. Viruses can infect disks, and when such disks
are put into your computer, your computer will become infected with the viruses. A recent
survey done in 1997 by NCSA given to PC users showed that 80% of PCs contracted
viruses by floppy diskettes. The same survey showed that the other 20% of PCs contracted
viruses by e-mail attachments and over the Internet. This means that the users received e-
mails with attached files and opened the files, or downloaded files over the Internet.

Virus Properties
Your computer can be infected even if files are just copied: Because some viruses are
memory resident, as soon as a diskette or program is loaded into memory, the virus attaches
itself into memory.
Viruses can be polymorphic: Some viruses have the capability of modifying their code,
which means one virus could have various amounts of similar variants.
Viruses can be memory/Non memory resident: Depending on the type, a virus can be a
memory resident virus type, which first attaches itself into memory and then infects the
computer. The virus can also be Non memory resident, which means a program must be
run in order to infect the computer.
A virus can be a stealth virus: Stealth viruses first attach themselves to files on the
computer, and then attack the computer. This causes the virus to spread more rapidly.
Viruses can carry other viruses and infect a system, and infect with the other viruses
as well: Because viruses are generally written by different individuals and do not infect the
same locations of memory and or files, this could mean that multiple viruses can be stored
in one file, diskette or computer.
Viruses can make the system never show outward signs: Some viruses will hide changes
made, such as when infecting a file, the file will stay the same size.
Viruses can stay on the computer even if the computer is formatted:
Viruses have the capability of infecting different portions of the computer such as the
CMOS battery or master.
How Viruses May Infect Files
Viruses can infect any files, however they usually attack .com, .exe, .sys, .bin, .pif or any
data files. Viruses have the capability of infecting any file. However they will generally
infect executable files or data files such as Word or Excel documents which are opened
frequently.
Viruses can increase the file’s size; however this can be hidden:
When infecting files, viruses will generally increase the size of the file. However with more
sophisticated viruses, these changes can be hidden.
Viruses can delete files as the files are run: Because most files are loaded into memory
and then run once the program is in memory, the virus can delete the file.
Viruses can corrupt files randomly: Some destructive viruses are not designed to destroy
random data but instead randomly delete or corrupt files.
Viruses can cause write protect errors when executing .exe files from a write
protected disk: Viruses may need to write themselves to files which are executed. Because
of this, if a diskette is write protected, you may receive a write protection error.
Viruses can convert .exe files to .com files: Viruses may use a separate file to run the
program and rename the original file to another extension, so the .exe is run before the
.com.
Viruses can reboot the computer when a file is run: Various computers may be designed
to reboot the computer when run.

What Viruses May Do


The following are possibilities you may experience when you are infected with a virus.
Remember that you also may be experiencing any of the following problems and not have
a virus. Once the hard drive is infected, any disk that is non-write protected that is accessed
can be infected.
A virus may:
• Deleted files.
• Insert various messages in files or on programs
• Changes volume label
• Mark clusters as bad in the FAT.
• Randomly overwrite sectors on the hard disk
• Replace the MBR with own code
• Create more than one partition
• Attempt to access the hard disk drive which can result in error messages such as invalid
drive specification.
• Cause cross linked files
• Cause a “sector not found” error
• Cause the system to run slowly
• Create logical partitions created. Partitions decrease in size
• Display directory as garbage
• Modify order, so files such as Com will start at the beginning of the directory
• Cause hardware problems such as keyboard keys not working, printer problems and
modem problems
• Disable ports such as LPT or COM ports
• Cause keyboard to be remapped
• Alter the system time/date
• Cause the system to hang or freeze randomly
• Cause activity on HDD or FDD randomly
• Increase file size
• Increase or decrease memory size
• Randomly change file or memory size
• Extend boot times
• Increase disk access times
• Cause the computer to make strange noises, make music, clicking
noises or beeps
• Display pictures
• Cause different types of error messages

Detecting Viruses
The most commonly used method of protecting against and detecting viruses is to purchase
a third party application designed to scan for all types of viruses. Alternatively, a user can
look at various aspects of the computer and detect possible signs indicating a virus is on
the computer. While this method can be used to determine some viruses, it cannot clean or
determine the exact virus you may or may not have.

REFERENCES
Akinyokun, O.C. (1999). Principles and Practice of Computing Technology. Ibadan:
International Publishers Limited.
Balogun, V.F., Daramola, O.A. Obe, O.O. Ojokoh, B.A., and Oluwadare S.A. (2006).
Introduction to Computing: A Practical Approach. Akure: Tom- Ray Publications.
SPRING-UP COLLEGE OF HEALTH AND
TECHNOLOGY, ONDO CITY, ONDO
STATE.
GENERAL STUDIES

COURSE TITLE: INTRODUCTION TO


COMPUTER SCIENCE

COURSE CODE: COM 101

LECTURER IN CHARGE:
PRINCE SAMUEL A GBADEHAN

INTRODUCTION TO COMPUTER
Course Writer: Mr. Oluwatosin A. Godwin CPhT, RDN.
(Deputy Provost Academic)
Spring-Up College of Health Science and Technology,
Ondo City, Ondo State.
URL: [Link]
Printed: 2023

INTRODUCTION
The computer is fast becoming the universal machine of the twenty-first century. Early
computers were large in size and too expensive to be owned by individuals. Thus they were
confined to the laboratories and few research institutes. They could only be programmed
by computer engineers. The basic applications were confined to undertaking complex
calculations in science and engineering. Today, the computer is no longer confined to the
laboratory. Computers, and indeed, computing have become embedded in almost every
item we use. Computing is fast becoming ubiquitous. Its application transcends science,
engineering, communication, space science, aviation, financial institutions, social sciences,
humanities, the military, transportation, manufacturing, the extractive industries to mention
but a few.
Also, early computers were designed to accept numeric data, but over the years computers
have been developed to accept not only numeric data, but we also able to process
multimedia data – text, audio and video. The combination of computer technology and
communications technology gave birth to what is now widely known as Information and
Communication Technologies (ICT). ICT has changed the face of virtually all fields of
human endeavour, ranging from science to engineering, commerce and industry,
international trade, transportation, culture and tourism, education and research, among
others. Nowadays, literacy is not only measured by the ability to read and write, but also
includes computer literacy. The wave of globlisation which has been largely propelled by
the collapse of barriers of distance between nations and peoples in the world as a result of
ICT, makes it imperative for the modern man to have at least the basic knowledge of
computers. This course is meant to introduce students to the historical evolution of
computers, the basic components of computers, and some of its applications in society.

COURSE AIMS
The aim of this course is to provide students with the basic understanding of the computer
and its applications in everyday life.

COURSE OBJECTIVES
The specific objectives of this course are to:
• Provide basic understanding of the historical evolution of the computer, types of
computers and the classification of computers.
• Enable the students to understand the components of the computer – the hardware and
software.
• Help students to identify the different categories of computer software and their uses.
• Introduce students to computer programming with emphasis on the building blocks and
stages of programming and writing of computer programs using visual basic.
• Enable students to identify and appreciate the areas of application of computers in
society, thereby stimulating their thought to regard the computer as a tool for human use
rather than a master.
• Create awareness at the early stage of the study of computers about the potential threats
that computer viruses pose to the smooth operations of computers.
COURSE CONTENTS
Chapter 1 Basic Concepts
Chapter 2 Historical Overview of the Computer
Chapter 3 Classification of Computers
Chapter 4 Hardware Components (1)
Chapter 5 Auxiliary Equipment
Chapter 6 Computer Software
Chapter 7 Application of Computers in Education
Chapter 8 Application of Computers in Business and Industry
Chapter 9 Application of Computers in Government, Military, etc
Chapter 10 Computer Virus

CHAPTER ONE
BASIC CONCEPTS
The computer is fast becoming the universal machine of the 21st century. Early computers
were large in size and too expensive to be owned by individuals. Thus they were confined
to the laboratories and few research institutes. They could only be programmed by
computer engineers. The basic applications were confined to undertaking complex
calculations in science and engineering. Today, the computer is no longer confined to the
laboratory. Computers and, indeed, computing have become embedded in almost every
item we use. Computing is fast becoming ubiquitous. Its application transcends science,
engineering, communication, space science, aviation, financial institutions, social sciences,
humanities, the military, transportation, manufacturing, and extractive industries to
mention but a few. This unit presents the background information about computers.

Definitions
Computer: A computer is basically defined as a tool or machine used for processing data
to give required information. It is capable of:
• taking input data through the keyboard (input unit),
• storing the input data in a diskette, hard disk or other medium,
• processing it in the central processing unit (CPU) and
• giving out the result (output) on the screen or the Visual Display Unit (VDU).

Fig. 1: A schematic diagram to define a computer

Data: The term data refers to facts about a person, object or place, e.g. name, age,
complexion, school, class, height etc.
Information: This is referred to as processed data or a meaningful statement, e.g. net pay
of workers, examination results of students, list of successful candidates in an examination
or interview etc.

Methods of Data Processing


The following are the three major methods that have been widely used for data processing
over the years:
• The Manual method,
• The Mechanical method and
• The Computer method.

The Manual Method


The manual method of data processing involves the use of chalk, wall, pen, pencil and the
like. These devices, machines or tools facilitate human efforts in recording, classifying,
manipulating, sorting and presenting data or information. The manual data processing
operations entail considerable manual efforts. Thus, the manual method is cumbersome,
tiresome, boring, frustrating and time consuming.
Furthermore, the processing of data by the manual method is likely to be affected by human
errors. When there are errors, then the reliability, accuracy, neatness, tidiness, and validity
of the data would be in doubt. The manual method does not allow for the processing of
large volumes of data on a regular and timely basis.
The Mechanical Method
The mechanical method of data processing involves the use of machines such as the
typewriter, roneo machines, adding machines and the like. These machines facilitate
human efforts in recording, classifying, manipulating, sorting and presenting data or
information. The mechanical operations are basically routine in nature. There is virtually
no creative thinking. Mechanical operations are noisy, hazardous, error prone and untidy.
The mechanical method does not allow for the processing of large volumes of data
continuously and timely.

The Computer Method


The computer method of carrying out data processing has the following major features:
• Data can be steadily and continuously processed
• The operations are practically not noisy
• There is a store where data and instructions can be stored temporarily and permanent.
• Errors can be easily and neatly corrected.
• Output reports are usually very neat, decent and can be produced in various forms such
as adding graphs, diagrams and pictures etc.
• Accuracy and reliability are highly enhanced
• Below are further attributes of a computer which make an indispensable tool for humans.

Characteristics of a Computer
• Speed: The computer can manipulate large data at incredible speed and response time
can be very fast.
• Accuracy: Its accuracy is very high and its consistency can be relied upon. Errors
committed in computing are mostly due to human rather than technological weakness.
There are in-built error detecting schemes in the computer.
• Storage: It has both internal and external storage facilities for holding data and
instructions. This capacity varies from one machine to the other. Memories are built up in
K (Kilo) modules where K=1024 memory locations.
• Automatic: Once a program is in the computer’s memory, it can run automatically each
time it is opened. The individual has little or no instruction to give again.
• Reliability: Being a machine, a computer does not suffer human traits of tiredness and
lack of concentration. It will perform the last job with the same speed and accuracy as the
first job every time even if ten million jobs are involved.
• Flexibility: It can perform any type of task once it can be reduced to logical steps.
Modern computers can be used to perform a variety of functions like on-line processing,
multiprogramming, real time processing etc.

The Computing System


The computing system is made up of the computer system, the user and the environment
in which the computer is operated.
The Computer System
The computer system is made up of the hardware and the software.
The Hardware
The computer hardware comprises the input unit, the processing unit and the output unit.
The input unit comprises those media through which data is fed into the computer.
Examples include the keyboard, mouse, joystick, trackball and scanner.
The processing unit is made up of the Arithmetic and Logic Unit (ALU), the control unit
and the main memory. The main memory also known as the primary memory is made up
of the Read Only Memory (ROM) and the Random Access Memory (RAM).
The output unit is made up of those media through which data, instructions for processing
the data (program), and the result of the processing operation are displayed for the user to
see. Examples of the output unit are the monitor (Visual Display Unit) and the printer.

Software
Computer software is the series of instructions that enable the computer to perform a task
or group of tasks. A program is made up of a group of instructions to perform a task. Series
of programs linked together make up software. Computer programs could be categorised
into system software, utility software, and application programs.

Computer Users
Computer users are the different categories of personnel that operate the computer. We
have expert users and casual users. The expert users could be further categorised into
computer engineers, computer programmers and computer operators.

The Computing Environment


The computing environment includes the building housing the other elements of the
computing system namely the computer and the users, the furniture, auxiliary devices such
as the voltage stabiliser, the Uninterruptible Power Supply System (UPS), the fans, the air
conditioners etc. The schematic diagram of the computing system is presented.

A Schematic diagram of the computing system


CHAPTER TWO
A HISTORICAL OVERVIEW OF THE COMPUTER

INTRODUCTION
The computer as we know it today has evolved over the ages. An attempt is made in this
unit to present in chronological order the various landmarks and milestones in the
development of the computer. Based on the milestone achievement of each era, the
computer evolution is categorised into generations. The generational classification,
however, is not rigid as we may find one generation eating into the next.

A Brief History of Computer Technology


A complete history of computing would include a multitude of diverse devices such as the
ancient Chinese abacus, the Jacquard loom (1805) and Charles Babbage’s “analytical
engine” (1834). It would also include a discussion of mechanical, analog and digital
computing architectures. As late as the 1960s, mechanical devices, such as the Marchant
calculator, still found widespread application in science and engineering. During the early
days of electronic computing devices, there was much discussion about the relative merits
of analog vs. digital computers. In fact, as late as the 1960s, analog computers were
routinely used to solve systems of finite difference equations arising in oil reservoir
modeling. In the end, digital computing devices proved to have the power, economics and
scalability necessary to deal with large scale computations. Digital computers now
dominate the computing world in all areas ranging from the hand calculator to the
supercomputer and are pervasive throughout society. Therefore, this brief sketch of the
development of scientific computing is limited to the area of digital, electronic computers.
The evolution of digital computing is often divided into generations. Each generation is
characterised by dramatic improvements over the previous generation in the technology
used to build computers, the internal organisation of computer systems, and programming
languages.
Although not usually associated with computer generations, there has been a steady
improvement in algorithms, including algorithms used in computational science. The
following history has been organised using these widely recognized generations as
mileposts.

2 First Generation Electronic Computers (1937 – 1953)


Three machines have been promoted at various times as the first electronic computers.
These machines used electronic switches, in the form of vacuum tubes, instead of
electromechanical relays. In principle the electronic switches were more reliable, since they
would have no moving parts that would wear out, but technology was still new at that time
and the tubes were comparable to relays in reliability. Electronic components had one
major benefit, however: they could “open” and “close” about 1,000 times faster than
mechanical switches.
The earliest attempt to build an electronic computer was by J. V. Atanasoff, a professor of
physics and mathematics at Iowa State, in 1937. Atanasoff set out to build a machine that
would help his graduate students solve systems of partial differential equations. By 1941,
he and graduate student Clifford Berry had succeeded in building a machine that could
solve 29 simultaneous equations with 29 unknowns.
However, the machine was not programmable, and was more of an electronic calculator.
A second early electronic machine was Colossus, designed by Alan Turning for the British
military in 1943. This machine played an important role in breaking codes used by the
German army in World War II. Turning’s main contribution to the field of computer
science was the idea of the Turning Machine, a mathematical formalism widely used in the
study of computable functions. The existence of Colossus was kept secret until long after
the war ended, and the credit due to Turning and his colleagues for designing one of the
first working electronic computers was slow in coming.
The first general purposes programmable electronic computer was the Electronic
Numerical Integrator and Computer (ENIAC), built by J. Presper Eckert and John V.
Mauchly at the University of Pennysylvania. Work began in 1943, funded by the Army
Ordinance Department, which needed a way to compute ballistics during World War II.
The machine wasn’t completed until 1945, but then it was used extensively for calculations
during the design of the hydrogen bomb. By the time it was decommissioned in 1955 it had
been used for research on the design of wind tunnels, random number generators, and
weather prediction.
Eckert, Mauchly, and John Von Neumann, a consultant to the ENIAC project, began work
on a new machine before ENIAC was finished. The main contribution of EDVAC, their
new project, was the notion of a stored program.
There is some controversy over who deserves the credit for this idea, but no one knows
how important the idea was to the future of general purpose computers. ENIAC was
controlled by a set of external switches and dials; to change the program required
physically altering the settings on these controls. These controls also limited the speed of
the internal electronic operations. Through the use of a memory that was large enough to
hold both instructions and data, and using the program stored in memory to control the
order of arithmetic operations, EDVAC was able to run orders of magnitude faster than
ENIAC. By storing instructions in the same medium as data, designers could concentrate
on improving the internal structure of the machine without worrying about
matching it to the speed of an external control.
Regardless of who deserves the credit for the stored program idea, the EDVAC project is
significant as an example of the power of interdisciplinary projects that characterise
modern computational science. By recognising that functions, in the form of a sequence of
instructions for a computer, can be encoded as numbers, the EDVAC group knew the
instructions could be stored in the computer’s memory along with numerical data. The
notion of using numbers to represent functions was a key step used by Goedel in his
incompleteness theorem in 1937, work which Von Neumann, as a logician, was quite
familiar with. Von Neumann’s background in logic, combined with Eckert and Mauchly’s
electrical engineering skills, formed a very powerful interdisciplinary team.
Software technology during this period was very primitive. The first programs were written
out in machine code, i.e. programmers directly wrote down the numbers that corresponded
to the instructions they wanted to store in memory. By the 1950s programmers were using
a symbolic notation, known as assembly language, then hand-translating the symbolic
notation into machine code. Later programs known as assemblers performed the translation
task.
As primitive as they were, these first electronic machines were quite useful in applied
science and engineering. Atanasoff estimated that it would take eight hours to solve a set
of equations with eight unknowns using a Marchant calculator, and 381 hours to solve 29
equations for 29 unknowns. The Atanasoff-Berry computer was able to complete the task
in under an hour. The first problem run on the ENIAC, a numerical simulation used in the
design of the hydrogen bomb, required 20 seconds, as opposed to forty hours using
mechanical calculators. Eckert and Mauchly later developed what was arguably the first
commercially successful computer, the UNIVAC; in 1952, 45 minutes after the polls
closed and with 7% of the vote counted, UNIVAC predicted Eisenhower would defeat
Stevenson with 438 electoral votes (he ended up with 442).

3 Second Generation (1954 – 1962)


The second generation saw several important developments at all levels of computer
system design, from the technology used to build the basic circuits to the programming
languages used to write scientific applications.
Electronic switches in this era were based on discrete diode and transistor technology with
a switching time of approximately 0.3 microseconds. The first machines to be built with
this technology include TRADIC at Bell Laboratories in 1954 and TX-0 at MIT’s Lincoln
Laboratory. Memory technology was based on magnetic cores which could be accessed in
random order, as opposed to mercury delay lines, in which data was stored as an acoustic
wave that passed sequentially through the medium and could be accessed only when the
data moved by the I/O interface.
Important innovations in computer architecture included index registers for controlling
loops and floating point units for calculations based on real numbers. Prior to this accessing
successive elements in an array was quite tedious and often involved writing self-
modifying codes (programs which modified themselves as they ran; at the time viewed as
a powerful application of the principle that programs and data were fundamentally the
same, this practice is now frowned upon as extremely hard to debug and is impossible in
most high level languages). Floating point operations were performed by libraries of
software routines in early computers, but were done in hardware in second generation
machines.
During this second generation many high level programming languages were introduced,
including FORTRAN (1956), ALGOL (1958), and COBOL (1959). Important commercial
machines of this era include the IBM 704 and 7094. The latter introduced I/O processors
for better throughput between I/O devices and main memory.
The second generation also saw the first two supercomputers designed specifically for
numeric processing in scientific applications. The term “supercomputer” is generally
reserved for a machine that is an order of magnitude more powerful than other machines
of its era. Two machines of the 1950s deserve this title. The Livermore Atomic Research
Computer (LARC) and the IBM 7030 (aka Stretch) were early examples of machines that
overlapped memory operations with processor operations and had primitive forms of
parallel processing.

4 Third Generation (1963 – 1972)


The third generation brought huge gains in computational power. Innovations in this era
include the use of integrated circuits, or ICs (semiconductor devices with several transistors
built into one physical component), semiconductor memories starting to be used instead of
magnetic cores, microprogramming as a technique for efficiently designing complex
processors, the coming of age of pipelining and other forms of parallel processing, and the
introduction of operating systems and time-sharing.
The first ICs were based on small-scale integration (SSI) circuits, which had around 10
devices per circuit (or “chip”), and evolved to the use of medium-scale integrated (MSI)
circuits, which had up to 100 devices per chip. Multilayered printed circuits were
developed and core memory was replaced by faster, solid state memories. Computer
designers began to take advantage of parallelism by using multiple functional units,
overlapping CPU and I/O operations, and pipelining (internal parallelism) in both the
instruction stream and the data stream. In 1964, Seymour Cray developed the CDC 6600,
which was the first architecture to use functional parallelism. By using 10 separate
functional units that could operate simultaneously and 32 independent memory banks, the
CDC 6600 was able to attain a computation rate of 1 million floating point operations per
second (1 Mflops). Five years later CDC released the 7600, also developed by Seymour
Cray. The CDC 7600, with its pipelined functional units, is considered to be the first vector
processor and was capable of executing at 10 Mflops. The IBM 360/91, released during
the same period, was roughly twice as fast as the CDC 6600. It employed instruction look
ahead, separate floating point and integer functional units and pipelined instruction stream.
The IBM 360-195 was comparable to the CDC 7600, deriving much of its performance
from a very fast cache memory. The SOLOMON computer, developed by Westinghouse
Corporation, and the ILLIAC IV, jointly developed by Burroughs, the Department of
Defence and the University of Illinois, was representative of the first parallel computers.
The Texas Instrument Advanced Scientific Computer (TI-ASC) and the STAR-100 of
CDC were pipelined vector processors that demonstrated the viability of that design and
set the standards for subsequent vector processors.
Early in this third generation, Cambridge and the University of London cooperated in the
development of CPL (Combined Programming Language, 1963). CPL was, according to
its authors, an attempt to capture only the important features of the complicated and
sophisticated ALGOL. However, the ALGOL CPL was large with many features that were
hard to learn. In an attempt at further simplification, Martin Richards of Cambridge
developed a subset of CPL called BCPL (Basic Computer Programming Language, 1967).

5 Fourth Generation (1972 – 1984)


The next generation of computer systems saw the use of large scale integration (LSI –1000
devices per chip) and very large scale integration (VLSI –100,000 devices per chip) in the
construction of computing elements. At this scale entire processors will fit onto a single
chip, and for simple systems the entire computer (processor, main memory, and I/O
controllers) can fit on one chip. Gate delays dropped to about Ins per gate.
Semiconductor memories replaced core memories as the main memory in most systems;
until this time the use of semiconductor memory in most systems was limited to registers
and cache. During this period, high speed vector processors, such as the CRAY 1, CRAY
X-MP and CYBER 205 dominated the high performance computing scene.
Computers with large main memory, such as the CRAY 2, began to emerge. A variety of
parallel architectures began to appear; however, during this period the parallel computing
efforts were of a mostly experimental nature and most computational science was carried
out on vector processors. Microcomputers and workstations were introduced and saw wide
use as alternatives to time-shared mainframe computers.
Developments in software include very high level languages such as FP (functional
programming) and Prolog (programming in logic). These languages tend to use a
declarative programming style as opposed to the imperative style of Pascal, C. FORTRAN,
et al. In a declarative style, a programmer gives a mathematical specification of what should
be computed, leaving many details of how it should be computed to the compiler and/or
runtime system. These languages are not yet in wide use, but are very promising as
notations for programs that will run on massively parallel computers (systems with over
1,000 processors).
Compilers for established languages started to use sophisticated optimisation techniques to
improve codes, and compilers for vector processors were able to vectorise simple loops
(turn loops into single instructions that would initiate an operation over an entire vector).
The Phase II centres, located in San Diego (San Diego Supercomputing Centre); Illinois
(National Centre for Supercomputing Applications); Pittsburgh (Pittsburgh
Supercomputing Center); Cornell (Cornell Theory Centre); and Princeton (John Von
Neumann Centre), have been extremely successful at providing computing time on
supercomputers to the academic community. In addition they have provided many valuable
training programmes and have developed several software packages that are available free
of charge. These Phase II centres continue to augment the substantial high performance
computing efforts at the National Laboratories, especially the Department of Energy
(DOE) and NASA sites.

6 Fifth Generation (1984 – 1990)


The development of the next generation of computer systems is characterised mainly by
the acceptance of parallel processing. Until this time, parallelism was limited to pipelining
and vector processing, or at most to a few processors sharing jobs. The fifth generation saw
the introduction of machines with hundreds of processors that could all be working on
different parts of a single program. The scale of integration in semiconductors continued
at an incredible pace, so that by 1990 it was possible to build chips with a million
components – and semiconductor memories became standard on all computers.
Other new developments were the widespread use of computer networks and the increasing
use of single-user workstations. Prior to 1985, large scale parallel processing was viewed
as a research goal, but two systems introduced around this time are typical of the first
commercial products to be based on parallel processing. The Sequent Balance 8000
connected up to 20 processors to a single shared memory module (but each processor had
its own local cache). The machine was designed to compete with the DEC VAX-780 as a
general purpose Unix system, with each processor working on a different user’s job.

7 Sixth Generation (1990 to date)


Transitions between generations in computer technology are hard to define, especially as
they are taking place. Some changes, such as the switch from vacuum tubes to transistors,
are immediately apparent as fundamental changes, but others are clear only in retrospect.
Many of the developments in computer systems since 1990 reflect gradual improvements
over established systems, and thus it is hard to claim they represent a transition to a new
“generation”, but other developments will prove to be significant changes.
In this section, we offer some assessments about recent developments and current trends
that we think will have a significant impact on computational science.
This generation is beginning with many gains in parallel computing, both in the hardware
area and in improved understanding of how to develop algorithms to exploit diverse,
massively parallel architectures.
Parallel systems now compete with vector processors in terms of total computing power
and, most especially, parallel systems to dominate the future.
Combinations of parallel/vector architectures are well established, and one corporation
(Fujitsu) has announced plans to build a system with over 200 of its high and vector
processors. Manufacturers have set themselves the goal of achieving teraflops (1012
arithmetic operations per second) performance by the middle of the decade, and it is clear
this will be obtained only by a system with a thousand processors or more.
Workstation technology has continued to improve, with processor designs now using a
combination of RISC, pipelining, and parallel processing. As a result it is now possible to
procure a desktop workstation that has the same overall computing power (100 megaflops)
as fourth generation supercomputers. This development has sparked an interest in
heterogeneous computing: a program started on one workstation can find idle workstations
elsewhere in the local network to run parallel subtasks.
One of the most dramatic changes in the sixth generation is the explosive growth of wide
area networking. Network bandwidth has expanded tremendously in the last few years and
will continue to improve for the next several years. T1 transmission rates are now standard
for regional networks, and the national “backbone” that interconnects regional networks
uses T3. Networking technology is becoming more widespread than its original strong base
in universities and government laboratories as it is rapidly finding application in K-12
education, community networks and private industry. A little over a decade after the
warning voiced in the Lax report, the future of a strong computational science
infrastructure is bright.
CHAPTER THREE
CLASSIFICATION OF COMPUTERS
Although there are no industry standards, computers are generally classified in the
following ways:
2. Classification Based on Signal Type
There are basically three types of electronic computers. These are the Digital, Analog and
Hybrid computers.
C. The Digital Computer
This represents its variables in the form of digits. The data it deals with, whether
representing numbers, letters or other symbols, are converted into binary form on input to
the computer. The data undergoes a processing after which the binary digits are converted
back to alpha numeric form for output for human use. Because of the fact that business
applications like inventory control, invoicing and payroll deal with discrete values
(separate, disunited, discontinuous), they are best processed with digital computers. As a
result of this, digital computers are mostly used in commercial and business places today.
D. The Analog Computer
It measures rather than counts. This type of computer sets up a model of a system. The
common type represents its variables in terms of electrical voltage and sets up circuit
analog to the equation connecting the variables. The answer can be either by using a
voltmeter to read the value of the variable required, or by feeding the voltage into a plotting
device. Analog computers hold data in the form of physical variables rather than numerical
quantities. In theory, analog computers give an exact answer because the answer has not
been approximated to the nearest digit. Whereas, when we try to obtain the answers using
a digital voltmeter, we often find that the accuracy is less than that which could have been
obtained from an analog computer.
It is almost never used in business systems. It is used by scientists and engineers to solve
systems of partial differential equations. It is also used in controlling and monitoring of
systems in such areas as hydrodynamics and rocketry in production. There are two useful
properties of this computer once it is programmed:
• It is simple to change the value of a constant or coefficient and study the effect of such
changes.
• It is possible to link certain variables to a time pulse to study changes with time as a
variable, and chart the result on an X-Y plotter.

The Hybrid Computer


In some cases, the computer user may wish to obtain the output from an analog computer
as processed by a digital computer or vice versa. To achieve this, he set up a hybrid machine
where the two are connected and the analog computer may be regarded as a peripheral of
the digital computer. In such a situation, a hybrid system attempts to gain the advantage of
both the digital and the analog elements in the same machine. This kind of machine is
usually a special-purpose device which is built for a specific task. It needs a conversion
element which accepts analog inputs, and outputs digital values. Such converters are called
digitisers. There is a need for a converter from analog to digital also. It has the advantage
of giving real-time response on a continuous basis. Complex calculations can be dealt with
by the digital elements, thereby requiring a large memory, and giving accurate results after
programming. They are mainly used in aerospace and process control applications.

Classification by Purpose
Depending on their flexibility in operation, computers are classified as either special
purpose or general purpose.
b. Special-Purpose Computers
A special purpose computer is one that is designed to solve a restricted class of problems.
Such computers may even be designed and built to handle only one job. In such machines,
the steps or operations that the computer follows may be built into the hardware. Most of
the computers used for military purposes fall into this class. Other examples of special
purpose computers include:
• Computers designed specifically to solve navigational problems.
• Computers designed for tracking airplanes or missiles
• Computers used for process control applications in industries such as oil refinery,
chemical manufacture, steel processing and power generation
• Computers used as robots in factories like vehicle assembly plants and glass industries.
General Attributes of Special-Purpose Computers
Special-purpose computers are usually very efficient for the tasks for which they are
specially designed.
4. They are very much less complex than the general-purpose computers.
5. The simplicity of the circuiting stems from the fact that provision is made only for
limited facilities.
6. They are very much cheaper than the general-purpose type since they involve fewer
components and are less complex.

General-Purpose Computers
General-purpose computers are computers designed to handle a wide range of problems.
Theoretically, a general-purpose computer can be adequate by means of some easily
alterable instructions to handle any problems that can be solved by computation. In
practice, however, there are limitations imposed by memory size, speed and the type of
input/output devices. Examples of areas where general purpose computers are employed
include the following:
• Payroll
• Banking
• Billing
• Sales analysis
• Cost accounting
• Manufacturing scheduling
• Inventory control

General Attributes of General-Purpose Computers


• General-purpose computers are more flexible than special purpose computers. Thus, the
former can handle a wide spectrum of problems.
• They are less efficient than the special-purpose computers due to
such problems as the following:
- They have inadequate storage
- They have low operating speed
- Coordination of the various tasks and subsections may take time
- General-purpose computers are more complex than special purpose computers.

Classification of Computers According to Capacity


In the past, the capacity of computers was measured in terms of physical size. Today,
however, physical size is not a good measure of capacity because modern technology has
made it possible to achieve compactness. A better measure of capacity today is the volume
of work that a computer can handle. The volume of work that a given computer handles is
closely tied to the cost and to the memory size of the computer. Therefore, most authorities
today accept rental price as the standard for ranking computers. Here, both memory size
and cost shall be used to rank (classify) computers into three main categories as
follows:
• Microcomputers
• Medium/mini/small computers
• Large computer/mainframes.

Microcomputers
Microcomputers, also known as single board computers, are the cheapest class of
computers. In the microcomputer, we do not have a Central Processing Unit (CPU) as we
have in the larger computers. Rather we have a microprocessor chip as the main data
processing unit. They are the cheapest and smallest, and can operate under normal office
conditions. Examples are IBM, APPLE, COMPAQ, Hewlett Packard (HP), Dell and
Toshiba, etc.

Different Types of Personal Computers (Microcomputers)


Normally, personal computers are placed on the desk; hence they are referred to as desktop
personal computers. Still other types are available under the categories of personal
computers. They are:
• Laptop Computers: These are small size types that are battery operated. The screen is
used to cover the system while the keyboard is installed flat on the system unit. They could
be carried about like a box when closed after operation and can be operated in vehicles
while on a journey.
• Notebook Computers: These are like laptop computers but smaller in size. Though
small, the notebook computer comprises all the components of a full system.
• Palmtop Computers: The palmtop computer is far smaller in size. All the components
are complete as in any of the above, but it is made smaller so that it can be held on the
palm.

Uses of the Personal Computer


A personal computer can perform the following functions:
• It can be used to produce documents like memos, reports, letters and briefs.
• It can be used to calculate budgets and accounting tasks
• It can analyse numeric functions
• It can create illustrations
• It can be used for electronic mails
• It an help in making schedules and planning projects
• It can assist in searching for specific information from lists or from reports.

Advantages of the Personal Computer


• The personal computer is versatile: it can be used in any establishment
• It has faster speed for processing data
• It can deal with several data at a time
• It can attend to several users at the same time, thereby being able to process several jobs
at a time
• It is capable of storing several data
• Operating the personal computer gives less fatigue
• It is possible to network personal computers, that is, linking of two or more computers.

Disadvantages of the Personal Computer


• The personal computer is costly to maintain
• It is very fragile and complex to handle
• It requires special skill to operate
• With inventions and innovations everyday, the personal computer is at the risk of
becoming obsolete
• It can lead to unemployment, especially in less developed countries
• Some computers cannot function properly without the aid of a cooling system, e.g. air
conditioners or fans in some locations.

Mini Computers
Mini computers have memory capacity in the range ‘128- 256 Kbytes’ and are also not
expensive but reliable and smaller in size compare to mainframe. They were first
introduced in 1965; when DEC (Digital Equipment Corporation) built the PDP – [Link]
mini computers are WANG VS.
Mainframe Computers
The mainframe computers, often called number crunchers have memory capacity of the
order of ‘4 Kbytes’, and are very expensive. They can execute up to 100 MIPS (Meanwhile
Instructions per Second). They have large systems and are used by many people for a
variety of purposes.
CHAPTER FOUR
HARDWARE COMPONENTS
Your personal computer (PC) is really a collection of separate items working together as a
team, with you as the captain. Some of these components are essential; others simply make
working more pleasant or efficient. Adding extra items expands the variety of tasks you
can accomplish with your machine.

The System Unit


The system unit is the main unit of a PC. It is the computer itself while other units attached
to it are regarded as peripherals. It could be viewed as the master conductor orchestrating
your PC’s operation. It is made up of several components like the motherboard, processor,
buses, memory, power supply unit, etc. This unit (the system unit) has been confused
over the years by novices as the CPU. This is not true. The CPU (Central Processing Unit)
or simply processor is a component within the system unit and is not the only thing that
makes up the system unit.
Hence, it will be wrong to equate the system unit with the CPU.

The Front of the System Unit


Lights
Your unit may display a variety of coloured lights on the front panel, including power and
turbo signals, and light to indicate if the hard or floppy disk is being read or written to.

Key Lock
You can stop intruders from tampering with your PC by using the lock on the front panel.
Turning the key prevents the keyboard from working.

Turbo Button
Some PCs offer a choice of speeds at which they can run. A turbo switch is usually left so
the computer runs at its fastest speed.

Reset Button
If your PC “freezes” and won’t respond to any command, try starting it up again using the
reset button. Pressing the reset button loses all the work you have not saved in that session,
so use it only as a last resort.

Power On/Off
All PCs have main power switch on the system unit. Sometimes this control is placed on
the outside back panel.

Floppy Disk Drives


Either, or both, of two standard types of floppy disk drive may be found at the front of the
system unit. Some systems also have internal CDROM or tape drives.

The Back of the System Unit


The Fan Housing
The electronic components in your PC generate a lot of heat. To prevent overheating, a fan
at the back of the unit removes hot air from the system.

Power “in” and “out” Sockets


Cables plugged into these sockets carry power from the electrical outlet to the system unit
and from the system unit to the monitor.

The Joystick Port


Using a joystick is often much better than pressing keys to control movements when
playing a computer game.

Serial Ports
Serial ports often connect the PC to the modem or mouse. Most PCs are fitted with two
serial ports that may be labeled “S101” and “S102”, “Serial 1” and “Serial 2”, or “COM
1” and “COM 2”.

Sound Jacks
If you have a sound fitted inside your system unit, you will see a jack or jacks at the back.
These can be used to connect your PC to speakers, a microphone, or an external sound
source.
The Keyboard Port
The cable from your keyboard ends with a round connector, which plugs into the keyboard
port.
The Network Adapter
If an expansion card is fitted to link your PC with other PCs in your office you will see a
network connector at the back of the system unit.
The Monitor Port
A cable from your monitor plugs into this port and carries display information to the
monitor.
Bays for Expansion Cards
PCs are easily expanded, perhaps to provide modem, sound or faster graphics. You can
plug cards into expansion slots inside the PC. The end of an expansion card shows at the
back of your machine, allowing you to connect items.

Inside The System Unit


The brain behind everything that happens in your PC is contained within the system unit.
Inside the unit are the impressive electronics that run programs, handle instructions, and
determine the results. Most of the more important items are described below.

The Battery
A small battery powers a clock to keep track of the time when the PC is turned off. It also
maintains low electricity to certain RAM chips that record which components are installed.
The Disk Drive Controller Card
This card controls the PC’s disk drive motors and transfers data. The serial and parallel
ports at the back of the card link internal PC components with external devices such as
mouse and printer.
The Display Adapter Card (Video Card)
All the information your computer will display is stored in its memory. To be useful, you
need to see the information. The display adapter card is the link between the PC’s memory
and the monitor.
Expansion Slots
These long narrow connectors allow you to plug in expansion cards (also known as adapter
cards), which offer extra options not available on a basic PC.
ROM Chips
Read-only memory (ROM) chips have data written on them during manufacturing that tells
the CPU what to do when the PC is switched on. The data is always there, even when you
switch the PC off.
RAM Chips
When a computer is switched on and is running a program, RAM (Random Access
Memory) is used for purposes such as holding the program and its data. But when the PC
is switched off, anything held in RAM is lost.
Empty RAM Chip Slots
These slots let you expand your computer’s memory by adding extra RAM chips or
modules. Some PCs work even faster because they come equipped with Cache Memory.
Cache memory consists of expensive and very fast memory chips that store the data or
instructions that the CPU will look at next. Cache memory can speed up work on your
computer enormously.

The Central Processing Unit (CPU)

Fig. 6: An Intel processor


The microprocessor, or central processing unit (CPU), is the computer’s most important
single item. It does all the PC’s thinking and runs the programs (series of instructions) that
you request.

CPU Support Chips


These chips help the CPU manage all the other parts of the computer.
The Math Coprocessor Slot
A math coprocessor, present in some PCs, assists the CPU in its number-crunching
activities (if programs have been designed to use it).
The Speaker
The speaker emits the computer’s sound output.

The Power Supply Unit


All the components in a PC need electrical supply. Most need a 5-volt supply although
floppy disk drive motors require 12 volts. If the components were connected to normal
household current, they would blow up, so the power supply unit converts high voltage
electrical current to a low voltage.

The Hard Disk Drive


The hard disk is your computer’s main permanent storage unit, holding large amount of
data and programs. Unlike data held in RAM, the information on the hard disk is not
affected when the PC is turned off – it remains there unless you instruct the PC to overwrite
it or the hard disk is damaged.
The Motherboard
All the electronic components in a PC are mounted on a piece of fiberglass called the
motherboard. Fiberglass cannot conduct electricity, so each component is insulated from
all the others. Thin lines of metal on the surface of the fiberglass connect pins from one
component to another, forming the computer’s electrical circuits.

Intel CPUs
The earliest PCs were equipped with a CPU from Intel Corporation called the 8088. The
next generation of PCs used CPU known by the number “80286” and were called “PC/AT”
computers. Subsequently, PCs have been supplied with more and more powerful CPUs –
the 80386, the 80486, and the more recent and impressive of all, the Intel Pentium (I, II,
III, IV& M).
All these PC processors belong to a family called 80 x 86. In general, you can run the same
software on PCs containing different CPUs within this family. From the outside, the chips
look different only in sizes and number of pin-put inside. An 80486 has over one million
components to the 3,500 that were in the first 8088. Because of these differences, the
Blatest Pentiums runs over ten times faster.

What is the CPU


The CPU is certainly the most important PC component. CPU stands for Central
Processing Unit. Let us briefly study that name:
• It is a processor, because it processes (moves and calculates)
• It is central, because it is the centre of PC data processing.
• It is a unit, because it is a chip, which contains millions of transistors.

CPU Speed
The speed of a CPU is measured in megahertz (MHz). A computer has a central clock that
keeps all the components in time with each other; one hertz is similar to a clock tick and
megahertz is equal to one million ticks per second. If your PC runs at 333 or 400MHz, the
central clock ticks 333 or 400 million times every second. As you might imagine, the faster
the clock ticks, the faster the computer runs.
Without the CPU, there would be no PC. Like all other hardware components, CPUs are
continually undergoing further development. You can see the explosive technological
development in data processing most clearly in the development of newer and faster CPUs.
The CPUs have for years doubled their performance about every 18 months and there are
no indications that this trend will stop.
When we now look at all the CPUs from a broader perspective, we can see that:
• The CPU history is closely tied to the companies IBM and, especially, Intel.
• The CPUs have their roots back to Intel's chip 4004 from 1971.
• The compatibility concept has been important throughout the
development.

Generations of CPUs
There are CPUs of many brand names (IBM, Texas, Cyrix, AMD), and often they make
models which overlap two generations. This can make it difficult to keep track of CPUs.
Here is an attempt to identify the various CPUs according to generations:

DISKS
Floppy Disks
Computers use disks to store information. Although there is a permanent hard disk that
lives inside the system unit, you can use floppy disks to store and move data easily from
one PC to another. Floppy disks come in two sizes, either 5¼ or 3½ inches in diameter.
The smaller disks are able to store more data and are also less easily damaged, because of
their thicker plastic cases. As both sizes can be either “high” or “low” capacity (or density),
there are four main varieties of disks available. High-capacity disks are more expensive,
but they can store much more information. Low-capacity disks are generally labeled
DS/DD, which stands for “double sided/double density”, while the highcapacity floppy
disks are labelled DS/HD (double sided/high-density).

Caring for Disks


Treat floppy disks carefully, and you can take them almost anywhere safely. Don’t leave
the disks in your PC when you finish a session. Also avoid putting anything heavy on top
of your disks or leaving them in extremes of hot or cold temperature. Try not to carry disks
loose in pockets or handbags where dust and dirt may get inside the containers. Take care
to store them vertically, preferably in a special storage box. Remember too that you should
keep floppy disks away from magnetic fields, including hidden magnets such as those in
telephone, radio and television speakers, amplifiers, desk fans, and photocopiers. If you do
leave floppy disks near a magnetic field, your data may become corrupted and will no
longer be usable.
Write Protecting Disks
Write-protecting a disk means that you prevent the computer from erasing or writing over
important data or programs that are already there. However, the PC can still read a write-
protected disk.

Input Devices
1 The Computer Keyboard
A computer keyboard is identical to the conventional typewriter keyboard. However, it has
more keys than the typewriter keyboard. A computer keyboard can be a dummy type or
intelligent type. A computer keyboard is considered to be intelligent if, in addition to
performing the routine functions characteristic of a typewriter keyboard, it can initiate a
series of actions for a computer to carry out by mere pressing a key or combination of two
or more keys. Thus, an intelligent computer keyboard has a set of keys which, when one
of them is pressed, the computer can be made to carry out a specific function. For example,
the pressing of a key may cause the computer to display a menu list from which the user
may be prompted to select one.
The intelligent computer keyboard has four major divisions, namely: Function keys,
Alphanumeric keys, Numeric keys and Control keys. In addition to the four types of keys,
there are some special or important keys such as the following:
(a) Return or Enter key
(b) Escape key denoted by ESC
(c) Control key denoted by CTRL
(d) Alternate key denoted by ALT
(e) Delete key denoted by DEL
(f) Insert key denoted by INS
(g) Backspace key
(h) Shift key.

Function Keys
The effects of the functions keys are software package dependent. That is, they mean
different translations depending on which software package one is running on the
computer. The function keys are traditionally labeled F1, F2, F3, F4, F5, F6, F7, F8, F9,
F10, F11 and F12. The function keys are often arranged to the left of the main keyboard in
two columns or they are arranged in a row above the main keyboard. In most software
packages, the function key F1 is used to run the HELP program. Word perfect, for example,
uses F3 for HELP program and F1 to cancel the last command issued on the computer. The
function keys F7 and F12 are used to save a text and block a section of a text respectively
in word perfect. Function keys can be programmed to carry out the functions desired by a
programmer. For example the function key F10 may be programmed to display menus.
Thus, the operations of the function keys can be determined by the user or programmed by
the software package being used at any point in time.
Alphanumeric Keys
The Alphanumeric keys can be likened with the conventional typewriter keys. They contain
alphabetic characters, numeric characters and special characters such as comma, full stop,
open bracket, close bracket, asterisk, semicolon, colon, question mark, and so on. Usually,
each key carries a character at the lower part and another character at the upper part. The
SHIFT key is used to switch on or off the lower and upper characters by the programmer.

Cursor Control Keys


The cursor marks the active or current spot on the screen. It is an indicator that tells the
user where in the midst of a document the system is pointing to. It may be a rectangular
bar of light or a blinking underscore. When a text is being typed, the cursor moves as the
carriage on a keyboard moves and character are typed in. The cursor control keys include
four directional arrow keys.

Table 2: Control Keys and their Functions


Control Key Functions
Moves the cursor one line up.
Moves the cursor one line down
Moves the cursor one character to the right
Move the cursor one character to the left.
Home Moves the cursor to the beginning of a line or page End
Move the cursor to the bottom left of a page or to the end of the current line in most text
editors.
PGDN
Moves the cursor to the top of the next page in the document or text. For example, pressing
this key while on page 5 of the text will place the cursor at the top of page 6 of the text.
PGUP Moves the cursor to the top of the previous page. For example, if you are on page 3
of a document, pressing this key will place the cursor at the top of page 2 of the document.

Other cursor control keys are Home, Page Up, Page Down, and End. These keys may be
part of the numeric keypad or separated from the numeric keypad. Moving the cursor
around on the screen is one of the most common tasks in an application program. In fact,
cursor movement is so important in an application such as word processing that it can
usually be accomplished by additional key-driven commands.

The Numeric Keypad


The numeric keypad contains a set of keys required for typing or entering number digits 0,
1, 2, 3, 4, 5, 6, 7, 8, and 9 into the computer store. A numeric key is often activated by
pressing the Numlock Key. The numeric keypad is also used in combination with the
Alternate (Alt) key to produce extended characters. Extended characters are characters not
normally found on most keyboards. For example, to produce the character alpha, denoted
‘’, one holds down the Alt key and presses 224; to produce character beta denoted by ‘’,
one holds down the Alt key and presses 255; and to produce the pound sterling sign denoted
by ‘₤’, one holds down the Alt key and presses 156.

The Shift Key


When the shift key is pressed, the capital letters on the alphanumeric keys are activated. It
also serves as the activator of characters that are at the upper part of each alphanumeric
key. The Shift key has no effects on itself; its effect are realised when some other keys are
pressed. Thus, if one presses the shift key and then ‘equals’ sign key, the ‘plus’ sign which
is at the upper part of the ‘equal’ sign is activated, and it then appears on the screen.

The Caps Lock Key


The Caps Lock shifts all alphabetic characters into the upper case (capital letters). Thus all
characters typed are in lower case (small letters) when not pressed.
The Alternate Key (Alt)
The alternate key can be used in combination with numeric keys to generate characters not
shown on the keyboard, that is, extended characters. For example, holding the Alt key
down and pressing 228 produces the summation () sign; holding the Alt key down and
pressing 235 produces the  sign. To restart or reboot your computer, press Alt, Ctrl and
Del keys simultaneously.

The Num Lock Key


The Num Lock key activates the numeric keypad. Neither the Num Lock key nor the Caps
Lock key affects the function keys.
The Control Key (Ctrl)
The control key is often used in most text mode to perform block operations like mass
deletion, insertion and so on. For example, Ctrl + Y deletes a line in most text documents.
It can also be used in combination with other keys to move the cursor to different locations
in a text or document. In some application packages, the Alt, Ctrl and Shift keys are used
in combination with the function keys to perform several operations. For example, in the
Word Perfect word processing package, to centre a text, press Shift and F6; to print a text,
press Shift and F7.
The Escape Key (Esc)
The escape key cancels an operation in progress. For example, when one is editing a file
or issuing a command, Esc cancels any changes one might have made or terminates the
command.
The Return or Enter Key
The return key serves as one of the most important keys on most keyboards. It is actually
used to inform the computer of the end of an input or command. It performs two functions
depending on the program on which it is used. For example, suppose you are asked to
respond to an operating system command at the prompt or other entries, the operating
system will wait until the return key is pressed before continuing. Pressing the return key
also positions the cursor at the beginning of the next line (in text mode), which is the
equivalent of pressing the carriage return on a typewriter.
The Insert Key (Ins)
Pressing the insert key puts one’s keyboard in the insert mode, pressing it again returns to
the overstrike (type over) mode. In the insert mode, the characters one types are inserted at
the cursor position, the character at the cursor position and all characters to the right shift
to make room for them. In overstrike or type over mode, newly typed characters overwrite
the characters at the current cursor position. In most applications, the insert mode is
indicated by a symbol in the status line.

The Delete Key (Del)


The delete key deletes the character at the cursor position when pressed and the remaining
text moves to the left while the cursor remains at the same position.

The Back Space Key


The back space key deletes the characters to the left of the cursor when pressed and all
other characters to the right of the cursor are shifted one space to the left.

The Spacebar
The spacebar is the longest key found on most keyboards. It erases characters at the cursor
position or gives a blank space when pressed.
The Tab Key
The tab key moves the cursor by five spaces to the right when pressed. The number of
positions moved depends on the software or the Tab Set by the operator. The Tab is
normally pressed to insert paragraphs during typing. In some programs, when this key is
pressed in combination with shift the key, the same number of positions is moved
backwards.
The Print Screen Key (Prtsc)
When the print screen key is pressed in combination with the shift key, whatever in is on
the screen will be printed on a printer. The same effect can be achieved by pressing the key
alone on some keyboards.
Keeping Your Keyboard Clean and Working
Never spill liquids on your keyboard. Coffee, soda, and other beverage spills can ruin your
keyboard. Liquid spills on the keyboard have even been known to cause electrical damage
to the PC itself. With that in mind, though you may not stop drinking coffee around your
computer, you should at least get a spill-proof mug or keep the coffee on the other
side of the desk.
Another enemy of the keyboard is static electricity. Static electricity can have the same
damaging effect on your keyboard as does liquid. If your keyboard doesn't respond
properly after a strong static charge, you may just need to turn off the PC and turn it back
on to reset the keyboard. In some cases, however, the static discharge can zap the keyboard
and even parts of the PC. If you shuffle your feet across the carpet or your PC is in a room
with dry air, avoid touching the PC or the keyboard until you have touched something
metal to discharge any static electricity. If you don't have a metal desk or bookcase in your
work area, consider buying an anti-static mat and keeping it where you can touch it before
touching the PC.
Dust, dirt, food crumbs, and hair are other enemies of the keyboard. Try to avoid eating
over the keyboard and if your computer is in a dirty, dusty area, keep the keyboard covered
when not in use. Some dirt and dust is unavoidable. To keep the keyboard working well,
you should occasionally clean it.
2 The Mouse and Joystick
A mouse looks like the electrical clipper in a barber’s shop. It consists of a pointing device
very sensitive to movements. It has a roller ball and two or more buttons which can be
pressed to make a selection. By moving the mouse on a flat smooth surface and clicking
one or a combination of two buttons on its upper surface, a computer to which it is
connected can be sensitised and commanded to carry out some specific tasks.
A mouse can be used to draw diagrams on the computer screen more effectively and
efficiently than the computer keyboard. Generally, the keyboard and the mouse do
complement each other. For example, the mouse can be used to highlight an item in a menu
list while the keyboard Enter Key can be pressed to activate or evoke the command
associated with the highlighted item.
A mouse is the primary input device for modern computers that feature operating systems
with a graphical user interface, such as Windows 98 or Windows XP. While keyboards
obviously excel at entering text, numbers, and symbols, your mouse is the tool you'll use
to tell your computer what to do with all the data you've entered.
Joysticks are almost exclusively used with game software and help the user more
effectively control the actions of computer-simulated airplanes or arcade-style games.
All modern PC operating systems (Windows 98, Windows XP, and the Macintosh) rely on
an on-screen pointer to select and execute commands. A mouse is simply an input device
built to help the user control this on-screen pointer in as natural and efficient a manner as
possible.
The pointer on the screen mimics the movements of your mouse. As you move your mouse,
a ball encased in the bottom of your mouse rolls on the desk and in turn sends signals to
the computer as to which direction to move the pointer on the screen. Move the mouse side
to side, or up and down, and the on-screen pointer moves in a similar manner.
Once you have the mouse positioned to select the command or data you want to act on, you
use the mouse buttons to execute the command. The mouse controls the on-screen pointer
and lets you select program icons, manipulate property sheets, and access data.

Output Devices
1 Printers
A printer is the computer component that lets you create copies of the information stored
in your computer on paper. The printed material is often called the hard copy, to
differentiate it from the data stored on a disk, or held in the computer's memory.
There are three basic types of printers available for use with personal computers:
Laser Printers: These combine a magnetic roller with powdered ink called toner to
transfer high-quality characters or images onto a page.
Inkjet Printers: These have small nozzles that actually spray fast drying ink onto the page
to form characters or images. Inkjet printers spray a fine, quick-drying ink through small
nozzles to produce characters and images on paper. Although the results are not quite as
sharp as those of laser printers, inkjet printers provide very good quality
output at a lower cost.
Dot-matrix Printers: These use a print head to strike an inked ribbon against paper, like
a typewriter, creating characters out of a series of dots. Dot-matrix printers are the cheapest
printers available. They create text and images on the page by hammering several small
pins against an inked ribbon. The more pins used, the better the image. The 9-pin and 24-
pin are common options. The 24-pin printers produce a better quality output, but are
somewhat slower than the 9-pin printers.
Print quality for dot-matrix printers is often described in terms of mode: draft mode (low
resolution), near-letter-quality mode (medium resolution), or letter-quality mode (high
resolution). The speed depends on the mode, with the draft mode being the fastest.
The type of printer you choose depends on your budget and the type of output you need.
For example, if all you need to print are grocery lists, you may be happy with a dot-matrix
printer. In general, dot-matrix printers are noisier, slower, and produce a poorer-quality
image than do laser or inkjet printers, but they are also less expensive. If you need to print
newsletters, brochures, or illustrated reports, you will probably want a high-quality laser
printer. Laser printers cost more than other printers, but they may be worth the price
because they are fast, quiet, and produce high-quality text and graphics.

2 Monitors
The monitor does not do any processing itself. It only displays the information that the
video card tells it to display.
Monitor Sizes
The two most common monitor sizes are 15-inch and 17-inch. If you have an older, hand-
me-down PC or a very inexpensive starter PC, you may have a smaller 14-inch monitor.
21-inch monitors are also available but mostly used by graphics professionals.

VGA and SVGA Monitors


The two most common acronyms you will see on current monitors are VGA or SVGA.
Both of these terms generally refer to how many dots (or pixels) in each direction the
monitor can display. VGA is 640x480 (width by height) and SVGA is 800x600. This
measurement is called the monitor's resolution, and more is better! Most new monitors are
capable of displaying at least SVGA quality. In fact, 1,024x768 is somewhat of a minimum
to look for.
Almost any VGA or SGVA monitor made in the last few years is capable of displaying
any of these resolutions. However, it's actually the video card that determines what
resolution your monitor displays at any time. The monitor is capable of switching from one
resolution to another on command from the video card.

3 Scanners
Scanners are peripheral devices used to digitise (convert to electronic format) artwork,
photographs, text, or other items from hard copy. In a sense, a scanner works as a pair of
eyes for your PC. Your eyes see an image and translate the image into electrical impulses
that travel to and are interpreted by your brain. Similarly, a scanner captures images and
converts them to digital data that travel to and are interpreted by the computer. A scanner
works by dividing an image into microscopic rows and columns and measuring, like the
film in a camera, how much light (or lack of it) reflects from each individual intersection
of the rows and columns. Each reflection is recorded as a dot, or picture element (pixel).
After the scanner collects information from each dot, it compiles the result into a digital
file on the computer.
There are a wide variety of scanners that work in a number of different ways, but the
technology behind them is essentially the same. The following sections discuss the more
popular types of scanners available today.

Types of Scanners
D. Flatbed Scanners
Flatbed scanners look and behave a lot like a photocopier. You lay the item to be scanned
on a glass plate and the scanning head passes below the glass.
Flatbed scanners are very versatile: you can scan objects in a variety of sizes and shapes,
including pages from a book, without damaging the original. While flatbed scanners are
the best choice for a wide variety of uses, if you plan to do a lot of text scanning (called
OCR for Optical Character Recognition) work, keep in mind that flatbeds only
accommodate one page at a time. Scanning multi-page documents can be a slow, tedious
process, because you have to manually remove one page and insert the next.

E. Sheet Fed Scanners


Sheet fed scanners look and act more like fax machines. The page or item is fed into the
machine, scanned, then spat out on the other end. A sheet fed scanner is a good choice for
large volumes of text, but not for handling delicate original photographs. Scanning directly
from a book or other three-dimensional objects is impossible.

F. Hand Scanners
Hand scanners are a low-cost alternative to their larger, more sophisticated counterparts.
As their name implies, hand scanners are manual devices you move over a flat surface, just
as you do your PC's mouse.
The hand scanner’s advantages are many, but so are its disadvantages. Generally, hand
scanners work best for small, uncomplicated images such as company logos or small black-
and-white photographs. You might want a hand scanner if you do not plan to use it on a
regular basis, because it usually does not require adding internal cards to your CPU, and
it's easily disconnected and stored away. Most hand scanners can only scan a four-inch
wide image at one time and require a steady hand.
You're usually provided with software that helps you “sew up” a series of these 4-inch,
side-by-side scans into one image, but this is obviously not as convenient as getting the full
image at once.

4 Speakers and Sound


The built-in speakers in most PC cases are used just for making system sounds, such as
warning beeps and action indicators. To play more sophisticated sounds on your PC, you
need a set of external speakers. Usually speakers come in pairs, and there is a plug that
connects them to your sound card. Arrange the speakers with one on the left and one on
the right of your desk or work area to get a stereo effect.
Optionally, some speakers come with a subwoofer. This improves the bass (low notes)
sound. If you have a subwoofer with your speakers, it should go on the floor under your
desk.
Sound is one of the favorite options on today's PCs. In fact, sound is a standard feature of
most new PCs.
Everyone has their own uses for sound. You may just want to play a few music CDs with
your CD-ROM drive while you are working, or you may use multimedia applications for
presentations or educational programs. You may just like the sound of your jet engines
roaring as you punch the throttle in a flight simulator.

Components for Sound on Your PC


To produce sound on your PC, you need a sound card and speakers. The sound card is an
expansion card that plugs into one of the slots on your motherboard. This card processes
all of the instructions that have to do with sound, and then sends the sounds to the speakers
to be played.

Sound Cards
Sound cards plug into an expansion slot in your PC. The card has a set of connectors that
are exposed on the back of the PC; you can plug a microphone and speakers into the
connectors. Some cards include an optional connector for a line input, which is used to
connect another input source such as the output from a tape player or portable CD player.
Other optional connectors can include a joystick connector and a MIDI connector (for
connecting a MIDI keyboard). The card may include a volume control, which controls the
volume of the speakers and/or headphones.
CHAPTER FIVE
AUXILIARY EQUIPMENT
1 The Air Conditioner
A computer is an electronic machine. It is, therefore, capable of generating heat. A
computer is manufactured to operate in an environment with a specific temperature range.
When the temperature of the environment in which a computer is kept falls outside the
specific range, the computer may function badly and consequently get damaged. The free
air is, basically, dust laden. Dust is metallic in nature and, as such, capable of conducting
electricity. If dust is allowed to settle on a computer, particularly the electronic circuits, the
dust can bridge two circuits. The bridging of two electronic circuits may cause a serious
damage to the computer. Thus, air conditioners are needed in a computer environment to:
• condition the temperature, and
• prevent dust.
2. The Voltage Stabiliser
A computer when switched on, takes off in a cold state, warms up and gradually gets to a
hot state. In a hot state, a computer is always roaming in an attempt to find something to
do. In a situation where the public electricity, such as that of PHCN in Nigeria, is cut
suddenly, the computer would suddenly be brought to a halt. The sudden power cut may
cause the computer to lose the memory of some basic house keeping operations when
power eventually returns and the computer is switched on. The sudden power cut may also
cause irreparable damage to the file the computer was processing at the time the power was
suddenly cut.

The Line Voltage Transformer


We have noted that computers are built to operate within a specific range of voltages. In
the United States of America, computers are built to operate on 110V. A voltage
transformer is a device meant to step up or step down a voltage as the case may be. In
Nigeria, for example, a 110V computer requires a voltage transformer to step down the
240V to 110V. Similarly, in the USA, if a 240V current is connected directly to a 110V
computer, the computer power unit will blow up almost immediately.
Today, the technology has improved tremendously such that if a 240V current is connected
directly to a 110V computer, only a fuse, rather than the power unit will blow up. It is
worth mentioning, too, that there is an advanced technology today which permits a
computer to operate effectively and efficiently with the power line voltage ranging between
110V and 240V. The technology supports an inbuilt switch which can be operated at two
terminals, namely the 110V terminus and 240V terminus. In recent times, the technology
has been improved upon such that computers are manufactured in such a way that they can
sense the voltage that is adequate. Thus, if one connects a 110V computer to a240V current,
the 110V computer has an in-built line transformer which automatically steps down the
240V current to 110V.

3.4 The Uninterruptible Power Supply System (UPS)


An Uninterruptible Power System (UPS) is an auxiliary hardware that is capable of:
• Converting the public electricity raw line into fine line, that is, conditioning the voltage
that is fed into the computer.
• Storing electrical energy when the public electricity line is live
• Releasing the stored electrical energy to the computer when the public electricity line is
dead.
CHAPTER SIX
COMPUTER SOFTWARE
Computer hardware is driven by the software. The usefulness of the computer depends on
the programs that are written to manipulate it. Computer software comes in different forms:
the operating system, utility software, language translators and application software. The
physical components of the computer are called the hardware while all the other resources
or parts of the computer that are not hardware, are referred to as the software. The software
is the set of programs that make the computer system active. In essence, the software is the
set of programs that run on the computer. Then, what is a program? A program is a series
of coded instructions showing the logical steps the computer follows to solve a given
problem.

Classification of Computer Software


The computer software could be divided into two major groups, namely system software
(programs), and application software (programs).
1 System Software
This refers to the suits of programs that facilitate the optimal use of the hardware systems
and/or provide a suitable environment for the writing, editing, debugging, testing and
running of user programs. Usually, every computer system comes with a collection of these
suits of programs which are provided by the hardware manufacturer.

2 Operating Systems
An operating system is a program that acts as an interface between a user of a computer
and the computer hardware. The purpose of an operating system is to provide an
environment in which a user may execute programs.
The operating system is the first component of the systems programs that interest us here.
Systems programs are programs written for direct execution on computer hardware in order
to make the power of the computer fully and efficiently accessible to applications
programmers and other computer users. Systems programming is different from
application programming because the former requires an intimate knowledge of the
computer hardware as well as the end users’ needs. Moreover, systems programs are often
large and more complex than application programs, although that is not always the case.
Since systems programs provide the foundation upon which application programs are built,
it is most important that systems programs are reliable, efficient and correct.
In a computer system the hardware provides the basic computing resources. The
applications programs define the way in which these resources are used to solve the
computing problems of the user. The operating system controls and coordinates the use of
the hardware among the various systems programs and application programs for the
various users. The basic resources of a computer system are provided by its hardware,
software and data. The operating system provides the means for the proper use of these
resources in the operation of the computer system. It
simply provides an environment within which other programs can do useful work.
We can view an operating system as a resource allocator. A computer system has many
resources (hardware and software) that may be required to solve a problem: CPU time,
memory space, file storage space, input/output devices, etc.
The operating system acts as the manager of these resources and allocates them to specific
programs and users as necessary for their tasks. Since there may be many, possibly
conflicting, requests for resources, the operating system must decide which requests are
allocated resources to operate the computer system fairly and efficiently. An operating
system is a control program. This program controls the execution of user programs to
prevent errors and improper use of the computer.
Operating systems exist because they are a reasonable way to solve the problem of creating
a usable computing system. The fundamental goal of a computer system is to execute user
programs and solve user problems.
The primary goal of an operating system is convenience for the user. Operating systems
exist because they are supposed to make it easier to compute with an operating system than
without an operating system. This is particularly clear when you look at the operating
system for small personal computers.
A secondary goal is the efficient operation of computer system. This goal is particularly
important for large, shared multi-user systems. Operating systems can attain this goal. It is
known that sometimes these two goals, convenience and efficiency, are contradictory.
While there is no universally agreed definition of the concept of an operating system, we
offer the following as a reasonable starting point: A computer’s operating system (OS) is
a group of programs designed to serve two basic purposes:
• To control the allocation and use of the computing system’s resources among the various
users and tasks.
• To provide an interface between the computer hardware and the programmer that
simplifies and makes feasible the creation, coding, debugging, and maintenance of
application programs. Specifically, we can imagine that an effective operating system
should accomplish all of the following:
• Facilitate creation and modification of program and data files through an editor program.
• Provide access to compilers to translate programs from high-level languages to machine
language.
• Provide a loader program to move the complied program code to the computer’s memory
for execution.
• Provide routines that handle the intricate details of I/O programming.
• Assure that when there are several active processes in the computer, each will get fair
and non-interfering access to the central processing unit for execution.
• Take care of storage and device allocation.
• Provide for long term storage of user information in the form of files.
• Permit system resources to be shared among users when appropriate, and be protected
from unauthorised or mischievous intervention as necessary. Though systems programs
such as editor and translators and the various utility programs (such as sort and file transfer
program) are not usually considered part of the operating system, the operating system is
responsible for providing access to these system resources.

Types of Operating Systems


Modern computer operating systems may be classified into three groups, which are
distinguished by the nature of interaction that takes place between the computer user and
his or her program during its processing. The three groups are called batch, time-shared
and real time operating systems.
1 Batch Processing Operating System
In a batch processing operating system environment users submit jobs to a central place
where these jobs are collected into a batch, and subsequently placed on an input queue at
the computer where they will be run. In this case, the user has no interaction with the job
during its processing, and the computer’s response time is the turnaround time - the time
from submission of the job until execution is complete, and the results are ready for return
to the person who submitted the job.
2 Time Sharing Operating System
Another mode for delivering computing services is provided by time sharing operating
systems. In this environment a computer provides computing services to several or many
users concurrently on-line. Here, the various users are sharing the central processor, the
memory, and other resources of the computer system in a manner facilitated, controlled,
and monitored by the operating system. The user, in this environment, has nearly full
interaction with the program during its execution, and the computer’s response time may
be expected to be no more than a few seconds.
3 Real Time Operating System
The third class of operating systems, the real time operating systems, are designed to
service those applications where response time is of the essence in order to prevent error,
misrepresentation or even disaster. Examples of real time operating systems are those
which handle airlines reservations, machine tool control, and monitoring of a nuclear
power station. The systems, in this case, are designed to be interrupted by external signal
that require the immediate attention of the computer system.
In fact, many computer operating systems are hybrids, providing for more than one of these
types of computing service simultaneously. It is especially common to have a background
batch system running in conjunction with one of the other two on the same computer.
A number of other definitions are important towards gaining an understanding of operating
systems:
4 Multiprogramming Operating System
A multiprogramming operating system is a system that allows more than one active user
program (or part of user program) to be stored in main memory simultaneously.
Thus, it is evident that a time-sharing system is a multiprogramming system, but note that
a multiprogramming system is not necessarily a time-sharing system. A batch or real time
operating system could, and indeed usually does, have more than one active user program
simultaneously in main storage. Another important, and all too similar, term is
‘multiprocessing’.
A multiprocessing system is a computer hardware configuration that includes more than
one independent processing unit. The term multiprocessing is generally used to refer to
large computer hardware complexes found in major scientific or commercial applications.
A networked computing system is a collection of physically interconnected computers. The
operating system of each of the interconnected computers must contain, in addition to its
own standalone functionality, provisions for handing communication and transfer of
program and data among the other computers with which it is connected.
A distributed computing system consists of a number of computers that are connected and
managed so that they automatically share the job processing load among the constituent
computers, or separate the job load as appropriate to particularly configured processors.
Such a system requires an operating system which, in addition to the typical standalone
functionality, provides coordination of the operations and information flow among the
component computers.
The networked and distributed computing environments and their respective operating
systems are designed with more complex functional capabilities. In a network operating
system the users are aware of the existence of multiple computers, and can log in to remote
machines and copy files from one machine to another. Each machine runs its own local
operating system and has its own user (or users).

5 Distributed Operating System


A distributed operating system, in contrast, is one that appears to its users as a traditional
uniprocessor system, even though it is actually composed of multiple processors. In a true
distributed system, users should not be aware of where their programs are being run or
where their files are located; that should all be handled automatically and efficiently by the
operating system.
6 Network Operating Systems
Network operating systems are not fundamentally different from single processor operating
systems. They obviously need a network interface controller and some low-level software
to drive it, as well as programs to achieve remote login and remote files access, but these
additions do not change the essential structure of the operating systems.
True distributed operating systems require more than just adding a little code to a
uniprocessor operating system, because distributed and centralised systems differ in critical
ways. Distributed systems, for example, often allow programs to run on several processors
at the same time, thus requiring more complex processor scheduling algorithms in order to
optimize the amount of parallelism achieved.
3.4 Operating System Components
An operating system provides the environment within which programs are executed. To
construct such an environment, the system is partitioned into small modules with a well-
defined interface. The design of a new operating system is a major task. It is very important
that the goals of the system be will defined before the design begins. The type of system
desired is the foundation for choices between various algorithms and strategies that well
be necessary.
A system as large and complex as an operating system can only be created by partitioning
it into smaller pieces. Each of these pieces should be a well defined portion of the system
with carefully defined inputs, outputs, and functions. Obviously, not all systems have the
same structure. However, many modern operating systems share the system components
outlined below.
1 Process Management
A process is the unit of work in a system. Such a system consists of a collection of
processes, some of which are operating system processes, those that execute system code,
and the rest being user processes, those that execute user code. All of those processes can
potentially execute concurrently.
The operating system is responsible for the following activities in connection with
processes managed:
• The creation and deletion of both user and system processes
• The suspension and resumption of processes.
• The provision of mechanisms for process synchronisation
• The provision of mechanisms for deadlock handling.
2 Memory Management
Memory is central to the operation of a modern computer system. Memory is a large array
of words or bytes, each with its own address. Interaction is achieved through a sequence of
reads or writes of specific memory address that the CPU fetches from and stores in
memory. In order for a program to be executed, it must be mapped to absolute addresses
and loaded in to memory. As the program executes, it accesses program instructions and
data from memory by generating these absolute is declared available, and the next program
may be loaded and executed.
The operating system is responsible for the following activities in connection with memory
management:
• Keeping track of which parts of memory are currently being used and by whom.
• Deciding which processes are to be loaded into memory when memory space becomes
available.
• Allocating and deallocating memory space as needed.
3 Secondary Storage Management
The main purpose of a computer system is to execute programs. These programs, together
with the data they access, must be in main memory during execution. Since the main
memory is too small to permanently accommodate all data and programs, the computer
system must provide secondary storage to back-up main memory. Most modem computer
systems use disks as the primary on-line storage of information, of both programs and data.
Most programs, like compilers, assemblers, sort routines, editors, formatters, and so on,
are stored on the disk until loaded into memory, and then use the disk as both the source
and destination of their processing. Hence the proper management of disk storage is of
central importance to a computer system.
The operating system is responsible for the following activities in connection with disk
management:
• Free space management
• Storage allocation
• Disk scheduling.
4 I/O System
One of the purposes of an operating system is to hide the peculiarities of specific hardware
devices from the user. For example, in Unix, the peculiarities of I/O devices are hidden
from the bulk of the operating system itself by the I/O system. The I/O system consists of:
• A buffer caching system
• A general device driver code
• Drivers for specific hardware devices
Only the device driver knows the peculiarities of a specific device.

5 File Management
File management is one of the most visible services of an operating system. Computers can
store information in several different physical forms. The magnetic tape, disk, and drum
are the most common forms. Each of these devices has it own characteristics and physical
organisation.
For the convenient use of the computer system, the operating system provides a uniform
logical view of information storage. The operating system abstracts from the physical
properties of its storage devices to define a logical storage unit, the file. Files are mapped,
by the operating system, onto physical devices.
A file is a collection of related information defined by its creator. Commonly, files
represent programs (both source and object forms) and data. Data files may be numeric,
alphabetic or alphanumeric. Files may be free-form, such as text files, or may be rigidly
formatted. In general a file is a sequence of bits, bytes, lines or records whose meaning is
defined by its creator and user. It is a very general concept.
The operating system is responsible for the following activities in connection with file
management:
• The creation and deletion of files
• The creation and deletion of directory
• The support of primitives for manipulating files and directories
• The mapping of files onto disk storage.
• Backup of files on stable (non volatile) storage.

6 Protection System
The various processes in an operating system must be protected from each other’s
activities. For that purpose, various mechanisms are used to ensure that the files, memory
segment, CPU and other resources can be operated on only by those processes that have
gained proper authorisation from the operating system.
For example, memory addressing hardware ensures that a process can only execute within
its own address space. The timer ensures that no process can gain control of the CPU
without relinquishing it. Finally, no process is allowed to do its own I/O, to protect the
integrity of the various peripheral devices.
Protection refers to a mechanism for controlling the access of programs, processes, or users
to the resources defined by a computer controls to be imposed, together with some means
of enforcement.
Protection can improve reliability by detecting latent errors at the interfaces between
component subsystems. Early detection of interface errors can often prevent contamination
of a healthy subsystem by a subsystem that is malfunctioning. An unprotected resource
cannot defend against use (or misuse) by an unauthorised or incompetent user.

7 Networking
A distributed system is a collection of processors that do not share memory or a clock.
Instead, each processor has its own local memory, and the processors communicate with
each other through various communication lines, such as high speed buses or telephone
lines. Distributed systems vary in size and function. They may involve microprocessors,
workstations, minicomputers, and large general purpose computer systems.
The processors in the system are connected through a communication network, which can
be configured in a number of different ways. The network may be fully or partially
connected. The communication network design must consider routing and connection
strategies, and the problems of connection and security. A distributed system provides the
user with access to the various resources the system maintains. Access to a shared resource
allows computation speed-up, data availability, and reliability.
8 Command Interpreter System
One of the most important components of an operating system is its command interpreter.
The command interpreter is the primary interface between the user and the rest of the
system.
Many commands are given to the operating system by control statements. When a new job
is started in a batch system or when a user logs in to a time-shared system, a program which
reads and interprets control statements is automatically executed. This program is variously
called (1) the control card interpreter, (2) the command line interpreter, (3) the shell (in
UNIX), and so on. Its function is quite simple: get the next command statement, and
execute it.
The command statement themselves deal with process management, I/O handling,
secondary storage management, main memory management, file system access, protection,
and networking.

Fig.10: Relationship between the operating system and other components of the
computer system

Language Translators
A programming language is a set of notations in which we express our instructions to the
computer. At the initial stage of computer development, programs were written in machine
language conducting the binary system i.e. 0 and 1. Such programs were hard to write,
read, debug and maintain. In an attempt to solve these problems, other computer languages
were developed. However, computers can run programs written only in machine language.
There is therefore the need to translate programs written in these other languages to
machine language. The suites of languages that translate other languages to machine
language are called language translators. The initial program written in a language different
from machine language is called the source program and its equivalent in machine language
is called object program.
Three examples of classes of language translators are assemblers, interpreters and
compilers.
1. Assemblers: An assembler is a computer program that accepts a source program in
assembly language program and reads and translates the entire program into an equivalent
program in machine language called the object program or object code. Each machine has
its own assembly language, meaning that the assembly language of one machine cannot
run on another machine.
2. Interpreters: An interpreter is a program that accepts program from a source language,
reads, translates and executes it, line by line, into machine language.
3. Compilers: A compiler is a computer program that accepts a source program in one
high-level language, reads and translates the entire user’s program into an equivalent
program in machine language, called the object program or object code. The stages in
compilation include:
• Lexical analysis
• Syntax analysis
• Semantic analysis
• Code generation
For each high-level language, there are different compilers. We can therefore talk of
COBOL Compilers, FORTRAN Compilers, BASIC Compilers, etc. A compiler also
detects syntax errors, that is, errors that arise from the use of the language. Compilers are
portable, i.e. a COBOL Compiler on one machine can run on a different machine with
minimum changes.

Utility Software
This is a set of commonly used programs in data processing departments, also called
service or general-purpose programs. They perform the following operations.
• File Conversion: This covers data transfer from any medium to another, making an exact
copy or simultaneously editing and validating. For example, copying from a hard disk to a
diskette.
• File Copy: It makes an exact copy of a file from one medium to another or from an area
of a medium to another area of the same medium.
• Housekeeping Operations: These include programs to clear areas of storage, writing file
labels and updating common data. They are not involved in solving the problem in hand.
They are operations that must be performed before and after actual processing.

Application Software
Application software is a set of programs designed to solve problems of a specific nature.
It could either be supplied by the computer manufacturer, or in some cases, the users
produce their own application program called user programs. Hence, application software
could be subdivided into two classes, namely; generalized software and userdefined
software.
Under generalised software, we have as examples: Word Processing Programs e.g. Word
Perfect, Word Star, Microsoft Word. Also included are Desktop Publishing e.g. Ventura,
PageMaker, CorelDraw, likewise the Spreadsheet program e.g. LOTUS 1,2,3, Excel,
Super-Q. Under the user-defined, software, we could have some user-defined packages for
a particular company or organisation, for accounting, payroll or some other specialised
purposes.
• The Word Processor: A word processor is used to create, edit, save and print reports. It
affords the opportunity to make amendments before printing is done. During editing a
character, word, sentence or a number of lines can be removed or inserted as the case may
be. Another facility possible is spell checking. A document can be printed as many times
as possible. Word processors are mainly used to produce letters, mailing lists, labels,
greeting cards, business cards, reports, manuals and newsletters. Examples are:
WordPerfect, WordStar, Display Writer, Professional Writer, LOTUS Manuscript, Ms-
Word, LOCO Script and MM Advantage II etc.
• The Spreadsheet: This is an application mainly designed for numerical figures and
reports. Spreadsheets contain columns and rows, in which numbers can be entered. It is
possible to change numbers before printing is done. Other features of spreadsheets are the
ability to use formulas to calculate, use sum and average function, ability to perform
automatic recalculation, and the capacity to display reports in graphical modes. The
spreadsheet is used for budgets, tables, cost analysis, financial reports, tax and statistical
analysis. Examples are: LOTUS 123, Supercalc, MS Multiplan, MS-Excel, VP Planner etc.
• Integrated Packages: They are programs or packages that perform a variety of different
processing operations using data that is compatible with whatever operation is being
carried out. They perform a number of operations like word processing, database
management and spread sheeting. Examples are: Office Writer, Logistic Symphony,
Framework, Enable, Ability, Smart Ware II, and Microsoft Works V2.
• Graphic Packages: These are packages that enable you to bring out images, diagrams
and pictures. Examples are PM, PM Plus, Graphic Writer, Photoshop.
• Database Packages: These are software for designing, setting up and subsequently
managing a database. (A database is an organised collection of data that allows for
modification, taking care of different users view). Examples are Dbase II, III, IV,
FoxBASE, Base Data Perfect, Paradox III, Revelation Advanced and MS-Access.
• Statistical Packages: These are packages that can be used to solve statistical problems,
e.g. Stat Graphical, and SPSS (Statistical Packages for Social Scientists).
• Desktop Publishing: These are packages that can be used to produce books and
documents in standard form. Examples are PageMaker, Ventura, Publishers, Paints Brush,
Xerox Form Base, News Master II, and Dbase Publisher.
• Game Packages: These are packages that contain a lot of games for children and adults.
Examples are Chess, Scrabble, Monopoly, Tune Trivia, Star Trek 2, California Game,
Soccer Game, War Game, Spy Catcher and Dracula in London.
• Communication Packages: Examples are Carbon Plus, Data Talk V3.3, Cross Talk,
SAGE Chit Chat and Data Soft. There are so many packages around, virtually for every
field of study but these are just to mention a few of them. Advantages of these packages
include that they are quicker to and cheaper implement, time saving, minimum time for its
design, they have been tested and proven to be correct, they are usually accompanied by
full documentation, and are also very portable.
User Programs
This is a suite of programs written by programmers for computer users. They are required
for the operation of their individual business or tasks. An example is a payroll package
developed for the salary operation of a particular company.
CHAPTER SEVEN
COMPUTER LANGUAGES
Basically, human beings cannot speak or write in computer language, and since computers
cannot speak or write in human language, an intermediate language had to be devised to
allow people to communicate with the computers. These intermediate languages, known
as programming languages, allow a computer programmer to direct the activities of the
computer. These languages are structured around a unique set of rules that dictate exactly
how a programmer should direct the computer to perform a specific task. With the powers
of reasoning and logic of human beings, there is the capability to accept an instruction and
understand it in many different forms. Since a computer must be programmed to respond
to specific instructions, instructions cannot be given in just any form. Programming
languages standardize the instruction process. The rules of a particular language tell the
programmer how the individual instructions must be structured and what sequence of
words and symbols must be used to form an instruction.
• An operation code
• Some operands.
The operation code tells the computer what to do such as add, subtract, multiply and divide.
The operands tell the computer the data items involved in the operations. The operands in
an instruction may consist= of the actual data that the computer may use to perform an
operation, or the storage address of data.
Some computers use many types of operation codes in their instruction format and may
provide several methods for doing the same thing. Other computers use fewer operation
codes, but have the capacity to perform more than one operation with a single instruction.
There are four basic types of instructions, namely:
(a) input-output instructions;
(b) arithmetic instructions;
(c) branching instructions; and
(d) logic instructions.
An input instruction directs the computer to accept data from a specific input device and
store it in a specific location in the store. An output instruction tells the computer to move
a piece of data from a computer storage location and record it on the output medium. All
of the basic arithmetic operations can be performed by the computer. Since arithmetic
operations involve at least two numbers, an arithmetic operation must include at least two
operands.
Branch instructions cause the computer to alter the sequence of execution of instruction
within the program. There are two basic types of branch instructions; namely unconditional
branch instruction and conditional branch instruction. An unconditional branch instruction
or statement will cause the computer to branch to a statement regardless of the existing
conditions. A conditional branch statement will cause the computer to branch to a statement
only when certain conditions exist.
Logic instructions allow the computer to change the sequence of execution of instruction,
depending on conditions built into the program by the programmer. Typical logic
operations include: shift, compare and test.
Types of Programming Language
The effective utilisation and control of a computer system is primarily through the software
of the system. We note that there are different types of software that can be used to direct
the computer system. System software directs the internal operations of the computer, and
applications software allows the programmer to use the computer to solve user made
problems. The development of programming techniques has become as important to the
advancement of computer science as the developments in hardware technology. More
sophisticated programming techniques and a wider variety of programming languages have
enabled computers to be used in an increasing number of applications.
Programming languages, the primary means of human-computer communication, have
evolved from early stages where programmers entered instructions into the computer in a
language similar to that used in the application. Computer programming languages can be
classified into the following categories:
(a) Machine language
(b) Assembly language
(c) High level symbolic language
(d) Very high level symbolic language

1 Machine Language
The earliest forms of computer programming were carried out by using languages that were
structured according to the computer stored data, that is, in a binary number system.
Programmers had to construct programs that used instructions written in binary notation 1
and 0. Writing programs in this fashion is tedious, time-consuming and susceptible to
errors. Each instruction in a machine language program consists, as mentioned before, of
two parts namely: operation code and operands. An added difficulty in machine language
programming is that the operands of an instruction must tell the computer the storage
address of the data to be processed. The programmer must designate storage locations for
both instructions and data as part of the programming process. Furthermore, the
programmer has to know the location of every switch and register that will be used in
executing the program, and must control their functions by means of instructions in the
program.
A machine language program allows the programmer to take advantage of all the features
and capabilities of the computer system for which it was designed. It is also capable of
producing the most efficient program as far as storage requirements and operating speeds
are concerned. Few programmers today write applications programs in machine language.
A machine language is computer dependent. Thus, an IBM machine language will not run
on NCR machine, DEC machine or ICL machine. A machine language is the First
Generation (computer) Language (IGL).
2 Assembly (Low Level) Language
Since machine language programming proved to be a difficult and tedious task, a symbolic
way of expressing machine language instructions is devised. In assembly language, the
operation code is expressed as a combination of letters rather than binary numbers,
sometimes called mnemonics. This allows the programmer to remember the operations
codes easily than when expressed strictly as binary numbers. The storage address or
location of the operands is expressed as a symbol rather than the actual numeric address.
After the computer has read the program, operations software are used to establish the
actual locations for each piece of data used by the program. The most popular assembly
language is the IBM Assembly Language. Because the computer understands and executes
only machine language programs, the assembly language program must be translated into
a machine language. This is accomplished by using a system software program called an
assembler. The assembler accepts an assembly language program and produces a machine
language program that the computer can actually execute. Although, assembly language
programming offers an improvement over machine language programming, it is still an
arduous task, requiring the programmer to write programs based on particular computer
operation codes. An assembly language program developed and run on IBM computers
would fail to run on ICL computers. Consequently, the portability of computer programs
in a computer installation to another computer installation which houses different makes
or types of computers were not possible. The low level languages are, generally, described
as Second Generation (Computer) Language (2GL).

3 High Level Language


The difficulty of programming and the time required to program computers in assembly
languages and machine languages led to the development of high-level languages. The
symbolic languages, sometimes referred to as problem oriented languages reflect the type
of problem being solved rather than the computer being used to solve it. Machine and
assembly language programming is machine dependent but high level languages are
machine independent, that is, a high-level language program can be run on a variety of
computers.
While the flexibility of high level languages is greater than that of machine and assembly
languages, there are close restrictions in exactly how instructions are to be formulated and
written. Only a specific set of numbers, letters, and special characters may be used to write
a high level program and special rules must be observed for punctuation. High level
language instructions do resemble English language statements and the mathematical
symbols used in ordinary mathematics. Among the existing and popular high level
programming languages are Fortran, Basic, Cobol, Pascal, Algol, Ada and P1/1.

3.2.4 Very High Level Language


Programming aids or programming tools are provided to help programmers do their
programming work more easily. Examples of programming tools are:
• Program development systems that help users to learn programming, and to program in
a powerful high level language. Using a computer screen (monitor) and keyboard under
the direction of an interactive computer program, users are helped to construct application
programs.
• A program generator or application generator that assists computer users to write their
own programs by expanding simple statements into program code’.
• A database management system
• Debuggers that are programs that help the computer user to locate errors (bugs) in the
application programs

The very high level language generally described as the Fourth Generation (computer)
Language (4GL), is an ill-defined term that refers to software intended to help computer
users or computer programmers to develop their own application programs more quickly
and cheaply. A 4GL, by using a menu system for example, allows users to specify what
they require, rather than describe the procedures by which these requirements are met. The
detailed procedure by which the requirements are met is done by the 4GL software which
is transparent to the users.
A 4GL offers the user an English-like set of commands and simple control structures in
which to specify general data processing or numerical operations. A program is translated
into a conventional high level language such as COBOL, which is passed to a compiler. A
4GL is, therefore, a non-procedural language. The program flows are not designed by the
programmer but by the fourth generation software itself. Each user request is for a result
rather than a procedure to obtain the result.
CHAPTER EIGHT
BASIC PRINCIPLES OF COMPUTER PROGRAMMING
Problem Solving With the Computer
The computer is a general-purpose machine with a remarkable ability to process
information. It has many capabilities, and its specific function at any particular time is
determined by the user. This depends on the program loaded into the computer memory
being utilised by the user.
There are many types of computer programs. However, the programs designed to convert
the general-purpose computer into a tool for a specific task or applications are called
“Application programs”. These are developed by users to solve their peculiar data
processing problems.
Computer programming is the act of writing a program which a computer can execute to
produce the desired result. A program is a series of instructions assembled to enable the
computer to carry out a specified procedure. A computer program is the sequence of simple
instructions into which a given problem is reduced and which is in a form the computer
can understand, either directly or after interpretation.

Programming Methodology
Principles of Good Programming
It is generally accepted that a good computer program should have the characteristics
shown below:
• Accuracy: The program must do what it is supposed to do correctly and must meet the
criteria laid down in its specification.
• Reliability: The program must always do what it is supposed to do, and never crash.
• Efficiency: Optimal utilisation of resources is essential. The program must use the
available storage space and other resources in such as way that the system speed is not
wasted.
• Robustness: The program should cope with invalid data and not stop without an
indication of the cause of the source of error.
• Usability: The program must be easy enough to use and be well documented.
• Maintainability: The program must be easy to amend, having good structuring and
documentation.
• Readability: The code of a program must be well laid out and explained with comments.

Stages of Programming
The preparation of a computer program involves a set of procedure.
These steps can be classified into eight major stages, viz
(i) Problem definition
(ii) Devising the method of solution
(iii) Developing the method using suitable aids, e.g. pseudo code or flowchart.
(iv) Writing the instructions in a programming language
(v) Transcribing the instructions into “machine sensible” form
(vi) Debugging the program
(vii) Testing the program
(viii) Documenting all the work involved in producing the program.
(i) Problem definition
The first stage requires a good understanding of the problem. The programmer (i.e. the
person writing the program) needs to thoroughly understand what is required of a problem.
A complete and precise unambiguous statement of the problem to be solved must be stated.
This will entail the detailed specification which lays down the input, processes and output
required.
(ii) Devising the method of solution
The second stage involved is spelling out the detailed algorithm. The use of a computer to
solve problems (be it scientific or business data processing problems) requires that a
procedure or an algorithm be developed for the computer to follow in solving the problem.
(iii) Developing the method of solution
There are several methods for representing or developing methods used in solving a
problem. Examples of such methods are: algorithms, flowcharts, pseudo code, and decision
tables.
(iv) Writing the instructions in a programming language
After outlining the method of solving the problem, a proper understanding of the syntax of
the programming language to be used is necessary in order to write the series of instructions
required to get the problem solved.
(v) Transcribing the instructions into machine sensible form
After the program is coded, it is converted into machine sensible form or machine
language. There are some manufacturers written programs that translate users programs
(source programs) into machine language (object code). These are called translators and
instructions that machines can execute at a go, while interpreters accept a program and
execute it line-by-line.
During translation, the translator carries out syntax check on the source program to detect
errors that may arise from wrong use of the programming language.
(vi) Program debugging
A program seldomly executes successfully the first time. It normally contains a few errors
(bugs). Debugging is the process of locating and correcting errors. There are three classes
of errors.
• Syntax errors: Caused by mistake coding (illegal use of a feature of the programming
language).
• Logic errors: Caused by faulty logic in the design of the program. The program will
work but not as intended.
• Execution errors: The program works as intended but illegal input or other
circumstances at run-time makes the program stop.
There are two basic levels of debugging. The first level called desk checking or dry running
is performed after the program has been coded and entered or key punched. Its purpose is
to locate and remove as many logical and clerical errors as possible. The program is then
read (or loaded) into the computer and processed by a language translator. The function of
the translator is to convert the program statements into the binary code of the computer
called the object code. As part of the translation process, the program statements are
examined to verify that they have been coded correctly, if errors are detected, a series of
diagnostics referred to as an error message list is generated by the language translator. With
this list in the hand of the programmer, the second level of debugging is reached. The error
message list helps the programmer to find the cause of errors and make the necessary
corrections. At this point, the program may contain entering errors, as well as clerical errors
or logic errors. The programming language manual will be very useful at this stage of
program development.
After corrections have been made, the program is again read into the computer and again
processed by the language translator. This is repeated over and over again until the program
is error-free.
(vii) Program testing
The purpose of testing is to determine whether a program consistently produces correct or
expected results. A program is normally tested by executing it with a given set of input
data (called test data), for which correct results are known.
For effective testing of a program, the testing procedure is broken into three segments.
a. The program is tested with inputs that one would normally expect for an execution of
the program.
b. Valid but slightly abnormal data is injected (used) to determine the capabilities of the
program to cope with exceptions. For example, minimum and maximum values allowable
for a sales amount field may be provided as input to verify that the program
processed them correctly.
c. Invalid data is inserted to test the program’s error-handling routines. If the result of the
testing is not adequate, then minor logic errors still abound in the program. The
programmer can use any of these three alternatives to locate the bugs.
Other methods of testing a program for correctness include:
• Manual walk-through: The programmer traces the processing steps manually to find
the errors, pretending to be the computer, following the execution of each statement in the
program, noting whether or not the expected results are produced.
• Use of tracing routines: If this is available for the language, this is similar to (1) above
but is carried out by the computer; hence it takes less time and is not susceptible to human
error.
• Storage dump: This is the printout of the contents of the computer’s storage locations.
By examining the contents of the various locations, when the program is halted, the
instruction at which the program is halted can be determined. This is an important clue to
finding the error that caused the halt.
• Program documentation: Documentation of the program should be developed at every
stage of the programming cycle.
The following are documentations that should be done for each program.
(a) Problem Definition Step
• A clear statement of the problem
• The objectives of the program (what the program is to accomplish)
• Source of request for the program.
• Person/official authorising the request
(b) Planning the Solution Step
• Flowchart, pseudo code or decision tables
• Program narrative
• Descriptive of input, and file formats
(c) Program source coding sheet
(d) User’s manual to aid persons who are not familiar with the program to apply it correctly.
The manual it contains a description of the program and what it is designed to achieve.
(e) Operator’s manual to assist the computer operator to successfully run the program. This
manual contains:
(i) Instructions about starting, running and terminating the program.
(ii) Message that may be printed on the console or VDU (terminal) and their meanings.
(iii) Setup and take down instruction for files.
Advantages of Program Documentation
a. It provides all necessary information for anyone who comes in contact with the program.
b. It helps the supervisor in determining the program’s purpose, how long the program will
be useful and future revision that may be necessary.
c. It simplifies program maintenance (revision or updating).
d. It provides information as to the use of the program to those unfamiliar with it.
e. It provides operating instructions to the computer operator.
CHAPTER NINE
FLOWCHARTS AND ALGORITHMS
A flowchart is a graphical representation of the major steps of work in process. It displays
in separate boxes the essential steps of the program and shows by means of arrows the
directions of information flow. The boxes, most often referred to as illustrative symbols,
may represent documents, machines or actions taken during the process. The area of
concentration is on where or who does what, rather than on how it is done. A flowchart can
also be said to be a graphical representation of an algorithm, that is, it is a visual picture
which gives the steps of an algorithm and also the flow of control between the various
steps.

3.3 Guidelines for Drawing Flowcharts


• Each symbol denotes a type of operation: Input, Output, Processing, Decision, Transfer
or Branch or Terminal.
• A note is written inside each symbol to indicate the specific function to be performed.
• Flowcharts are read from top to bottom.
• A sequence of operations is performed until a terminal symbol designates the end of the
run or “branch” connector transfers control.

3.4 Flowcharting the Problem


The digital computer does not do any thinking and cannot make unplanned decisions.
Every step of the problem has to be taken care of by the program. A problem which can be
solved by a digital computer need not be described by an exact mathematical equation, but
it does need a certain set of rules that the computer can follow. If a problem needs intuition
or guessing, or is so badly defined that it is hard to put into words, the computer cannot
solve it. You have to define the problem and set it up for the computer in such a way that
every possible alternative is taken care of. A typical flowchart consists of special boxes, in
which are written the activities or operations for the solution of the problem. The boxes,
linked by means of arrows, show the sequence of operations. The flowchart acts as an aid
to the programmer, who follows the flowchart design to write his programs.
3.5 Algorithms
Before a computer can be put to any meaningful use, the user must be able to come out
with or define a unit sequence of operations or activities (logically ordered) which gives
an unambiguous method of solving a problem or finding out that no solution exists. Such
a set of operations is known as an ALGORITHM.
Definition: An algorithm, named after the ninth century scholar Abu Jafar Muhammad Ibn
Musu Al-Khowarizmi, is defined as follows:
• An algorithm is a set of rules for carrying out calculations either by hand or a machine.
• An algorithm is a finite step-by-step procedure to achieve a required result.
• An algorithm is a sequence of computational steps that transform the input into the
output.
• An algorithm is a sequence of operations performed on data that have to be organised in
data structures.
• An algorithm is an abstraction of a program to be executed on a physical machine (model
of computation).
The most famous algorithm in history dates well before the time of the ancient Greeks: this
is Euclids algorithm for calculating the greatest common divisor of two integers. Before
we go into some otherwise complex algorithms, let us consider one of the simplest but
common algorithms that we encounter everyday.
An algorithm therefore can be characterised by the following:
(i) A finite set or sequence of actions
(ii) This sequence of actions has a unique initial action
(iii) Each action in the sequence has unique successor
(iv) The sequence terminates with either a solution or a statement that the problem is
unresolved. An algorithm can therefore be seen as a step-by-step method of solving a
problem.

3.6 Pseudocodes
A pseudocode is a program design aid that serves the function of a flowchart in expressing
the detailed logic of a program. Sometimes a program flowchart might be inadequate for
expressing the control flow and logic of a program. By using Pseudocodes, program
algorithms can be expressed as English-language statements. These statements can be used
both as a guide when coding the program in a specific language and as documentation for
review by others. Because there is no rigid rule for constructing pseudocodes, the logic of
the program can be expressed in a manner that does not conform to any particular
programming language. A series of structured words is used to express the major program
functions. These structured words are the basis for writing programs using a technical term
called “structure programming”.

3.7 Decision Tables


Decision tables are used to analyse a problem. The conditions applying in the problem are
set out and the actions to be taken, as a result of any combination of the conditions arising
are shown. They are prepared in conjunction with or in place of flowcharts. Decision tables
are a simple yet powerful and unambiguous way of showing the actions to be taken when
a given set of conditions occur. Moreover, they can be used to verify that all conditions
have been properly catered for. In this way they can reduce the possibility that rare or
unforeseen combinations of conditions will result in confusion about the actions to be
taken. Decision tables have standardised formats and comprise of four sections.
(a) Conditions Stub: This section contains a list of all possible conditions which could
apply in a particular problem.
(b) Conditions Entry: This section contains the different combination of the conditions,
each combination being given a number termed a ‘Rule’.
(c) Action Stub: This section contains a list of the possible actions which could apply for
any given combinations of conditions.
(d) Action Entry: This section shows the actions to be taken for each combination of
conditions.
Writing the instructions in a programming language (program coding)
The instructions contained in the algorithm must be communicated to the computer in a
language it will understand before it can execute them. The first step is writing these
instructions in a programming language (program coding). Program coding is the process
of translating the planned solution to the problems, depicted in a flowchart, pseudocode or
decision table, into statements of the program. The program flowchart, pseudocode
decision table as the case may be, is as a guide by the programmer as he describes the logic
in the medium of a programming language. The coding is usually done on coding sheets
or coding forms.
CHAPTER TEN
APPLICATION OF COMPUTERS IN EDUCATION
The computer has become a universal tool for modern men and women. Literacy today is
not defined only in terms of the ability to read and/or write but in addition, it includes the
ability to use and communicate with the aid of the computer. In the education sector,
computers are being used to promote teaching and learning.
3.1 Application of Computers in Education
The field of education provides the most fascinating application of the computing system.
This has consequently attracted considerable attention from educationists and policy
makers since the late 1960s, when computers were introduced into the classroom. The entry
of the computer into the classroom has now offered opportunities and possibilities for
students to develop their potential with computer-aided instruction packages. A
considerable number of fascinating and entertaining educational computer software
packages are now available in almost every subject. These self-tutor instruction packages
are well designed to enable the user to learn at their own time, speed and convenience. The
role of the teacher here is that of a guide so that the student can think more logically and
can gain meaningful experience in such structured situations, role playing and other well
programmed exercises so that the student can have a better understanding of the
interrelationships of variables to real life situations.
Apart from the use of the computer as an instructional aid, it is also used in the execution
of routine and administrative tasks such as the keeping of academic and administrative
records on admissions, examinations, staffing and other routine functions.
The computer has also revolutionised the services rendered by libraries to readers. A
computer based on-line public access catalogue system manages a search for materials
using indices such as author’s name, book title, subject and class mark. Readers using
public terminals can go through a menu-driven programme to find specific books or
periodicals, recall books on loans and also make requisitions for short loan items.
Furthermore, optical character reading devices are used to scan the bar codes on readers’
library cards to offer a computer based issuing of books to readers. A computer based
security system is used to maintain security services in libraries as well. In educational
institutions such as nursery schools, primary schools, secondary schools, polytechnics,
colleges of education and universities, the computer can be used for the following:
• Computer aided self-tutored application packages.
• Computer instructional aids e.g. digital projectors.
• Microsoft PowerPoint application software for preparing slide shows, speeches,
seminars, workshops, lectures etc.
• Computer simulated graded exercises and group work.
• Computer-aided laboratory experiments and investigations.
• Computer-aided software packages for special students e.g. the mentally/physically
disabled (the blind, deaf etc), adults, KGs, teenagers etc.
• Distant learning programmes e.g. sandwich programmes, through the virtual library
technology.
• Teleconferencing technology.
• Placing and sourcing of educational materials/resources e.g. papers, journals, newsletters,
magazines, textbooks, and films, on the Internet.
• Computerisation of library services to make cataloguing indexing, retrieval, borrowing,
return and other library services easier and faster.
• Keeping the records of students, teachers and teaching facilities.
• Estimating the teacher-student ratio with a view to assessing the adequacy of teaching
and learning.
• Estimating the ratio of students to teachers and teachers to teaching facilities with a view
to assessing the adequacy of teaching and learning.
• Timely generation of students’ examination results.
• Automatic generation of lecture and examination time tables.
• Aiding students to learn basic theoretical concepts. There are currently, some computer
aided learning software packages and hardware devices that are readily available in the
market.
CHAPTER ELEVEN
COMPUTER APPLICATIONS IN BUSINESS AND INDUSTRY
In the early days of computing, computers were originally meant to assist in scientific and
engineering applications. Today, computers are widely used to perform wide ranging tasks
from routine accounting operations to management decision making. Corporate operations
are becoming more complex and competitive, thus increasing the need to produce and
process more accurate and timely data both in quantity and quality. More accurate, reliable
and timely data are needed for corporate planning, policy formulation and decision making.

Business and Industry


The following areas of application of computer technology in business will be discussed in
detail:
• Payroll
• Inventory Control
• Auditing Operations
• Personnel Record Keeping
• Preparation of Customer Utility Bills and Payment Orders
• Management Information System
• High Quality Production Controls
• Point of Sale Service
• Financial Market Transactions
• The Publishing Industry.
(i) Payroll
Payroll preparation is essentially a repetitive and routine task which has to be done
periodically for every single employee in an organisation at particular points in time,
whether weekly, fortnightly or monthly.
Payroll preparation is a work schedule which demands speed, accuracy, carefulness and
honesty. It involves making references to a number of source documents which, by their
nature, also require constant and periodic updating.
These attributes obviously lend themselves to the use of computers which have the
capabilities to meet the challenging demands in payroll preparation. These include the
capability of the computer to:
• Handle the enormous amounts of information required in payroll preparation.
• Store information and make the information available as and when it is needed.
• Handle repetitive recurring tasks and check on its own work as a way of controlling
human errors.
• Provide a much better and reliable procedure for necessary security checks to monitor
and detect fraud and other malpractices.
Computer application in payroll preparation involves a number of procedures which
include the following:
• Updating the personal records of employees whenever new
appointments, resignations, terminations, dismissals and other
changes are made within a period of time.
• Computing wages and salaries for each individual worker based on regular and overtime
hours worked.
• Making deductions for income tax and for other payments such as union dues and
repayment of loans.
• Preparation of pay advice slips and cheques to employees and banks.
• Updating the master payroll file based on the records received from the personnel
department.
• Preparation of summary report and analysis for management.

In addition to payroll preparation, the computer is also used for other routine and repetitive
book keeping and accounting operations involving recording, classifying and summarising
accounting data. This may involve preparing and updating ledger and journal accounts,
invoicing, accounts receivable and payable. Other operations may also include
updating and preparing accounts on sales, purchases and inventory. The computer is also
used for the preparation and evaluation of the balance sheet and statements of accounts
and, preparation of dividends and summary accounts for shareholders and management.
(ii) Inventory Control
An equally important business application of the computer is seen in the execution of the
important business function involved in maintaining a desirable level of inventory in a
business organisation. This is to ensure that working capital is not unduly tied in stocks
while at the same time available stocks can meet the demands of continued production
processes. In this direction, the computer is used as a tool in updating records of inventory
and also in the preparation of forecasts and demand predictions based on economic order
quantity analysis and other forecasting techniques.
(iii) Auditing Operations
The computer is used as a tool by auditors to report accurately on the transaction register
which constitutes the most crucial aspect in the audit trail. With the aid of the computer, it
is easier for auditors, in their examination of the accounting records of a business, to trace
routine business operations so that variances can be detected and verified accurately using
various computer audit packages.
(iv) Management Information System
An equally challenging and revolutionary application of the computer in business is the
important role the computer-based Management Information System (MIS) is playing in
management decision making. The computer is used as a tool for the online storage,
retrieval, processing and maintenance of corporate data meant to be shared by all the users’
departments.
A Management Information System involves a computerised system of data processing
procedures which are integrated in an organisation to provide accurate, complete, concise,
timely and effective data which management can use at various levels of decision making
for planning, organising, directing, controlling and monitoring procedures. Included in
Management Information System to be used for the various decision making procedures
are a number of systems comprising:
• Controlling and operational planning support systems to deal with day-to-day decisions
involving routine processing and transaction procedures.
• Tactical support systems to deal with short-run and middle level management decisions.
• Strategic support systems to deal with corporate strategic and top level management
decisions.
With the aid of these support systems, data can be retrieved and analysed on a continuous
and timely basis to aid management decision making and other management functions
about sales, finances, purchases, acquisition of plant and equipment, research, market
analysis and so on.

(v) Personnel Record Keeping


One of the important functions of the personnel department is to maintain and continually
update a master file and other records in the personnel department in an organisation. The
computer facilitates the effective keeping of a comprehensive and up-to-date record of each
employee by providing a comprehensive database involving names, addresses, ages,
qualifications, marital status, salaries, dates of promotion and so on.
By keeping such an up-to-date record, a steady flow of various reports can be prepared at
the appropriate time to provide the necessary data to aid management decision making in
areas such as appointments, promotions, awards of incremental credits, leave periods, staff
training, staff development and so on. Furthermore, management can provide the necessary
accurate and up-to-date reports on a timely and continual basis to facilitate payroll
preparation and also to satisfy other mandatory data requirements from data users such as
governments, trade unions, banks, credit unions and tax collectors.

(vi) Preparation of Customers’ Utility Bills


The routine and periodic preparation of customers utility bills, particularly those based on
meter readings for such utility services as water, electricity, telephone and gas, demands
accuracy and speed in which the computer has proved very effective and efficient. With
the aid of the computer, accurate and up-to-date customer’s bills can be sent to them
periodically and in good time to enable settlement to be made. Computers can be used to
generate notices of defaulters. Equally important is the use of the computer to calculate
dividend, pension and other periodic payments as and when they become due.

(vii) High Quality Production Controls


Another important application of the computer which has proved very beneficial in the
world of business is the monitoring of production processes so that high quality products
and services are provided to customers. Computer Aided Design (CAD) devices are used
in the design of products while computer monitored quality control procedures are used in
the production process to detect items that fail to meet the approved quality standards and
specifications. Such automated devices are used in car assembly plants, oil refineries,
manufacturing of drugs and so on. Computer aided quality control devices are also used to
monitor weight, size, quantity, contents and other standard specifications in the course of
a manufacturing process.
(viii) Point of Sale Services
Check-out points in supermarkets and departmental stores are now highly computerised to
detect the prices of items. Magnetic Character Readers are used to scan Universal Product
Codes on items to provide fast, efficient and satisfactory services to customers in
commercial transactions in retail outlets, departmental stores, libraries and other point of
sale services.
(ix) Financial Market Transactions
Computer application in the financial market is manifested in its use to monitor financial
market operations and to disseminate timely and up to-date information which are
announced daily on the radio, television or consumers’ magazines. Stock exchange centres
are highly computerised to provide accurate and up-to-date prices of stocks and shares, and
also to execute the buying and selling transactions that take place in the markets. The
computer has long been used to assess, evaluate and monitor stock market prices. With the
aid of the computer, market trends are predicted with accuracy and investors are provided
with appropriate and up-to-date data to enable them to make intelligent decisions, and also
to guide them to manage their portfolios effectively.
Furthermore, the computer is used to calculate the foreign exchange rates of major
currencies as well as the prices of major commodities such as gold, crude oil, cocoa, coffee,
and other commodities that enter into international trade. The computer is also used to
provide accurate and up-to-date information on interest rates, gilts and bonds to reflect
market trends. Computer application in business is further seen in its use in discounting
bills and bonds and other financial market instruments to their present values. Closely
related to this is the use of the computer to carefully monitor the movement of a basket of
goods and services which measures the rate of inflation in an economy, and which further
provides a barometer of the standard of living in a country.
Most banking operations are now highly computerised as a move to provide fast, effective
and efficient services to customers. These include the use of Magnetic Ink Character
Readers to process cheques and the provision of Magnetic Credit Cards to customers to
have access to funds twenty-four hours a day at unattended automatic teller machines.
Customers also use their credit cards to open doors to some banking houses to transact
business. There are also Electronic Funds Transfer terminals to perform automatic financial
transactions at check out counters in hotels, stores, airlines, railways and other terminals.

In the banking industry, the computer can also be used to:


• Keep the records of customers or clients’ accounts.
• Monitor, control and evaluate the transactions of the customers and clients on their
accounts.
• Reconcile accounts and assist in producing cashbook balances.
• Monitor, control and evaluate the bank or insurance company’s revenue and expenditure.
• Automate the production of statements of account and assist in generating correct
addresses to which the statements of account should be sent.
x) The Publishing industry
In the publishing industry, the computer is used in the following ways:
• Creative writing.
• Typesetting manuscripts.
• Drawing illustrations.
• Generating the table of contents and the index of a book automatically.
• Generating the page size of a book and cut and paste illustrations automatically.
• Processing images such as the scanning of pictures, and recording them automatically in
the computer store for future retrieval or printing.
• Verification and validation of spellings.
• Assisting the writer of an article to identify words that have similar meaning.

CHAPTER TWELVE
COMPUTER APPLICATIONS IN GOVERNMENT, SCIENCE,
ENGINEERING, TRANSPORT, COMMUNICATIONS, RECREATION
AND THE MILITARY
Computers are commonly used to find accurate solutions to both scientific and engineering
problems. Weather forecasting has now become a daily activity to which the computer has
proved very useful in providing information on the kind of weather we are likely to expect
over a period of time. Such accurate predictions help the farmers, airline operators,
navigators and other activities which depend on the weather for their operations. Computer
aided critical path study is used to monitor the optimum and efficient use of time, money,
material and human resources in the execution and implementation of projects. Such
critical path study is used successfully in various projects, for example, the construction of
roads, bridges, buildings, manufacturing, the conduct of elections and sales campaigns.
Another scientific application of in computer is the monitoring and simulation modelling
techniques, to provide indicators as to how systems such as the human body, economy,
weather, demographic variables and so on react to changes in situations. The application
of simulation techniques helps in taking decisions and precautions in advance, in case there
are repercussions help when the desired changes are introduced in practical situations.
Computers also help to design buildings, roads, bridges, vehicles, aeroplanes, ships and
complex architectural, works computer. Prototyping is increasingly being used in the
construction of systems to minimise the financial losses in real life situations.
The computer is also used to find solutions to very complex mathematical and statistical
computations at incredible speeds and accuracy. Furthermore, various software packages
are now increasingly being developed to analyse surveyed data, construct live tables,
perform mortality demographic and other multivariate data analysis designed to
revolutionise scientific research and to find practical solutions to complex, challenging and
everyday life situations. We now outline the use of the computer in the following specific
areas, among others.

(i) Research Institutions


a) Evaluating, monitoring and controlling laboratory experiments.
b) Storing the readings obtained in laboratory experiments.
c) Standardising the readings obtained in laboratory experiments.
d) Tabulating or plotting the graph of the results obtained from laboratory experiments.
e) Interpreting the results obtained from laboratory experiments.
f) Modelling and simulating systems.
g) Developing the prototypes of systems.

(ii) Engineering and Architecture


a) Designing and drawing with very high precision, accuracy and at minimum cost.
b) Modelling and simulating the behaviour of engineering or architectural systems.
c) Developing the prototype of, say, an aircraft, a motor car, assembly plant and so on. It
is possible to test and monitor the performance of these systems without serious financial
commitments.
d) Fabricating, constructing and assembling the component parts of machines such as
motor cars, aircraft and engineering plants without any hazards.

1 Marketing Departments
(a) Comparative analysis of products of two or more companies with a view to predicting
some areas of improvement.
(b) Market survey, statistical analysis of proportional market gains and prediction of new
market areas.
(c) Creation of consumer awareness and appreciation of products.

3.3 Agriculture
(a) Keeping records of soil, rainfall, weather conditions, land size, crops, and chemicals
and ultimately processing the records to estimate soil fertility and yield per hectare over a
number of years.
(b) Keeping records, of poultry and animal husbandry farm with a view to estimating the
feed mix and environmental conditions desirable for optimal yield.
(c) Assessing the behaviour patterns of farmers in a cooperative venture, and assisting in
matching the farmers that have identical behaviour with a view to optimizing their
productivity.

3.4 Law and Justice


(a) Modelling and simulating legislative procedures.
(b) Indexing, storage and retrieval of law reports.
(c) Indexing, storage and retrieval of court proceedings.
(d) Assisting the human experts in crime investigation.
(e) Statistical analysis of criminal and civil cases in the law court and estimating the rate
of growth.
(f) Assisting the court registrar in the allocation of cases to courts.
(g) Monitoring and evaluating congestion in police custody and prisons.
(h) Identifying the causes of crime and assisting with the provision of preventive and
curative measures.

3.5 Health Care


The delivery of health care facilities has been one of the notable areas in which computer
applications have proved most beneficial to mankind. The computer is used to conduct fast
and accurate laboratory tests for blood, urine, stool and so on. The computer is used in the
diagnosis and physiological monitoring of patients’ life during surgical operation and
intensive care programmes. There is also a wide range of application packages for the
scientific preparation and administration of drugs, x-ray techniques, blood bank
management and so on. An equally important application of the computer is the computer
simulation provided in the training of medical and paramedical staff and students.
Computers are being used to perform routine clerical functions in hospitals such as keeping
records of hospital admission and discharges, administration of drugs and prescriptions and
other hospital administrative functions. Furthermore, the computer is used to provide a data
bank of medical history to meet the data needs of health insurance schemes and vital health
care statistical reports.
The summary that can be drawn about the use of computers in hospitals is as follows:
(a) Keeping and reviewing in a timely, effective and efficient manner the records of
patients, staff, drugs and equipment.
(b) Monitoring the temperature, blood pressure, heartbeat and a host of other parameters
of patients, and raising the alarm when an abnormal situation is about to occur.
(c) Assisting medical practitioners in the diagnosis of patients’ diseases.
(d) Assisting medical practitioners in the prescription of drugs to patients, and ultimately
the treatment of patients.
(e) Assisting medical practioners in the monitoring, controlling and reviewing of basic
health services, birth rate, death rate, and outbreak of disease and a host of others.

Transport and Communication


The most dramatic computer application is witnessed in the transport and communications
sectors, with increased sophistication geared towards making life easier and safer for
mankind. Today, mankind world-wide is linked by computer controlled orbiting
communications satellites. Telecommunications and computing are today electronically
linked together. As a result, information can now be transmitted around the globe on the
radio, television, telex, facsimile and so on through microwave communication satellites.
Man’s advancement in information technology has led to the development of the popular
computer controlled electronic mail service which provides a more effective and efficient
method of disseminating information to users in a computer network environment. The
electronic mail service now provides faster, more convenient and cheaper electronic flow
of information than telephone, fax and telex transmission.
Computer application in communications has led to the use of computer terminals at home.
This development enables viewers to read electronic newspapers on television while the
teletext provides computerized information to viewers on events around the globe in the
field of politics, business, transport, sports, airlines, hotel reservations and many others.
The Cable News Network (CNN) is a practical example.
Computer application is now felt in traffic control and vehicle maintenance. Traffic
congestion in cities is monitored by computer-controlled traffic switching system which
controls traffic flows.
Computer aided input devices in the form of railcards or tickets are used to operate
automatic gates in underground railway lines. When a ticket coated with magnetic stripes
is slotted downwards into a device, the gate automatically opens for you to enter while you
take your ticket. The device will return your ticket if it is valid for another journey; if not,
it will keep the ticket and allow you to go. A passenger with an invalid ticket is given a red
message and there is no way he or she can enter through the gate.
In the delivery of postal services, the computer is used to sort letters according to post
codes. In the field of aeronautics, computer simulations are used to train pilots while air
traffic movements are monitored by computer-controlled radars. The scheduling of trains,
subways, in real-time is also aided by sophisticated computer systems. Another important
computer application is the introduction of computer devices to improve personal safety
on aircraft and motor vehicles, and also to detect engine faults and help in the maintenance
of aircraft and motor vehicles.

Government
The business of governance is serious business. In a multi-cultural, multilingual, multi-
ethnic, setting such as Nigeria, a lot of complex and often conflicting variables interplay or
are taken into consideration before a broad-based decision can be taken. Computers can
assist government business in the following ways:
(a) Planning
(b) Decision marking
(c) Policy formulation
(d) Monitoring and control of operations
The availability of data, timely access to the data and timely reporting on the data are very
crucial to the above listed business of government.
Computers can be used to:
(a) Keep accurate records of government assets and periodically estimate the market value
and insurance value.
(b) Keep accurate records of the population, behaviour patterns, and consumption patterns
of utilities, and estimate the distribution of basic needs such as electricity, water, telephone
and postal services.
(c) Keep records of government revenue and expenditure and assist government in
monitoring, controlling and evaluating the revenue and expenditure.
(d) Keep records of government employees with a view to:
(i) Preventing ghost workers
(ii) Estimating the strength of the human resources of government
(iii) Producing statistical data on employees
(e) Issue identity cards to the citizens.
(f) Compile a broad-based and accurate voters register. This will check the incidence of
ghost voting, multiple voting and other electoral malpractices, which have be devilled the
electoral processes and stable polity in third world countries.
(g) Keep track of crime in society, thereby helping government security agencies to check
crime.
(h) Maintain the database of the mineral resources and other resources of the nation.

The Military
One of the areas in which the computer has been applied intensively and extensively is the
military. The first generation of the modern computers were designed and used during the
First and Second World Wars. The use of computers for processing data became more
popular during these periods due to the need to procure, store and process large volumes
of data. Over the years, the use of computers has transcended the traditional role of
“crunching numbers” to sophisticated applications.
Specifically, computers are being used in the following ways, in military operations:
• Training the personnel through the use of simulated war situations.
• Reconnaissance surveys.
• Automatic detection of mines.
• Monitoring and tracking of planes with a view to bringing down any unauthorised plane
flying in the nation’s airspace.
• Monitoring operations in the military base.
• Launching of missiles from distant military bases to the enemy
territory. Such missiles are programmed to ensure that only the desired targets are hit.
• Manufacture of state-of-the-art military hardware and consumables.
• Communication and transmission of highly coded classified military information.
• Military games, adventures and expeditions.
• Keeping records of military personnel and logistics.
• Keeping records of military assets – hardware
• Management of military stock with a view to maintaining warready stock of materials,
ammunition and assets at any point in time.
• Monitoring the environmental and storage conditions of lethar weapons in order to
prevent accidents, like sudden explosions caused by improper storage.
• Generation and maintenance of necessary data that would enhance planning, policy
formulation, decision making and forecast.

Recreation, Amusement and Gaming


One of the major areas in which the computer has affected society positively is in the area
of recreation, amusement and gaming. “Allwork and no play makes Jack a dull boy”. With
increasing civilisation and urbanisation, there is the need for people to relax and keep their
mind off the tension that is associated with daily activities. Computer games help you to
learn in private (even in the comfort of your own room or office), keep you off the streets
and arcades, reduce tension and boredom, engage your mind with constructive things, and
teach you new skills. There are different kinds of games examples of which are adventure
games, business games, war games, traditional games, and simulation games.

CHAPTER THIRTEEN
COMPUTER VIRUS

One of the biggest fears of having computers is viruses. Viruses are malicious programs
designed entirely for destruction and havoc. Viruses are created by people who either know
a lot about programming or know a lot about computers.
Computer virus is one of the greatest threats to computers and computer applications.
Once the virus is made, it is generally distributed through shareware, pirated software, e-
mail or other various ways of transporting data. Once the virus infects someone's computer
it will either start infecting other data, destroying data, overwriting data, or corrupting
software. The reason these programs are called viruses is that they spread like human
viruses. Once your PC has become infected, either by downloading something from the
Internet or sharing software, any disks or writeable media that you place into the computer
will then be infected. When that disk is put into another computer, the computer is also
infected. And if the user puts files on the Internet, and hundreds of people download those
files, they will all be infected, and the process will continue infecting thousands if not
millions of computers.

Mode of Transmission of Computer Virus


The majority of viruses are contracted through floppy disk information being brought from
one source and then put into your computer. Viruses can infect disks, and when such disks
are put into your computer, your computer will become infected with the viruses. A recent
survey done in 1997 by NCSA given to PC users showed that 80% of PCs contracted
viruses by floppy diskettes. The same survey showed that the other 20% of PCs contracted
viruses by e-mail attachments and over the Internet. This means that the users received e-
mails with attached files and opened the files, or downloaded files over the Internet.

Virus Properties
Your computer can be infected even if files are just copied: Because some viruses are
memory resident, as soon as a diskette or program is loaded into memory, the virus attaches
itself into memory.
Viruses can be polymorphic: Some viruses have the capability of modifying their code,
which means one virus could have various amounts of similar variants.
Viruses can be memory/Non memory resident: Depending on the type, a virus can be a
memory resident virus type, which first attaches itself into memory and then infects the
computer. The virus can also be Non memory resident, which means a program must be
run in order to infect the computer.
A virus can be a stealth virus: Stealth viruses first attach themselves to files on the
computer, and then attack the computer. This causes the virus to spread more rapidly.
Viruses can carry other viruses and infect a system, and infect with the other viruses
as well: Because viruses are generally written by different individuals and do not infect the
same locations of memory and or files, this could mean that multiple viruses can be stored
in one file, diskette or computer.
Viruses can make the system never show outward signs: Some viruses will hide changes
made, such as when infecting a file, the file will stay the same size.
Viruses can stay on the computer even if the computer is formatted:
Viruses have the capability of infecting different portions of the computer such as the
CMOS battery or master.
How Viruses May Infect Files
Viruses can infect any files, however they usually attack .com, .exe, .sys, .bin, .pif or any
data files. Viruses have the capability of infecting any file. However they will generally
infect executable files or data files such as Word or Excel documents which are opened
frequently.
Viruses can increase the file’s size; however this can be hidden:
When infecting files, viruses will generally increase the size of the file. However with more
sophisticated viruses, these changes can be hidden.
Viruses can delete files as the files are run: Because most files are loaded into memory
and then run once the program is in memory, the virus can delete the file.
Viruses can corrupt files randomly: Some destructive viruses are not designed to destroy
random data but instead randomly delete or corrupt files.
Viruses can cause write protect errors when executing .exe files from a write
protected disk: Viruses may need to write themselves to files which are executed. Because
of this, if a diskette is write protected, you may receive a write protection error.
Viruses can convert .exe files to .com files: Viruses may use a separate file to run the
program and rename the original file to another extension, so the .exe is run before the
.com.
Viruses can reboot the computer when a file is run: Various computers may be designed
to reboot the computer when run.

What Viruses May Do


The following are possibilities you may experience when you are infected with a virus.
Remember that you also may be experiencing any of the following problems and not have
a virus. Once the hard drive is infected, any disk that is non-write protected that is accessed
can be infected.
A virus may:
• Deleted files.
• Insert various messages in files or on programs
• Changes volume label
• Mark clusters as bad in the FAT.
• Randomly overwrite sectors on the hard disk
• Replace the MBR with own code
• Create more than one partition
• Attempt to access the hard disk drive which can result in error messages such as invalid
drive specification.
• Cause cross linked files
• Cause a “sector not found” error
• Cause the system to run slowly
• Create logical partitions created. Partitions decrease in size
• Display directory as garbage
• Modify order, so files such as Com will start at the beginning of the directory
• Cause hardware problems such as keyboard keys not working, printer problems and
modem problems
• Disable ports such as LPT or COM ports
• Cause keyboard to be remapped
• Alter the system time/date
• Cause the system to hang or freeze randomly
• Cause activity on HDD or FDD randomly
• Increase file size
• Increase or decrease memory size
• Randomly change file or memory size
• Extend boot times
• Increase disk access times
• Cause the computer to make strange noises, make music, clicking
noises or beeps
• Display pictures
• Cause different types of error messages

Detecting Viruses
The most commonly used method of protecting against and detecting viruses is to purchase
a third party application designed to scan for all types of viruses. Alternatively, a user can
look at various aspects of the computer and detect possible signs indicating a virus is on
the computer. While this method can be used to determine some viruses, it cannot clean or
determine the exact virus you may or may not have.

REFERENCES
Akinyokun, O.C. (1999). Principles and Practice of Computing Technology. Ibadan:
International Publishers Limited.
Balogun, V.F., Daramola, O.A. Obe, O.O. Ojokoh, B.A., and Oluwadare S.A. (2006).
Introduction to Computing: A Practical Approach. Akure: Tom- Ray Publications.

You might also like