DCSC 102 - Introduction To Computer Science
DCSC 102 - Introduction To Computer Science
to
Computer Science
by
Muhammad Aminu
Ahmad
i
Contents
1 Computer Systems 1
1.1 Introduction.............................................................................................................. 1
1.2 Development of Computers .................................................................................... 2
1.2.1 The Abacus .................................................................................................... 3
1.2.2 Napier’s Bones .............................................................................................. 3
1.2.3 Pascal’s Calculator .......................................................................................4
1.2.4 Leibniz Calculator ........................................................................................4
1.2.5 Analytical Engine ......................................................................................... 5
1.2.6 Tabulating Machine ..................................................................................... 7
1.2.7 Electronic Digital Computer ...................................................................... 7
1.3 Generations of Computer ....................................................................................... 8
1.3.1 First Generation (1945-1956) .................................................................... 8
1.3.2 Second Generation Computers (1956-1963) .......................................... 10
1.3.3 Third Generation Computers (1964-1971) ............................................. 11
1.3.4 Fourth Generation (1971-1984) ............................................................... 12
1.3.5 Fifth Generation (1984-1990) .................................................................. 13
1.3.6 Sixth Generation (1990 and beyond) ..................................................... 13
1.3.7 Emerging Generation (Quantum Computers) ....................................... 14
1.4 Classes of Computers ............................................................................................. 14
1.5 Characteristics of Computers ............................................................................... 18
1.6 Components of a Computer .................................................................................. 18
iii
Contents Contents
3 Applications of Computers
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Office Automation System . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
Preface
This book introduces the fundamentals of computer systems and problem solving using
Python programming. This book provides broad introductory concepts of computer
systems and problem solving using computer programs to beginners and students who
study computer science as a major or minor course. This book is neither a reference
book, nor a comprehensive text of the entire fields of computer science and problem
solving using Python programming. The goal of this book is to provide background on
computer systems and the applications of computers and their uses in solving problems.
Thus, in-depth discussions of the topics are avoided in favour of more general concepts.
The programming examples used in this book are actual and runnable code tested using
the Python IDLE on Microsoft Windows 7 operating system. However, the examples are
operating system-independent, which can be tested on Unix-based systems and Apple
Macintosh operating systems.
v
CHAPTER
Computer Systems
1.1 Introduction
Computers have revolutionized the world within a short period of decades; computers have
become indispensable in every sphere of human life. In education, computers are used
for tasks such as writing papers, searching for articles, sending email, and participating
in online classes. At work, people use computers to analyse data, make presentations,
conduct business transactions, communicate with customers and co-workers, control
machines in manufacturing facilities, and do many other things. At home, people use
computers for tasks such as paying bills, online shopping, communicating with friends
and family and playing computer games. Computers can do a wide variety of things
because they can be programmed. This means that computers are not designed to do
just one job, but to do any job based on their programs.
A program is a set of instructions that a computer follows to perform a task. Programs are
commonly referred to as software. Software is essential to a computer because it
controls the hardware components of the computer and everything the computer does.
The software and hardware that make computers useful are created by individuals working
as programmers/software developers and computer engineers. A programmer/software
developer is a person with the training and skills necessary to design, create, and test
computer programs, while a computer engineer focuses on the design and manufacturing of
computer hardware. Today, you will find the work of computer programmers and
engineers in business, medicine, government, law enforcement, agriculture, academics,
entertainment, industries, communications and many other fields. Therefore a computer
1
Development of Computers Computer Systems
The “machine” part of the computer is called the hardware, while the “programmable”
part is called the software.
Computers are used to fulfil general and specific needs of the public, industries and
governments. Computers use software to make it easier for users to accomplish some
task and solve some problems. Therefore, software must be efficient, robust, easy to
use, visually appealing and produce correct results. Thus, computer science deals with
processing information through computations and analysis to solve a particular problem
or produce a desired result, depending on the application at hand. Using software
for a desired task or to a solve problem requires programming and domain knowledge.
Computer science is not an area of study that covers anything related to IT support,
repairing computers installing and configuring networks, using application packages,
browsing the web or playing games. Computer science focuses on understanding what
goes on behind software and how software/programs can be made more efficiently. The
general areas of discipline in computer science are computer architecture, operating
systems, programming languages and compilers. algorithms, data structures and com-
plexity, computability theory, numerical analysis, networking and distributed computing,
parallel computing, information management/database systems, software development (or
software engineering), human-computer communication/interaction, graphics and visual
computing and intelligent systems (or artificial intelligence). Thus, studying computer
science requires specializing in one or more of these areas.
2
Development of Computers Computer Systems
In 1617, John Napier of Scotland invented a calculating device called the Napier Bones.
Napier’s bone used bone rods for counting purpose where some numbers were printed on
these rods. Figure 1.2 shows the picture of Napier’s bones. These rods can be used for
addition, subtraction, multiplication and division.
3
Development of Computers Computer Systems
The device used a base of ten to accomplish this. For example, as one dial moved ten
notches or one complete revolution, it moves the next dial, which represented the ten’s
column - one place. When the ten’s dial moved one revolution, the dial representing
the hundred’s place moved one notch and so on. The drawback to the Pascaline was its
limitation to addition.
1.2.4 Leibniz Calculator
In 1694, a German mathematician and philosopher, Gottfried Wilhem von Leibniz,
improved the Pascaline by creating a machine that could also multiply. Like its predecessor,
Leibniz’s mechanical multiplier worked by a system of gears and dials. Partly by studying
Pascal’s original notes and drawings, Leibniz was able to refine his machine. Figure 1.4
shows the Leibniz calculator.
The centrepiece of the machine was its stepped-drum gear design, which offered an
elongated version of the simple flat gear. It was not until 1820 that mechanical calculators
gained widespread use. Charles Xavier Thomas de Colmar, a Frenchman, invented a
4
Development of Computers Computer Systems
machine that could perform the four basic arithmetic functions. Colmar’s mechanical
calculator, the Arithmometer, presented a more practical approach to computing because
it could add, subtract, multiply and divide. With its enhanced versatility, the Arithmo-
meter was widely used until the First World War. Figure 1.5 shows the Arithmometer
device.
5
Development of Computers Computer Systems
Powered by steam and large as a locomotive, Difference Engine would have a stored
program and could perform calculations and print the results automatically. After
working on the Difference Engine for 10 years, Babbage was suddenly inspired to begin
work on the first general-purpose computer, which he called the Analytical Engine. Figure
1.7 shows the Analytical Engine.
Babbage’s assistant, Augusta Ada King, was instrumental in the machine’s design. She
helped in revising plans, secured funding from the British government and communicated
the specifics of the Analytical Engine to the public. Ada’s understanding of the machine
allowed her to create the instruction routines to be fed into the computer, making her the
first female computer programmer. In the 1980’s, the U.S. Defense Department named a
programming language ADA in her honour.
Babbage’s steam-powered engine, although ultimately never constructed, may seem
primitive by today’s standards. However, it outlined the basic elements of a modern
general purpose computer and was a breakthrough concept. Consisting of over 50,000
components, the basic design of the Analytical Engine included input devices in the
form of perforated cards containing operating instructions and a "store" for memory of
1,000 numbers of up to 50 decimal digits long. It also contained a "mill" with a control
unit that allowed processing instructions in any sequence and output devices to produce
printed results. Babbage borrowed the idea of punch cards to encode the machine’s
instructions from the Jacquard loom. The loom, produced in 1820 and named after its
inventor, Joseph-Marie Jacquard, used punched boards that controlled the patterns to
be woven. For this great invention of the computer, Sir Charles Babbage is also known
as the father of computer.
6
Development of Computers Computer Systems
In addition to their speed, the punch cards served as a storage method for data and
they helped reduce computational errors. Hollerith brought his punch card reader into
the business world, founding Tabulating Machine Company in 1896, later to become
International Business Machines (IBM) in 1924 after a series of mergers. Other companies
such as Remington Rand and Burroughs also manufactured punch readers for business
use. Both business and government used punch cards for data processing until the 1960’s.
1.2.7 Electronic Digital Computer
Vannevar Bush developed a calculator for solving differential equations in 1931. The
machine could solve complex differential equations that had long left scientists and
mathematicians baffled. The machine was cumbersome because hundreds of gears and
shafts were required to represent numbers and their various relationships to each other.
To eliminate this bulkiness, John Vincent Atanasoff, a professor at Iowa State College
(now called Iowa State University) and his graduate student, Clifford Berry, envisioned
an all-electronic computer that applied Boolean algebra to computer circuitry. This
approach was based on the mid-19th century work of George Boole who clarified the
binary system of algebra, which stated that any mathematical equations could be stated
7
Generations of Computer Computer Systems
simply as either true or false. By extending this concept to electronic circuits in the form
of on or off, Atanasoff and Berry developed the first automatic electronic digital
computer called Atanasoff-Berry Computer (ABC), which was successfully tested in 1942.
Figure 1.9 shows the Atanasoff-Berry Computer.
8
Generations of Computer Computer Systems
machine was slow (taking 3-5 seconds per calculation) and inflexible (in that sequences
of calculations could not change); but it could perform basic arithmetic as well as more
complex equations.
Another computer development spurred by the war was the Electronic Numerical
Integrator and Computer (ENIAC), produced by a partnership between the U.S. govern-
ment and the University of Pennsylvania. Consisting of 18,000 vacuum tubes, 70,000
resistors and 5 million soldered joints, the computer was such a massive and consumed
160 kilowatts of electrical power. ENIAC was developed by John Presper Eckert and John
W. Mauchly, and unlike the Colossus and Mark I, the machine was a general-purpose
computer that was 1,000 times faster than Mark I. In the mid-1940’s John von Neumann
joined the University of Pennsylvania team, initiating concepts in computer design that
remained central to computer engineering for 40 years. Figure 1.10 shows the ENIAC
computer.
Von Neumann designed the Electronic Discrete Variable Automatic Computer (EDVAC)
in 1945 with a memory to hold both a stored program as well as data. This "stored
memory" technique as well as the "conditional control transfer" that allowed the computer
to be stopped at any point and then resumed, allowed for greater versatility in computer
programming. The key element to the von Neumann architecture was the central
processing unit, which allowed all computer functions to be coordinated through a single
source. Figure 1.11 shows the ENIAC computer. In 1951, Remington Rand built the
Universal Automatic Computer I (UNIVAC I), which became one of the first commercially
available computers to take advantage of these advances.
9
Generations of Computer Computer Systems
First generation computers were characterized by the fact that operating instructions
were made-to-order for the specific task for which the computer was to be used. Each
computer had a different binary-coded program called a machine language that told it
how to operate. This made the computer difficult to program and limited its versatility
and speed. Other distinctive features of first generation computers were the use of vacuum
tubes (responsible for their breathtaking size) and magnetic drums for data storage.
1.3.2 Second Generation Computers (1956-1963)
By 1948, the invention of the transistor greatly changed the development of computers.
The transistor replaced the large, cumbersome vacuum tube in televisions, radios and
computers, reduced the size of electronic machinery. The transistor was at work in the
computer by 1956. Coupled with early advances in magnetic-core memory, transistors led to
second generation computers that were smaller, faster, more reliable and more energy-
efficient than their predecessors. The first large-scale machines to take advantage of this
transistor technology were early supercomputers such as Stretch by IBM and LARC
by Sperry-Rand. These computers were both developed for atomic energy laboratories
and could handle an enormous amount of data, a capability much in demand by atomic
scientists. The machines were costly and tended to be too powerful for the business
sector’s computing needs, thereby limiting their attractiveness.
Second generation computers replaced machine language with assembly language,
allowing abbreviated programming codes to replace long and difficult binary codes.
Throughout the early 1960’s, there were a number of commercially successful second
generation computers used in business, universities and government from companies such
10
Generations of Computer Computer Systems
as Burroughs, Control Data, Honeywell, IBM, Sperry-Rand and others. These second
generation computers were also of solid state design and contained transistors in place of
vacuum tubes. They also contained all the components associated with the modern day
computer: printers, tape storage, disk storage, memory, operating systems, and stored
programs. One important example was the IBM 1401, which was universally accepted
throughout industry, and is considered by many to be the Model T of the computer
industry.
By 1965, most large business routinely processed financial information using second
generation computers. It was the stored program and programming language that gave
the computers the flexibility to finally be cost effective and productive for business use.
More sophisticated high-level languages such as COBOL (Common Business-Oriented
Language) and FORTRAN (Formula Translator) came into use. These languages replaced
cryptic binary machine code with words, sentences, and mathematical formulas, making
it much easier to program a computer. New types of careers such as programmer,
analyst and computer systems expert, and the entire software industry began with second
generation computers.
1.3.3 Third Generation Computers (1964-1971)
Despite the improvement provided by transistors over the vacuum tube, they still gener-
ated a great deal of heat, which damaged sensitive internal parts of a computer. The
quartz rock eliminated this problem. Jack Kilby, an engineer with Texas Instruments,
developed the integrated circuit (IC) in 1958. The IC combined three electronic compon-
ents onto a small silicon disc, which was made from quartz. Scientists later managed to fit
even more components on a single chip, called a semiconductor. As a result, computers
became ever smaller as more components were squeezed onto the chip. Figure 1.12 shows a
vacuum tube, a resistor and an integrated circuit.
11
Generations of Computer Computer Systems
12
Generations of Computer Computer Systems
with each other. As opposed to a mainframe computer which was one powerful computer
that shared time with many terminals for many applications, networked computers
allowed individual computers to form electronic cooperation using either direct wiring,
called a Local Area Network (LAN) or telephone lines.
1.3.5 Fifth Generation (1984-1990)
This generation of computers introduced machines with hundreds of processors that
could all be working on different parts of a single program. The scale of integration in
semiconductors enabled building chips with a million components, and semiconductor
memories became standard on all computers. Many advances in the science of computer
design and technology emerged such as parallel processing, which replaces von Neumann’s
single central processing unit design, with a system harnessing the power of many
processors to work as one. The superconductor technology, which allows the flow of
electricity with little or no resistance, greatly improved the speed of information flow.
Computer networks, both wide area network (WAN) and local area network (LAN)
technology developed rapidly and single-user workstations also became popular. The
fifth generation computers also introduced the use of Artificial intelligence. For example,
expert systems assist doctors in making diagnoses by applying the problem-solving steps
a doctor might use in assessing a patient’s needs.
13
Classes of Computers Computer Systems
14
Classes of Computers Computer Systems
in a power station. Each of these parameters can attain an infinite number of values, not
just simple on and off. An analogue computer has the following characteristics:
• It operates by measuring.
• Its calculations are first converted in equation and later converted into electrical
signals.
• The calculations are converted into binary numbers, that is, 1s and 0s.
15
Classes of Computers Computer Systems
Hybrid Computers
A hybrid computer possess the features of both analog and digital computers. A hybrid
computer accepts either digital, analog or both types of inputs and gives the results as
per requirements through special devices. Thus, with the hybrid computer, users can
process both continuous and discrete data. A converter is fixed in a hybrid computer to
convert the analog data into digital data and vice versa. These are special purpose
devices and are not widely used.
Super Computers
A super computer is the most powerful computer available at any given time. These
machines are built to process huge amounts of information and do so very quickly.
Supercomputers are built specifically for researchers or scientists working on projects
that demand very huge amounts of data variables; an example is in nuclear research,
where scientists want to know exactly what will happen during every millisecond of a
nuclear chain reaction. To demonstrate the capability of super computers, for an air
pollution control project that involves more than 500,000 variables, it will take a mini
computer about 45 hours to complete the simulation process, while a super computer
completes the simulation in 30 minutes. Supercomputers are big in size, generate a lot of
heat and are very expensive.
Mainframe Computers
The largest types of computers that are common in use are the mainframe computers.
They are designed to handle tremendous amounts of input, output and storage. They
are used mainly by large organization. Other users access mainframe computers through
terminals. Terminals consist of a keyboard and a display. The mainframe is usually in a
computer room.
Mini Computers
These are physically small compared to mainframes and are generally used for special
purposes or small-scale general purposes. The capabilities of mini computers is between
mainframes and personal computers. Like mainframes, they can handle a great deal more
input and output than personal computers. Although some minicomputers are designed for
a single user, many can handle dozens or even hundreds of terminals. Advances in
circuitry enabled modern mini computers to out-perform older mainframes.
16
Classes of Computers Computer Systems
Workstations
Workstations lie between mini computers and microcomputers in terms of processing
power. A workstation looks like a personal computer and is typically used by one person,
although it is still more powerful than the average personal computer. The differences
in the capabilities of these types of machines are growing smaller. They significantly
differ from micro computers in two ways: the central processing units of workstations are
designed differently to enable faster processing of instructions.
Micro Computers/Personal Computers (PCs)
The term microcomputers and personal computers are used interchangeably to mean the
small free-standing computers that are commonly found in offices, homes and classrooms.
Today, PCs are seriously challenging older mainframes and mini computers in processing
power and competition is producing smaller and faster models of PCs every year. The
following are different types of PCs:
• Desktop: This is the first type of PC and the most common. Most desktops are
small enough to fit on a desk, but are a little too big to carry around.
• Laptop: They weigh about 4.5kg, and are battery–operated computers with built–in
screens. They are designed to be carried and used in locations with no electricity.
Laptops typically have an almost full–sized keyboard.
• The Notebook: They are similar to laptops but smaller. They weigh about 2.7–3.2kg.
As the name implies, they are approximately the size of a notebook.
• The Palmtop: They are also known as personal digital assistance (PDAs) and are
the smallest of portable computers. Palmtops are less powerful than notebooks
or desktops models and have built-in applications such as word processing. They
are mostly used to display important informations such as telephone numbers and
addresses.
Personal computers can do a lot of things. The most common tasks computers perform
include writing documents such as memos, letters, reports and briefs, budgeting and
performing accounting tasks, analysing numeric information, searching through lists or
reports for specific information, scheduling and planning projects, creating illustrations,
communication and many other activities.
17
Characteristics of Computers Computer Systems
• Speed: A computer is able to process data and give the output in fractions of
seconds, such that the required information is given to the user on time, which
enables the user to take right decisions quickly. A powerful computer is capable of
executing about 3 million calculations or more per second.
• Accuracy: Apart from high processing speed, the accuracy of computers is consist-
ently high enough to avoid errors.
• Reliable: The output generated by the computer is very reliable. This is achieved
when the data passed as input to the computer and the instructions are correct
and reliable.
• Storage: A computer has a provision to store large volumes of data in small storage
devices, which have capacity to store huge amounts of data and help the retrieval
of data an easy task.
• Diligence: The performance of a computer is consistent, that is, it does each and
every calculation with same speed and accuracy.
18
CHAPTER
Computer Hardware and Software
2.1 Introduction
The previous chapter presented an overview of computer systems, how they evolved,
their categories and characteristics. This chapter is concerned with the components of a
computer, i.e., hardware and software.
• Main memory
• Input devices
• Output devices
19
Computer Hardware Computer Hardware and Software
Every CPU has two basic parts, the control unit (CU) and the Arithmetic Logic Unit
(ALU).
20
Computer Hardware Computer Hardware and Software
21
Computer Hardware Computer Hardware and Software
22
Computer Hardware Computer Hardware and Software
23
Computer Hardware Computer Hardware and Software
Disk Drive
A disk drive stores data by magnetically encoding it onto a circular disk. Most computers
have a disk drive mounted inside their cases. External disk drives, which connect to one
of the computer’s communication ports, are also available. External disk drives can be
used to create backup copies of important data or to move data to another computer. In
addition to external disk drives, many types of devices have been created for copying
data, and for moving data to other computers.
Floppy Disk Drive
A floppy disk drive records data onto a small floppy disk, which can be removed from
the drive. Floppy disks hold a small amount of data, are slow to access data and can be
unreliable. Floppy disk drives are no longer in use in the recent years.
USB Drives
USB drives are small devices that plug into the computer’s USB (universal serial bus)
port, and appear to the system as a disk drive. These drives do not actually contain a
disk. They store data in a special type of memory known as flash memory. USB drives,
which are also known as memory sticks and flash drives, are inexpensive, reliable and
small enough to be carried in pocket.
Optical Devices
Optical devices such as the CD (compact disc) and the DVD (digital versatile disc) are
also popular for data storage. Data is not recorded magnetically on an optical disc, but is
encoded as a series of pits on the disc surface. CD and DVD drives use a laser to detect
the pits and thus read the encoded data. Optical discs hold large amounts of data, and
because recordable CD and DVD drives are now common, they are good mediums for
creating backup copies of data.
Flash Cards
Flash cards can be used to store gigabytes of data depending on how much memory they
have. There are three different types of flash cards: compact flash cards, smart media
cards and memory sticks.
2.2.4 Input and Output Devices
Input is any data the computer collects from a user and other devices. The component
that collects the data and sends it to the computer is called an input device. After the
computer has recieved and processed data, the final result has to be brought out from
the machine in some intelligent and readable form. The result that comes out of the
24
Computer Hardware Computer Hardware and Software
machine is called output and the equipment which enables the results to be brought out are
termed output devices. Output is any data the computer produces for people or forother
devices. It might be a sales report, a list of names or a graphic image. The data issent to
an output device, which formats and presents it.
Common input devices are the keyboard, mouse, scanner, microphone, joy stick, light
pens, digital camera, visual displays, printers, projector, speaker disk drives and optical
drives as shown in Figure 2.6
Keyboard
A keyboard is the most common input device and is used for all kinds of computers.
Several kinds of keyboards are available but they resemble each other with minor variations.
The keyboard in most common use is the QWERTY board. IBM and IBM compatible
PCs use 101 keyboard, which has 101 keys.
25
Computer Hardware Computer Hardware and Software
Mouse
A mouse is an electro-mechanical hand-held device. It is used as a pointer to select menu
commands, move icons, size windows, start programs and choose options. Thus, the
mouse is best used as a pointing and selecting device, as it allows moving the cursor
across the screen of a computer in a rapid and intuitive way. Buttons are mounted on
the chassis of the mouse to trigger some events, like the selection of an icon or menu item
the cursor is positioned over. Mice are of two types:
• Mechanical mice: These contain a small ball inside the chassis, which is spun as the
mouse is moved over the surface. The ball in turn rotates some small wheels whose
motion is encoded by potentiometers or optical encoders. These mice can work on
every surface, but dirt is collected by the ball and often soils the encoders.
• Optical mice: These do not need a rotating ball, they contain optical sensors that
emit signals as the mouse is moved over a special grid containing reflecting lines in
the X and Y direction; on every line that is crossed, a pulse is emitted. These mice
have the advantage that there are no moving parts and no dirt is collected from the
surface, but they work only in combination with a special mouse pad containing
the grid.
Track Balls
The trackball is somehow the inverse of the mouse. It consists of a fixed chassis and
a freely rotating ball that can be moved in any direction with the fingers or the palm
of the hand; small wheels, positioned 90 degrees from each other, are connected to the
ball and rotate as it is spun. In mechanical trackballs, the spinning ball is connected to
potentiometers whose output corresponds to changes in the X and Y direction. In optical
trackballs, optical encoders are used to generate pulses according to the increments in
rotation around the X and Y axis. Trackballs have the same purpose as the mouse, to
move a cursor across the screen, but are preferable when there is no enough space for a
mouse or when the cursor has to be moved rapidly over a large area, because the ball
can be spun very fast and the cursor can be moved continuously without stopping.
Joy Stick
Joysticks consist of a stick that is mounted vertically on a fixed base, which can be
rotated around two orthogonal axes. There exist three basic types of joysticks employing
different technologies; digital, displacement and force joysticks.
• The digital joystick does not have resistors, but switches mounted around the
base of the lever (usually four), so that movement in any of the eight directions
26
Computer Hardware Computer Hardware and Software
can be sensed. The output is "on" or "off" in any of the eight directions, and not
proportional to the stick’s displacement. Digital joystick cannot be used in absolute
positioning mode, but only to send directional information. This kind of joystick is
extremely successful in arcade games because of its robustness, simplicity and low
cost.
• Force joysticks has a lever that is rigid and cannot be moved noticeably, because
the forces applied to the stick are measured not the motion. The output of force
joysticks is proportional to the direction and amount of force applied. Force joysticks
always return to their central position when released. Because of their extremely
limited movement, they are not suited for absolute positioning.
27
Computer Hardware Computer Hardware and Software
(LCD) are very popular these days. The quality of the display depends on the screen
resolution.
Printer
A printer is a device that prints text or illustrations on paper. There are many different
types of printers
• Dot-Matrix Printers: These are character printers that form characters and all
kind of images as a pattern of dots. Dot-matrix prints many special characters,
different sizes of print and graphics such as charts and graphs. They are slow, with
speed usually ranging between 30 to 600 characters per second.
• Ink-Jet printers: These are character printers that form characters and all kind
of images by spraying small drops of ink on to the paper. The print head contains
up to 64 tiny nozzles that can be selectively heated up in a few micro seconds by
an integrated circuit register. They are slower than dot-matrix printers with speed
usually ranging from 40 to 300 characters per second.
• Laser Printers: These are line printers that print one line at a time. They have
a solid cylinder drum with characters embossed on its surface in form of circular
bands. Laser printers can only print a pre-defined set of characters in a pre-defined
style that is embossed on the drum. They speed in the range of 300 to 2000 lines
per minutes.
Plotter
A plotter is a special printer that is used to create posters and blueprints.
Projector
A Liquid Crystal Display (LCD) projector is a device that uses its own light source to
project what is to be displayed on a wall or projection screen. A digital light processing
(DLP) projector uses tiny mirrors to reflect light which can be seen clearly in a well-lit
room.
Speakers
A speaker is a device that produces out music, speech or other sounds. A pair of speakers is
an audio output device that generates sound. The headphone is a pair of small speakers
28
Computer Software Computer Hardware and Software
placed over the ears and plugged into a port on the sound card. A woofer or sub-woofer
is used to boost the low bass sound and is connected to the port on the sound card.
Modem
A modem (MOdulator-DEModulator) converts signal from digital to analog (modulation)
and analog to digital (demodulation). The modem enables digital microcomputers to
send output through analog telephone lines; voice and data can be carried over through
the modem. The modem is not only an output device but also an input device that
receives data and voice through a communication channel.
• Booting of the Computer: This is the first process that takes place the moment
the computer’s electrical switch is put on. During this process all the peripherals
29
Computer Software Computer Hardware and Software
connected to the computer are checked and validated. At the end of the validation
process, the operating system signals the user to begin working on the computer.
• Providing User Interface: Operating system provides an interface for the user,
either as a command line interface or as a graphical user interface. This enables
the user to communicate with the computer. In other words, operating system
communicates with the computer user or operator by means of terminals and
through the use of monitor command responses. The user may also be able to
communicate with the operating system by means of command language. There are
two broad categories of interfaces: command line and graphical user interfaces. To use
an operating system with a command line interface, a user can type words and
symbols using the keyboard. With a graphical user interface (GUI), a user selects
actions by using a mouse or similar pointing device to click on pictures called icons
or to pick options from menus. Every operating system provides a user interface,
whether it is made up of text or is graphical in nature.
• Managing the File System: Operating system groups data together into logical
compartments for storage on disk. These groups of data are called files. The
computer stores information in files. Files may contain program instructions or
data created or used by a program. The operating system maintains the list of files on
a disk.
30
Computer Software Computer Hardware and Software
calls on the operating system to list the files. The operating system goes through
the same process to build a list of files whether it receives instruction directly from
a user or from an application program. But when the request comes from an
application the operating system sends the result of its work to the application
program instead of directly to the computer screen. Some of the other services that an
operating system provides to programs are:
– Saving files to disk and reading them from disk into memory .
– Checking available disk or memory space,
– Allocating memory to hold data for a program.
– Reading keystrokes from the keyboard.
– Displaying characters or graphics on the screen.
– Loading the user program into memory.
– Giving instruction to display the result on the monitor
Should the operating system be able to do more than one thing at a time?
Should the operating system support only one user or should it support
multiple users simultaneously?
Should the operating system be able to use more than one CPU?
31
Computer Software Computer Hardware and Software
2.3.2 Middleware
Middleware is a set of services that allows multiple processes running on one or more ma-
chines to interact. Middleware is often used to support and simplify complex distributed
applications. It can also allow data contained in one database to be accessed through
another. Middleware is sometimes called plumbing because it connects two applications and
passes data between them. (e.g Java RMI, CORBA, DCOM, web servers, application servers,
etc.).
32
Computer Software Computer Hardware and Software
33
Image Editors
Image editor programs are designed specifically for capturing, creating, editing, and
manipulating images. These graphics programs provide a variety of special features for
creating and altering images. In addition to offering a host of filters and image
transformation algorithms, some image editors also enable users to create and superimpose
layers. Most graphic programs have the ability to import and export one or more graphic
file formats. With image editing software, one a user can adjust an image to improve its
appearance, darken or lighten an image, rotate it, adjust it contrast, crop out extraneous
detail and much more. Examples of image editors are Adobe Photoshop, Adobe Illustrator
and CorelDraw.
Communication Packages
These are applications that enable people to send faxes and emails and dial into other
computers for voice and video communication. Examples are Microsoft Outlook and
Skype.
34
CHAPTER
Applications of Computers
3.1 Introduction
Computers play a very important role in almost every aspect of human life; banking,
insurance, transportation etc. Computers are useful in data processing as discussed
in Chapter 4. The use of computers in data processing and other activities includes office
automation, business transactions, financial transactions, scientific computing and
engineering design. This shows how computers are used to solve problems or achieve
a desired activity. The following sections discussed some applications of computers in
facilitating activities and solving different problems using developed software packages.
35
Office Automation System Applications of Computers
• Multimedia processing: This is used to manipulate and store images, audio and
video in a computer. It can also be used to improve the quality of images, audio
and videos.
Payroll System
Organisations employ people for their businesses, management and other activities. The
employees have to be paid their salaries periodically either weekly or monthly. Therefore the
payment details of employees in an organisation have to be processed and stored.
Computer facilitates the process using a computer program that consists of a number of
smaller programs or modules. Each module performs a particular function of the payroll.
This set of programs is called a payroll system.
To calculate the pay of an employee, organisations normally use employee number
(a unique number assigned to an employee), name, basic pay, allowances, deductions
and bank account number. Using a payroll system, the details of the employees are
stored permanently in a master file in a computer storage. For example, if an employee
completes a year of service, he normally gets an increment. This is updated using the
master update module of the payroll system. Another module of the payroll system
reads details from master file and calculates net pay. The program also prints out pay
slip for each employee. A pay slip shows the employee number, name, basic pay, various
allowances, various deductions and net pay. The payroll system also generates a number
of statements.
Office Support System
This is a collection of programs that are used to coordinate the activities of a workgroup
in an organisation. The members of a work-group can use the system to collaborate and
exchange information irrespective of their location. Examples of groupware applications are
Lotus Notes and Microsoft SharePoint and Exchange. Most of the groupware
applications include calendering and scheduling, discussion databases, reference library
and messaging.
36
Business Applications of Computers
3.3 Business
Computers have tremendously improved the way businesses operate in their respective
industries. Businesses that do not use computers are at a major disadvantage against
their competitors. The following are some of the applications of computers in businesses.
Transaction Processing System
Transaction Processing Systems (TPS) are among the earliest computerised systems
catering to the requirements of large business enterprises. The purpose of a typical TPS
is to record, process, validate and store transactions that occur in the various functional
areas of a business for subsequent retrieval and usage. A transaction could be internal
or external. When a department requisitions material supplies from stores, an internal
transaction is said to have occurred. However, when the purchase department purchases
materials from a supplier, an external transaction takes place. The steps involved in TPS are
data entry, data validation, processing and revalidation, storage and reporting.
Order Processing System
Companies often use a set of processes to complete the tasks and activities that occur in their
businesses every day. Order processing is one of these activities. An order processing system
captures order data from customer service employees or from customers directly, stores the
data in a central database and sends order information to the accounting and shipping
departments, if applicable. Order processing systems provide tracking data on orders and
inventory for every step of the way.
Inventory Control System
Computers are used to keep track of purchases and raw materials needed in an organization.
The purchases and raw materials are called inventories and the set of programs used
to keep track of these inventories constitute the inventory control system. Therefore,
37
Banking and Finance Applications of Computers
Electronic Commerce
Electronic commerce is the process of searching, choosing, buying and selling of product
or service on the electronic network; it uses the computer and communication networks
for promoting products, selling, delivery, collection and delivery service. In e-commerce, the
parties to a transaction interact electronically. They may be separated by long distances
physically, yet the electronic network brings them together not only to complete a
transaction but also to get sales support. The most important advantage of the internet for
business firms is that it allows reaching customers at very low costs.
38
Banking and Finance Applications of Computers
Telephone Banking
Telephone banking provides a 24 hour banking facility to customers. Telephone banking
is based on the voice processing facility available that is controlled using computers. The
caller usually a customer calls the bank any time and can enquire balance in his account
or other transaction history. In this system, the computers at the bank are connected to
a telephone link with the help of a modem. Voice processing facility is provided in the
software. The software identifies the voice of caller and provides him suitable reply.
Internet Banking
Internet banking enables a customer to do banking transactions through the bank’s
website on the Internet. It is a system of accessing accounts and general information on
bank products and services through a computer. This is more or less bringing the bank
to your computer. In traditional banking, a customer has to approach the branch in
person to withdraw cash or deposit a cheque or request a statement of accounts etc.
However, Internet banking has changed the way of banking now, because a customer can do
transactions using a computer through the website of a bank. All such transactions are
encrypted using computer software. A customer can be rest assured that transactions are
secure and confidential.
Bankers Automated Clearing Services
This involves the use of Magnetic Ink Character Reader (MICR) for cheque processing.
It is capable of encoding, reading and sorting cheques. Also, request for cheque books or
purchase of draft can be made and granted via electronic devices.
39
Computational Science Applications of Computers
• Logical scheme for codification of accounts and transactions. Every account and
transaction is assigned a unique code.
• Instant reports for management, for example – Statement, Trial Balance, Trading
and Profit and Loss Account, Balance Sheet, Stock Valuation, Value Added Tax
(VAT), Returns, Payroll Report, etc.
40
Education Applications of Computers
3.6 Education
Computers have become essential in education and teaching. The use of multimedia
packages, hypertext video chats, web based education, multimedia based education,
intelligent tutoring system, digital libraries, simulation laboratories, tele-education find
their places in education. The use of computers in imparting education to student has
been found attractive and satisfying. Some of the uses of computers in education includes
CAL, CAI, distance learning, digital libraries and e-learning.
Computer Aided Learning (CAL)
Computer Aided Learning is an interactive technology that describes an educational
environment where a computer program is used to assist people in learning a particular area
of study. CAL refers to an overall integrated approach of instrumental methods. CAL is
a device/learning strategy to make teaching more interesting and sustainable. CAL is
becoming an important part of education system. CAL system has its own vital merits
as follows;
• Well organized and readily accessible information to user.
• Overcomes traditional approach of blackboard and most of times one way commu-
nication.
• It is dynamic because its content can be easily modified and upgraded depending
upon current information.
41
Education Applications of Computers
42
Education Applications of Computers
Distance Learning
Distance education is usually defined as education that takes place when distance or
technology separates the teacher and the learner. The education modes are print
correspondence, audio graphics, instrumental television, videotape, teleconferencing and
a computer conferencing. Choosing a mode depends on educational need or goal. It may be
divided as asynchronous or static education, and synchronous or dynamic (real-time)
distance education.
• Synchronous distance education: This includes the use of satellite video con-
ference, desktop video conference and multi-user domain object-oriented (MOO).
Satellite video conference is usually a one-way video and a one-way audio with
a telephone number available for questions. Satellite video conference is used to
cover mass education. Desktop video conferences may be a one-way video and a
two-way audio or a two-way video and audio. Video conferencing technology is used
to simulate a classroom environment for distance learners. The system supports
spontaneous interactive lectures, question and answer sessions and discussions with
the students. Multi-user domain Object-Oriented (MOO) allows users to connect
from anywhere in the world and enables them to communicate with others in real
time (as opposed to the delayed communication of email). Instructors may use a
Web interface over the MOO to interact with their participants. Courses delivered
over the MOO require less overhead cost than those via video conferences.
Digital Libraries
Digital libraries are an electronic collection of real or virtual resources that are available
online or offline anywhere in the world . They have become widely accepted and
even preferred information sources in areas of education, science and others. The
speedy expansion of the Internet and the increasing interest in development of digital
library related technologies and collections helped to speed up the digitization of printed
documents in the past few years. Advantages of digital libraries includes;
43
Engineering Design Applications of Computers
• Easy for distribution via the Internet, compact disk (CD) and digital versatile disk
(DVD).
• Multiple access.
Publication
Publication of research work is an important aspect in any field of study and a vital
element of researcher’s profession. The use of computers in writing and editing makes it very
effortless and versatile to prepare and publish article. Computers may be requiredat the
different stages for the author, publisher and reviewer. For writing paper, word
processing applications are used, which are available on a computer and easy to operate.
Word processing applications provide numerous tools for typing and processing options
for documents such as spell check correcting grammatical mistake, providing option for
inserting tables of required size, graphics, footnotes and many more.
When it comes to publishing articles, conventional ways are very tedious and time
consuming. But using computers and the Internet makes it very easy. The Internet can
be used to search for a list of different journals, their guidelines for writing research
paper and submission process. Most journals today offer the opportunity to submit
paper through their websites, which is called “electronic submission” or “e-submission”. E-
submission is a faster mode of submitting paper by just one click. Publishers can also send
back articles to the author for corrections by e-mail.
44
Expert Systems Applications of Computers
• Perform complex design analysis in short time and implementing finite elements
analysis methods.
• Perform static, dynamic and natural frequency analysis, heat transfer analysis,
plastic analysis, fluid flow analysis, motion analysis, tolerance analysis and design
optimisation.
• Record and recall information with consistency and speed. In particular, the use
of Product Data Management (PDM) systems can store the whole design and
processing history of a certain product for future reuse and upgrade.
CAD is one of the most popular computer tools used by engineers. CAD helps engineers
create designs, analyse equipment and optimize engineering processes. Computers use CAD
software to analyse how certain conditions may affect the engineer’s design and
understand which safety precautions may be necessary for different processes. For
example, an engineer may use software to simulate how a bridge would hold up under
stress from inclement weather, earthquakes or heavy traffic. Engineers may then use
these results to make decisions and develop solutions to any problem that arise.
45
Geographic Information System (GIS) Applications of Computers
3.10 Health
Health care institution employ computer systems to maintain patient records. It is often
necessary to maintain detailed records of the medical history of patients. Doctorsoften
require the information about a patient’s family history, physical ailments, already
diagnosed diseases and prescribed medicines. This information can be effectively stored in
a computer database. Applications of computers in health also include medical equipments,
electronic medical record and telemedicine, pharmaceutical analysis, computer aided
drug design, clinical trials and pharmacokinetics.
Medical Equipment and Appliances
Most modern medical equipment and appliances have small and programmed computers.
The circuitry and logic in most of the medical equipment is basically a computer. For
example, the functioning of hospital-bed beeping systems, emergency alarm systems, X- ray
machines and several such medical appliances is based on computer logic. Computer
software is also used for diagnosis of diseases. Computer-based systems are used to
examine internal and delicate organs of the body. Some of the complex surgeries can be
performed with the aid of computers. Medical imaging is a vast field that deals withthe
techniques to create images of the human body for medical purposes. Many of the
modern methods of scanning and imaging are largely based on the computer technology
such as magnetic resonance imaging (MRI).
46
Health Applications of Computers
47
Health Applications of Computers
48
Defence Applications of Computers
data capture, batch data load. These suites enable users to quickly and easily design
studies and capture clinical data. Some examples of e-clinical software are (1) Oracle
clinical V4i from Oracle Corporation; (2) Data LabsXC from Data labs, Inc.; (3) Trial
master from Omnicomm systems; (4) Cliniplus Data Management from DZC software
solution, Inc. and (5) Openclinica by Akaza research.
Pharmacokinetics
Pharmacokinetics is the science that deals with the rate of absorption, metabolism, distri-
bution and elimination of drug and its metabolites in the body. Pharmacokinetic analysis is
basically carried out to get information on renal clearance, volume of distribution,
metabolic deposition, absorption and multiple dosing of drug. This type of analysis can
be conducted using software. Classically, long manual calculations had to be performed and
semi-logarithmic paper was used for drawing plots. Now these computations can be left to
the computer. There are different approaches to pharmacokinetics using differential
equations with the help of software. NONLIN is a software that allows users to perform
statistical regression analyses to estimate the values of parameters for linear, multivariate,
polynomial, and general nonlinear functions. The regression analysis determines the
values of the parameters that cause the function to best fit the observed data that you
provide. KINPAK is a software used to obtain Area Under Curve (AUC), peak plasma
concentration (Cmax) and peak plasma time (tmax). ESTRIP and STRIPACT are pro-
grams that are also used for mathematical analysis. These software help in therapeutic
drug monitoring of patient. Other applications such XLSTAT, OpenStat, Prism, SAS,
Minitab, SYSTAT and MYSTAT are used for calculation of regression analysis.
3.11 Defence
The high computation capability of computers was initially utilized in major weapon
systems and Electronic Warfare (EW). The advent of microprocessors enables computers to
be used in every area of military equipment and operations. The need for accurate and
timely information is vital for Defence. Computers with their high speed and unlimited
storage are revolutionizing the concept of warfare.
Weapon Systems
Computers are used in the following weapon systems:
49
Defence Applications of Computers
• Fighter Aircraft: Complex computer systems are essentially required for high
performance fighter aircraft. Extensive use of microprocessor-based cockpit in-
strumentation made it possible to give accurate and timely information to the
fighter pilot. Separate on-board computer systems assist in navigation in adverse
environmental and tactical situations.
• Missiles: Computer are used in all types of strategic and tactical missile systems
to improve their accuracy. In surface-to-surface ballistic and cruise missiles, a very
powerful on-board processor capable of image processing is used to navigate the
missiles to the target. In air-to-surface missiles, microprocessors have extensively
been used to process on-board parameters to correct their course. In surface-to-air
missiles, both in the ground and the on-board systems, powerful computers are
utilized to ensure high probability of hit.
50
Defence Applications of Computers
51
CHAPTER
Computer Ethics and Responsibility
4.1 Introduction
Every profession operates with a set of ethics that help to define the responsibilities
of people who practice the profession. Computers present a range of capabilities that
can affect people and the environment by challenging society with many new ethical
issues. Some of the existing ethical practices apply to the use of computers, whereas
other situations require new ethical rules. In some cases, there may not be established
guidelines, but it is up to the user to decide what is ethical.
A computer professional has knowledge to access computers, program them, and
manipulate data. This gives gives a computer professional the ability to create new
products, solve important problems and help people to manage their interactions with
the society. Knowledge of computers can be a powerful means to effecting positive change.
Computer knowledge can be used in unethical ways. A computer can be programmed for
hacking and unauthorised activities, to sabotage a competitor’s production line or to steal
sensitive information. In addition, it is illegal to copy or distribution of computer software
without the permission of the owner because it is an intellectual property. Intellectual
property is creations (books, software, videos, etc.) that are protected by law. Copyright
is protecting intellectual property from copying by others for a period of years. This
chapter discuss some ethical and professional responsibilities of using computers and the
Internet.
52
Software Piracy Computer Ethics and Responsibility
• Public Domain License: This has no owner and is not protected by copyright
law. It is either created with public funds, or the ownership was forfeited by the
creator. This can be copied, sold and/or modified.
• General Public License: GPL software has the same restrictions as public
domain software, but cannot be sold for profit.
• Shareware License: This allows people to use the software for a trial period but it
is illegal to copy or modify them without permission since they are copyrighted. The
user must pay a registration fee to the owner for permanent use. Some shareware
trials expire on a certain date. Purchasing the software may also provide a user
with a version with more powerful features and published documentation.
• All Rights Reserved License: This may be used by the purchaser according
53
Privacy of Data Computer Ethics and Responsibility
the exact details spelled out in the license agreement. People cannot legally posses
and use it without the permission of the owner.
Thus, computer users have an ethical obligation not to engage in software piracy and
to try to stop it from occurring. This rule is not restricted to duplicating copyrighted
software, it includes plagiarism of all or part of code. If someone gives you permission
to copy some code, then just like any responsible writer, you should acknowledge that
person with a citation in the code.
54
Green Computing Computer Ethics and Responsibility
This also involves the use of computer and Internet connection that belong to an
organisation for personal business, viewing, downloading or storing contents that are
illegal or against the policies of the organisation such as pornography, movies, etc.
Thus, computer users have an ethical responsibility never to use or access computer
resources without permission, either physically or through network access, or access an
Internet content that is illegal or against the policy of an organisation.
• Turn off the computer when not in use, even if it is just for an hour.
• Turn off the monitor when not in use rather than opting a screen saver.
• Use hardware/software with the Energy Star label. Energy Star is a “seal of
approval” by the Energy Star organization of the government (the EPA) as shown
in Figure 6.1.
55
Ethical Responsibilities Computer Ethics and Responsibility
3. Snoop around in other people’s files: Reading other people’s e-mail messages,
screens, and personal documents in their computers is as bad as opening and reading
their letters: This is invading their privacy. Obtaining other people’s non-public
files should be judged the same way as breaking into their rooms and stealing their
documents. Text documents on the Internet may be protected by encryption.
5. Use computer to bear false witness: The Internet can be used to spread false
information as fast as it can spread the truth. Putting out false information to
56
the world is bad. For instance, spreading false rumours about a person or false
propaganda about events is wrong.
10. Use a computer in ways that show now consideration and respect: Just like
public buses or banks, people using computer communications systems should be nice
to other people. The fact that you cannot see the people you are interacting with does
not mean that you can be rude to them.
57