Computing and Problem Solving
Computing and Problem Solving
ii
Contents
1 Evolution of Computers 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Historical Development of Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 The Abacus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Napier’s Bones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Pascal’s Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.4 Leibniz Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.5 Arithmometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.6 Differential Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.7 Analytical Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.8 Tabulating Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.9 Electronic Digital Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Generations of Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 First Generation (1945-1956) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Second Generation Computers (1956-1963) . . . . . . . . . . . . . . . . . . . . . . 8
1.3.3 Third Generation Computers (1964-1971) . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.4 Fourth Generation (1971-1984) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.5 Fifth Generation (1984-1990) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.6 Sixth Generation (1990 and beyond) . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.7 Emerging Generation (Quantum Computers) . . . . . . . . . . . . . . . . . . . . . 11
1.4 Classes of Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.1 Analog Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Digital Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.3 Hybrid Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.4 Super Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.5 Mainframe Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.6 Mini Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.7 Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.8 Micro Computers/Personal Computers (PCs) . . . . . . . . . . . . . . . . . . . . . 14
1.5 Characteristics of Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Components of a Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iii
Contents Contents
3 Applications of Computers 29
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Office Automation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Document Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2 Payroll System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.3 Office Support System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.4 Data Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.5 Communication Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Business Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.1 Transaction Processing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.2 Order Processing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.3 Inventory Control System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.4 Decision Support System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3.5 Electronic Commerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 Banking and Finance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 Automated Teller Machine (ATM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2 Telephone Banking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.3 Internet Banking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.4 Bankers Automated Clearing Services . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.5 Accounting Information System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 Computational Science and Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.6 Education . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.6.1 Computer Aided Learning (CAL) . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6.2 Computer Aided Instruction (CAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6.3 Electronic Learning (E-learning) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.6.4 Distance Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6.5 Digital Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6.6 Publication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7 Engineering Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.8 Expert Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.9 Geographic Information System (GIS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.10 Healthcare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.10.1 Medical Equipment and Appliances . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.10.2 Electronic Medical Records (EMR) . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.10.3 Telemedicine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
iv
Contents Contents
5 Computer Networks 49
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.1 Types of Computer Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.2 Network Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.1.3 Communication Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1.4 Network Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.1.5 Transmission Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.2 The Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.1 Internet Evolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.2 Internet Layered Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.3 Internet Design Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.4 Internet Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
v
Chapter
1
Evolution of Computers
• Generations of computers
• Classifications of computers
• Characteristics of computers
• Components of computers
1.1 Introduction
Computers have revolutionized the world within a short period of decades and 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 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 can be defined as
1
Historical Development of Computers Evolution of Computers
A programmable machine, operating under the control of instructions stored in its own memory.
The computer is capable of accepting data (input), processing data arithmetically and logically,
producing output from the processing and storing the results for future use. In other words, a
computer is an electronic device that performs specified sequences of operations as per the
set of instructions (known as programs) given on a set of data (input) to generate desired
information (output) and store the result for future used.
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 tasks and solve some problems.
Therefore, software must be efficient, robust, easy to use, visually appealing and produce correct results.
Computing 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 Information Technology 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 include computer
architecture, operating systems, programming languages and compilers, algorithms, data structures,
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
Historical Development of Computers Evolution of Computers
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 represents 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.
3
Historical Development of Computers Evolution of Computers
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.
1.2.5 Arithmometer
Charles Xavier Thomas de Colmar, a Frenchman, invented a machine that could perform the four basic
arithmetic functions. Colmar’s mechanical calculator, the Arithmometer, presented a more practical
approach to computing than the Leibniz Calculator because it could add, subtract, multiply and divide.
With its enhanced versatility, the Arithmometer was widely used until the First World War. Figure 1.5
shows the Arithmometer device.
4
Historical Development of Computers Evolution of Computers
Powered by steam and large as a locomotive, Difference Engine would have a stored program and could
perform calculations and print the results automatically.
1.2.7 Analytical Engine
After working on the Difference Engine for 10 years, Charles 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 United State 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
5
Historical Development of Computers Evolution of Computers
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.
1.2.8 Tabulating Machine
In 1889, an American inventor, Herman Hollerith, also applied the Jacquard loom concept to computing.
His first task was to find a faster way to compute the United State census. Unlike Babbage’s idea of using
perforated cards to instruct the machine, Hollerith’s method used cards to store data, which he fed into
a machine that compiled the results mechanically. Each punch on a card represented one number and
combinations of two punches represented one letter. Instead of ten years, census takers compiled their
results in just six weeks with Hollerith’s machine. Figure 1.8 shows the Tabulating Machine.
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. Tabulating Machine Company later became 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.9 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. The binary
system of algebra stated that any mathematical equation could be stated 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.
6
Generations of Computer Evolution of Computers
7
Generations of Computer Evolution of Computers
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 EDVAC 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.
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
8
Generations of Computer Evolution of Computers
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 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 businesses 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 generated 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 components 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.
9
Generations of Computer Evolution of Computers
Another third-generation development included the use of an operating system that allowed machines
to run many different programs at once with a central program that monitored and coordinated the
computer’s memory.
1.3.4 Fourth Generation (1971-1984)
After the integrated circuits, the only place to go was down in size, that is, Large Scale Integration
(LSI) could fit hundreds of components onto one chip. By the 1980’s, Very Large Scale Integration
(VLSI) squeezed hundreds of thousands of components onto a chip. Ultra-large Scale Integration (ULSI)
increased the number to millions. It also increased their power, efficiency and reliability. The Intel 4004
chip, developed in 1971, took the integrated circuit one step further by locating all the components of a
computer (central processing unit, memory, and input and output controls) on a minuscule chip. Unlike
the previous integrated circuit that must be manufactured to fit a special purpose, now one microprocessor
could be manufactured and then programmed to meet any number of demands. Later, household items
such as microwave ovens, television sets and auto-mobiles with electronic fuel injection incorporated
microprocessors. Such condensed power enabled people to harness the power of computers. Computers
were no longer developed exclusively for large businesses or government contracts.
By the mid-1970’s, computer manufacturers sought to bring computers to general consumers. These
minicomputers came complete with user-friendly software packages that offered even non-technical users
with an array of applications, most popularly word processing and spreadsheet programs. Pioneers in
this field were Commodore, Radio Shack and Apple Computers. In the early 1980’s, arcade video games
such as PAC Man and home video game systems such as the Atari 2600 ignited consumer interest for
more sophisticated, programmable home computers. In 1981, IBM introduced its Personal Computer
(PC) for use in home, office and schools. The 1980’s saw an expansion in computer use in all three arenas
as clones of the IBM PC made the personal computer even more affordable. Computers continued their
trend toward a smaller size, working their way down from desktop to laptop and palmtop computers.
Apple’s Macintosh line, in direct competition with IBM’s PC, was introduced in 1984. Notable for its
user-friendly design, the Macintosh offered an operating system that allowed users to move screen icons
instead of typing instructions. Users controlled the screen cursor using a mouse, a device that mimicked
the movement of a hand on the computer screen.
As computers became more widespread in the workplace, new ways to harness their potential developed.
As smaller computers became more powerful, they could be linked together or networked to share memory
space, software, information and communicate 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
10
Generations of Computer Evolution of Computers
or no resistance, greatly improved the speed of information flow. Computer networks, both wide area
network (WAN) and local area network (LAN) technologies 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.
1.3.6 Sixth Generation (1990 and beyond)
Most of the developments in computer systems since 1990 were improvements over established systems.
This generation brought about gains in parallel computing in both the hardware and in improved
understanding of how to develop algorithms to exploit parallel architectures. Workstation technology
continued to improve, with processor designs now using a combination of RISC, pipelining, and parallel
processing. Wide Area Networks, network bandwidth and speed of operation and networking capabilities
have kept developing tremendously. Personal computers (PCs) now operate with Gigabit per second
processors, multi-Gigabyte disks, gigabytes of RAM, colour printers, high-resolution graphic monitors,
stereo sound cards and graphical user interfaces. Thousands of software (operating systems and application
software) are existing today. This generation also brought micro controller technology, which are embedded
inside some other devices (often consumer products) so that they can control the features or actions of
the product. They work as small computers inside devices and now serve as essential components in most
machines.
1.3.7 Emerging Generation (Quantum Computers)
Conventional digital computers store information using bits represented by zeros or ones. Quantum
computers use quantum bits, or qubits, to encode information as zero, one, or both at the same time.
This superposition of states and other quantum mechanical phenomena of entanglement and tunnelling
enables quantum computers to manipulate enormous combinations of states at once. A qubit can be
thought of like an imaginary sphere, it can be any point on the sphere. Whereas a classical bit can be
in two states - at either of the two poles of the sphere. This means a computer using qubits can store
a huge amount of information using less energy than a classical computer. D-Wave Systems developed
an integrated quantum computer system running on a 128-qubit processor in 2011. D-Wave Systems
launched the D-Wave 2 (512-qubit quantum computer) in 2013 and D-Wave 2X (1000-qubit quantum
computer) in 2015. In January 2017, D-Wave Systems launched the D-Wave 2000Q quantum computer
(2000 qubit). Figure 1.13 shows the D-Wave 2000Q quantum computer.
11
Classes of Computers Evolution of Computers
• It operates by measuring.
• Its calculations are first converted in equation and later converted into electrical signals.
• It operates by counting.
12
Classes of Computers Evolution of Computers
• The calculations are converted into binary numbers, that is, zeros and ones.
13
Characteristics of Computers Evolution of Computers
1.4.7 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 microcomputers in two ways: the central processing units
of workstations are designed differently to enable faster processing of instructions.
1.4.8 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: This weigh about 4.5kg, and is a battery–operated computer with built–in screens. Laptops
are designed to be carried and used in locations with no electricity. Laptops typically have an almost
full–sized keyboard.
• The Notebook: This is similar to a laptop but smaller. A notebook weighs about 2.7–3.2kg. As the
name implies, notebooks are approximately the size of a notebook.
• The Palmtop : This is also known as personal digital assistance (PDA) and is 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 perform many tasks. The most common tasks 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.
• 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 three million calculations or more per
second.
• Accuracy: Apart from high processing speed, the accuracy of computers is consistently 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.
14
Components of a Computer Evolution of Computers
• 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.
• Versatility: A computer performs three basic operations; it is capable of accessing and accepting
information from the user through various input-output devices. It performs basic arithmetic and
logic operations on the data as desired and it is capable of generating the desired output in the
desired form.
• Automation: The instructions fed into a computer works automatically without any human inter-
vention until the completion of execution of a program, or until the computer meets an instructions
to terminate execution.
• Diligence: The performance of a computer is consistent, that is, it does each and every calculation
with same speed and accuracy.
15
Chapter
2
Components of the Computer
• System software
• Middleware
• Applications software
• Main memory
• Input devices
• Output devices
16
Computer Hardware Components of the Computer
Every CPU has two basic parts, the control unit (CU) and the Arithmetic Logic Unit (ALU).
Control Unit (CU)
The control unit manages all the computer resources and coordinates all the activities of a computer. The
control unit contains the basic instructions (called firmware) for executing programs. The instruction set,
built into the circuitry of the control unit, is a list of all the operations that the CPU can perform. In fact,
the control unit directs the flow of data around the CPU and the computer. Based on the instructions
given, the CPU ensures that the operations specified in the program are performed in the sequence. These
operations may be receipt of data and storing them at specified locations, transfer of data from one
address of memory to another, transfer of data from memory to the ALU and controlling the ALU.
17
Computer Hardware Components of the Computer
18
Computer Hardware Components of the Computer
• Programmable Read Only Memory (PROM): These are non-volatile memories and may
be written into only once. The writing process is performed using special equipment for writing.
However, PROMs provide flexibility and convenience.
• Erasable Programmable Read Only Memory (EPROM): These are another variation of
read only memories called read-mostly memories. EPROMs can be read and written into as with the
PROMs. Before write operations, the content must be erased by exposing the memory to ultraviolet
radiation. EPROMs have multiple update capacity, that is, they can be erased repeatedly.
• Electrically Erasable Programmable Read Only Memory (EEPROM): These are read-
mostly memories that can be written into at any time without erasing prior content; only the byte
address are updated. The write operation takes considerably longer time than the read operation.
EEPROM is non-volatile, flexible and more expensive than the EPROM.
19
Computer Hardware Components of the Computer
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 universal serial bus (USB) 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.1.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 received and
processed data, the final result has to be brought out from the machine in some intelligent and readable
20
Computer Hardware Components of the Computer
form. The result that comes out of the machine is called output and the equipment that enables the
results to be brought out are termed output devices. Output is any data the computer produces for people
or for other devices. It might be a sales report, a list of names or a graphic image. The data is sent to an
output device, which formats and presents it.
Common input and output 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.
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
21
Computer Hardware Components of the Computer
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
directions. 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 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.
22
Computer Hardware Components of the Computer
• 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 a 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.
• Multifunction Printer: As the name implies, a multifunction printer can perform more than
one task. This device can usually operate as a fax machine, copier, and scanner in addition to its
traditional printing duties.
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.
23
Computer Software Components of the Computer
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 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 analogue (modulation) and analogue
to digital (demodulation). The modem enables digital microcomputers to send output through analogue
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 connected to the computer are
checked and validated. At the end of the validation process, the operating system signals a user to
begin working on the computer.
• Providing User Interface: Operating system provides an interface for a 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
24
Computer Software Components of the Computer
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 Hardware: Operating system controls and manages hardware resources. For
example, operating system manages the selection and operation of devices used for input, output
and storage. In other words the operating system serves as the intermediary between programs and
hardware. Regardless of the type of user interface, the operating system intercepts commands to
use memory and other devices, keeping track of what programs have access to what devices and so
on. For example when instructing the operating system to list the files in a directory or folder, the
software interpreting the command sends a request to the CPU in form of interrupting the CPU
and instructing the CPU to go to the disk drive and retrieve the names of the files it finds in the
directory or folder.
• 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.
– 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?
25
Computer Software Components of the Computer
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?
– Cooperative Multitasking: This requires cooperation between the operating system and applic-
ation programs. In this case, the programs are written in such a way that they periodically
check with the operating system to determine whether any other program needs the CPU. If a
program needs the CPU, they relinquish control of the CPU to the next program. Cooperative
multitasking is common with Macintosh OS and computers running Microsoft Windows.
– Pre-emptive Multitasking: Under this scheme, the operating system maintains a list of processes
(programs) that are running. Each process on the list is assigned a priority by the operating
system when it is started. At any time, the operating system can intervene and modify the
priority list. The operating system also retains control of the amount of time that it spends
with any process before going to the next process. Unix, OS/2 and Windows NT employ
pre-emptive multitasking.
• Multi-user Operating Systems: A multi-user operating system allows more than a single user
access to a computer at the same time. To accomplish this, a multi-user operating system must also
be capable of multitasking. Multi-user operating system provides two ways to enable people use the
same PC at the same time.
– The first way to connect to a PC running multi-user operating system is from another computer
with a connection. The remote user can log in and run programs, list files, send e-mails read
the news and otherwise do everything they could do as if they are physically in front of the
computer.
– The second way to connect to a computer, with multi-user operating system, is by attaching
terminals to the PC. Terminals are inexpensive devices that consist of a keyboard and a
monitor.
2.2.2 Middleware
Middleware is a set of services that allows multiple processes running on one or more machines to interact.
Middleware is often used to support and simplify complex distributed applications. It can also allow data
26
Computer Software Components of the Computer
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.).
2.2.3 Application Software
These are programs that make a computer useful for everyday tasks. These are the programs that people
normally spend most of their time running on their computers. Popular examples of application software
are word processing programs, image editing programs, spreadsheet programs, database programs, email
programs, web browsers and games.
Word Processing
This is one of the most common application software. The great advantage of word processing over using
a typewriter is that you can make changes without retyping the entire document. Word processors make
it easy to manipulate and format documents. Example of word processing software is Microsoft Office
Word and Open Office Word.
Spreadsheets
These are computer programs that allow users to electronically create and manipulate spreadsheets (tables
of values arranged in rows and columns with predefined relationships to each other). Spreadsheets are used
for calculations such as accounting, budgeting, statistics and so on. Examples of spreadsheet applications
are Microsoft Excel, Open Office Spreadsheet, Lotus and SPSS.
Database Management Systems
These applications are computer programs that let people create and manipulate data in a database. A
database is a collection of related information that can be manipulated and used to sort information,
conduct statistical analyses or generate reports. Examples of database management systems are Microsoft
Access, Microsoft SQL, MySQL and Oracle Database.
Presentation Packages
A presentation is a means of assessment, which requires presentation providers to present their work orally
in the presence of an audience. It combines both visual and verbal elements. A presentation software
allows users to create presentations by producing slides or handouts for presentation. Essentially, such
computer programs allow users to create a variety of visually appealing electronic slides for presentation.
They enable users to create highly stylized images for slide presentations and reports. They can also be
used to produce various types of charts and graphs. Microsoft PowerPoint and Prezi are examples of
presentation application.
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, 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.
27
Computer Software Components of the Computer
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.
28
Chapter
3
Applications of Computers
• Office automation
• Business operations
• Computational science
• Education
• Engineering Design
• Geographical Information
• Healthcare Services
• Military Operations
3.1 Introduction
Computers play a very important role in almost every aspect of human life such as banking, business,
education insurance, transportation. Computers are useful in 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. This chapter discusses some applications of computers in
facilitating activities and solving different problems using developed software packages.
29
Office Automation System Applications of Computers
• Word processing: This is used to create document electronically such as letters, proposals, reports
and brochures. It allows manipulation of such documents and their storage and retrieval.
• Spreadsheet: This is used to maintain records and perform calculations such as expenses, profits
and losses. It is used to perform mathematical, statistical and logical processing.
• Desktop publishing: This is used to produce professional print quality documents with photos and
graphics. A user can combine text, artwork, photos and a variety of fonts to produce the document.
• 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.
30
Business Operations Applications of Computers
31
Banking and Finance Applications of Computers
32
Computational Science and Engineering 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.
Accounting Information System (AIS) identifies, collects, processes and communicates economic information
about an entity to a wide variety of users. Such information is organised in a manner that correct decisions
can be based on it.
3.6 Education
Computers have become essential in education, that is, the use of computers in imparting education to
student has been found attractive and satisfying. 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. Some of the uses of computers in education
33
Education Applications of Computers
includes Computer Aided Learning (CAL), Computer Aided Instruction (CAI), distance learning, digital
libraries and electronic learning (e-learning).
3.6.1 Computer Aided Learning (CAL)
Computer Aided Learning (CAL) 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 that makes
teaching more interesting and sustainable. CAL is becoming an important part of education system. CAL
system has the following merits;
• Overcomes traditional approach of blackboard and most of times one way communication.
• It is dynamic because its content can be easily modified and upgraded depending upon current
information.
34
Education Applications of Computers
A typical example of this is a learner studying alone or conducting some research on the Internet or
a local network.
• Group-based e-learning synchronously: This refers to situations where groups of learners are
working together in real time through the Intranet. It may include text-based conferencing, and one
or two-way audio and video conferencing. Examples of this include learners engaged in a real-time
chat or an audio-video conference.
• Group-based e-learning asynchronously: This refers to situations where groups of learners are
working over an Intranet, where exchanges among participants occur with a time delay (not in real
time). Typical examples of this kind of activity include on-line discussions via electronic mailing
lists and text-based conferencing within learning management systems.
• Asynchronous or static distance education: This means that students and instructors are not
required to be present at the same time. Students do not have to be gathered together in the same
location at the same time. Rather, they may choose their own instructional time frame and gather
learning materials according to their schedules. Delivery modes of asynchronous distance education
include email, video/audio tapes, web pages, CD-ROMs, fax and traditional postal mail.
• Synchronous distance education: This includes the use of satellite video conference, 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.
35
Engineering Design Applications of Computers
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;
• Information that cannot be provided in printed format can be presented using audio and videos.
• Easy for distribution via the Internet, compact disk (CD) and digital versatile disk (DVD).
• Multiple access.
3.6.6 Publication
Publication of research work is an important aspect in any field of study and a vital element of academic
profession. The use of computers in writing and editing makes it very effortless and versatile to prepare
and publish article. Computers may be required at the different stages for authors, publishers and
reviewers. For writing a 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
the use of computers and 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.
• Accurately generate and easily modify graphical representation of a product. The user can view the
actual product on screen, make any modifications to it, and present ideas on screen without any
prototype, especially during the early stages of the design process.
• Perform complex design analysis in short time and implement 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 enables storing a whole design and processing history of a certain
product for future reuse and upgrade.
36
Expert Systems Applications of Computers
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.
3.10 Healthcare
Health care institutions employ computer systems to maintain patient records. It is often necessary
to maintain detailed records of the medical history of patients. Doctors often 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.
37
Healthcare Applications of Computers
38
Healthcare Applications of Computers
3.10.7 Pharmacokinetics
Pharmacokinetics is the science that deals with the rate of absorption, metabolism, distribution and
elimination of drug and its metabolites in the body. Pharmacokinetic analysis is basically carried out to
39
Defence Applications of Computers
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. For example, 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. KINPAK is a software used to obtain Area Under Curve (AUC), peak
plasma concentration (Cmax) and peak plasma time (tmax). ESTRIP and STRIPACT are programs 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 utilised 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.
3.11.1 Weapon Systems
Computers are used in the following weapon systems:
• Armoured Vehicles: Computers are used in displaying real-time battle situation, setting guns
for azimuth and elevation, providing accurate information for engaging enemy tanks and tactical
targets, and information on terrain, obstacles, routes and state of armoured fighting vehicles.
• Night Vision: Microprocessor-controlled night vision systems are increasingly being used in basic
infantry and anti-tank weapons for higher accuracy during nights. Mobile computer systems are
being employed for a wide range of communications network and general purpose computing need
at forward field locations.
• Fighter Aircraft: Complex computer systems are essentially required for high performance fighter
aircraft. Extensive use of microprocessor-based cockpit instrumentation 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: Computers 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
utilised to ensure high probability of hit.
40
Defence Applications of Computers
effective command and control using reliable communication. Surveillance is gathering information with
respect to the position of an enemy, resources and capabilities. This is obtained by satellites, radars, sonar,
EW equipment installed on land, in ships and in aircraft or in space. Communications is transmitting
the information gathered in surveillance to locations where such information could be processed and
analysed. The decisions based on such analysis are communicated to the theatres of action. A variety
of communication links such as satellite links are employed for this purpose. In each of these systems,
computer technology plays a major role by reducing the time spent in collecting accurate information and
transmitting the information for analysis.
3.11.3 Simulation and Wargaming
Fast and powerful computer systems and efficient simulation software make it possible to configure and
develop real-time man-in-loop simulation system. It provides cost-effective and time-saving support
towards design, development and training programs in respect of complex military systems. Simulation is
an extremely useful technique, which enables better understanding of dynamic behaviour of complicated
physical systems through mathematical modelling. The real-time ground-based simulator systems have
proved efficient in providing training to human operators, without putting them at risk on the real-life
system being simulated. This also increases the operational life of the sophisticated military equipments
and expensive modern weapon systems, which otherwise would have to be utilised for training.
Another major area where computer systems have been effectively utilised is wargaming, A simulation
of battlefield situation is provided to different levels of commanders to test their professional skills
and decision-making capabilities. A computer system provides flexibility of use of the visual displays
for different operations of war. Highly complex situations can be simulated with the help of powerful
computers. A number of dynamic simulation probabilistic models for different types of battles have been
developed and are being utilised to determine the effectiveness of battle tactics.
41
Chapter
4
Data Representation and Processing
4.1 Introduction
The word "data" is the plural of datum, which means fact, observation, assumption or occurrence. More
precisely, data are representations of facts pertaining to people, things, ideas and events. Data are
represented by symbols such as letters of the alphabets; student names and product names, numerals;
employee number or other special symbols. Data processing refers to generating and organising data in a
useful way. People and organisations generate data to keep record of activities, events and transactions.
Data collection, processing, storage and retrieval can be facilitated using a computer system. This chapter
is concerned with how data is represented and processed in computers.
00 01 10 11
Therefore, bits are combined together into larger units in order to hold greater range of values. NIBBLES
are four sequence of bits. BYTES are typically a sequence of eight bits put together to create a single
computer alphabetical or numerical character.
Bytes are used to quantify the amount of data digitally stored (on disks, tapes) or transmitted (over a
network), and are also used to measure the memory and document size. A CHARACTER is represented
42
Data Representation Data Representation and Processing
by one byte. It can be a letter, digit, punctuation mark or special characters. A WORD is a combination
of 2 bytes or more. Bytes may appear as Kilobytes (210 = 1024 bytes), Megabytes (220 = 1, 048, 576
bytes), Gigabytes (230 = 1, 073, 741, 824 bytes), Terabytes (240 = 1, 099, 511, 627, 776 bytes), or Petabytes
(250 = 1, 125, 899, 906, 842, 624 bytes).
4.2.1 Representing Text
Text is represented in a computer using an agreed unique code for every letter, number and symbol that
needs to be presented. Each code consists of a fixed-length and unique sequence of bits. A word can then
be ‘written’ by determining the code for each letter and putting them together. The common agreed code
for text representation in computer is the ASCII (American Standard Code for Information Interchange).
ASCII uses 8-bit strings or one byte to represent an alphabet. Appendix A presents an overview of the
ASCII codes. Therefore, the text “A Computer” can be encoded as follows:
A C o m p u t e r
01000001 100000 01000011 01101111 01101101 01110000 01110101 01110100 01100101 01110010
Therefore, text files generally contain long sequences of code (mostly ASCII) as described above. A
text editor translates the sequence of code into a human readable format and the other way round.
4.2.2 Representing Numbers
The ASCII (or Unicode) table in Appendix A includes codes for the representation of numbers. However,
this is not an ideal way of representing numbers if they are used within a calculation. The ASCII code
uses eight (8) bits or one byte to represent a single-digit number, therefore the largest number that
can be stored is nine (9). However, if numbers are represented in binary (rather than decimal), eight
bits can represent numbers from 0 to 127. There is also an advantage of having a number translated
into a different numeric system (i.e. the binary system) where it remains a number and where hence
mathematical calculations can still be conducted. Binary numbers are represented using bit sequences.
The representation follows the same simple principle as the decimal system.
The binary system uses 2 as its base with the digits 0 and 1. Therefore the binary number 10110102 = 9010
and vice versa as shown below:
90
2 = 45 remainder 0
45
2 = 22 remainder 1
22
2 = 11 remainder 0
11
2 = 5 remainder 1
5
2 = 2 remainder 1
2
2 = 1 remainder 0
1
2 = 0 remainder 1
43
Data Processing Data Representation and Processing
Data processing is a series of actions or operations that converts data into useful information.
Data processing system is the resources used to accomplish the processing of data.
44
Data Processing Data Representation and Processing
4.3.1 Information
Information refers to data that has been transformed into a meaningful and useful form for specific
purposes. The result obtained by data processing is called information. However, information produced in
one data processing step may be used as data in another data processing step. Although data is generally
not useful unless it is manipulated and organised into meaningful form, in some cases, data may not
require any processing before constituting information. Information is identified and defined by its users,
that is, determining when data becomes information depends on user requirements. For example, purchase
data, such as your name, address, the number of items purchased, the price, the tax and the amount you
paid, are data items when considered separately. However, putting these items together, they represent
information about a business transaction. Similarly putting together student name, number, department,
course, etc., represent information about student registration.
4.3.2 Data Processing Activities
Data processing comprises activities that are necessary to transform data into information. This can be
achieved through the following:
• Manual Data Processing: Data is processed without the help of mechanical devices. Here the
data is processed manually using tools such as abacus, slide rule, Napier bones etc.
• Mechanical Data Processing: Mechanical devices such as calculators, tabulators, etc., are used
for data processing.
As the complexity of data processing increased, the need for high performance data processing systems
increased. Therefore, the use of electronic data processing outperformed the use of manual and mechanical
methods. Data processing requires various functions and activities that can be grouped under five basic
categories; collection, conversion, manipulation, storage and communication.
Collection
Data originates in the form of events or some observations. The data is then recorded in some usable form.
Data may be initially recorded on paper source documents and then converted into a machine usable
form for processing. Alternatively, the data may be recorded by a direct input device in a paperless,
machine-readable form. Data collection is also termed as data capture. Data collection implies that the
raw data are collected and set out in the form of original document called a source document.
Conversion
Once the data is collected, it is converted from its source documents to a form that is more suitable for
processing. The data is first codified by assigning identification codes. A code comprises of numbers,
letters, special characters or a combination of these. For example, an employee may be allotted a code as
5253162, his category as S or J class. It is useful to codify data, when data requires classification. To
classify means to categorize, that is, data with similar characteristics are placed in similar categories or
groups. After classification of data, it is verified or checked to ensure the accuracy before processing
starts. After verification, the data is transcribed from one data medium to another. For example, in data
processing using a computer, the data may be transformed from source documents to machine sensible
form using magnetic tape or a disk.
45
Data Processing Data Representation and Processing
Manipulation
Once data is collected and converted, it is ready for the manipulation function, which converts data into
information. Manipulation consists of following activities:
• Sorting: This involves the arrangement of data items in a desired sequence. Usually, it is easier
to work with data if it is arranged in a logical sequence. Most often, the data are arranged in
alphabetical sequence. Sometimes sorting itself will transform data into information. For example,
a simple act of sorting the names in alphabetical order gives meaning to a telephone directory. The
directory will be practically worthless without sorting. Business data processing extensively utilises
sorting technique. Virtually all the records in business files are maintained in some logical sequence.
Numeric sorting is common in computer-based processing systems because it is usually faster than
alphabetical sorting.
• Calculating: This is the arithmetic manipulation of data. Items of recorded data can be added to
one another, subtracted, divided or multiplied to create new data. Calculation is an integral part of
data processing. For example, in calculating an employee’s pay, the hours worked multiplied by the
hourly wage rate gives the gross pay. Based on total earning, income-tax deductions are computed
and subtracted from gross-pay to arrive at net pay.
• Summarizing: This is to condense or reduce masses of data to a more usable and concise form.
When the data involved is numbers, you summarize by counting or accumulating the totals of the
data in a classification or by selecting strategic data from the mass of data being processed. For
example, in summarizing a business activity, a general manager may be provided with sales-totals
by major product line or sales totals by individual salesman.
• Comparing: This is to perform an evaluation in relation to some known measures. For example,
business managers compare data to discover how well their companies are doing. They may compare
current sales figures with those for last year to analyse the performance of the company in the
current month.
• Storing: This is to hold data for continued or later use. Storage is essential for any organised
method of processing and re-using data. The basic requirement for utilizing the computer is the
ability to store and access data. The storage mechanisms for a computer are magnetic disks/magnetic
tapes. The storing activity involves storing data and information in organised manner in order to
facilitate the retrieval activity. The data should be stored only if the value of having them in future
exceeds the storage cost.
• Retrieving: This is the process of searching or locating a data item from the storage. Using a
computer, the data is retrieved from the storage device in sequential, indexed sequential or random
access mode.
46
Data Processing Data Representation and Processing
Communication
Communication is the process of sharing information. Unless the information is made available to the
users who need it, it is worthless. Thus, communication involves the transfer of data and information
produced by the data processing system to the prospective users of such information or to another data
processing system. As a result, reports and documents are prepared and delivered to the users. Using a
computer, results are communicated through display units or terminals or printed out.
Reproduction
To reproduce is to copy or duplicate data or information. This reproduction activity can be done using a
computer.
4.3.3 The Data Processing Cycle
The data processing activities described above can be grouped into four (4) functional categories consti-
tuting what is known as a data processing cycle (also called Information Processing Cycle); data input,
data processing, data output and data storage.
• Input: The term input refers to the activities required to record data and to make it available
for processing. The input can also include the steps necessary to check, verify and validate data
contents. A computer can accept data (input) from a wide range of input devices such as keyboards,
mouse, microphones and scanners.
• Processing: The term processing denotes the actual data manipulation techniques such as clas-
sifying, sorting, calculating, summarizing, comparing, etc., that convert data into information.
Computer circuits perform calculations on numbers. They are also capable of manipulating numerics
and other symbols used in text with equal efficiency. A computer also possesses the ability to
perform logic operations. For example, if we compare two items represented by the symbols A and
B, there are only three possible outcomes. A is less than B (A<B); A is equal to B (A=B): or A is
greater than B (A>B). A computer can perform such comparisons and, depending on the result,
follow a predetermined path to complete its work. This ability to compare is an important property
of computers.
• Output: This is a communication function that transmits the information generated to the needed
person. Sometimes output also includes decoding activity which converts the electronically generated
information into human-readable form. A computer can supply processed data (information) to a
wide range of output devices such as display screens and printers.
• Storage: This involves the filing of data and information for future use. Both data and program
instructions are stored internally in a computer. Once they are stored in the internal memory, they
can be called up quickly or retrieved for further use.
Thus, a computer is a data processing system that uses data as input and processes the data to produce
information as output. These achieve the function of data processing cycle. The four basic function are
performed in a logical sequence as presented in Figure 4.1.
47
Data Processing Data Representation and Processing
Data
Collecting
Converting
Input
• Data Item: A data item is the smallest unit of information stored in a computer file. It is a single
element used to represent a fact such as an employee’s name, student number and item price.
• Field: Data items are physically arranged as fields in a computer file. Their length may be fixed or
variable. For example a student identification number that uses eight digit has a fixed field length.
In contrast, name varies considerably from one student to another, therefore student names has
variable field length.
• Record: A record is a collection of related data fields. Each record normally corresponds to a
specific unit of information.
• Database: The collection of related files is called a database. A database contains all the related
files for a particular application.
48
Chapter
5
Computer Networks
• Computer networks
• The Internet
5.1 Introduction
A computer network is a collection of computers and other hardware components interconnected by
communication channels that allow sharing of resources and information. Two devices are said to be in a
network if at least one process in one device is able to send/receive data to/from at least one process
residing in a remote device. Simply, two or more computers interconnected through a communication
medium for information interchange is called a computer network.
5.1.1 Types of Computer Networks
Networks come in a wide variety of types. The most common are local area networks (LANs) and wide
area networks (WANs), but there are many other types of networks, including metropolitan area networks
(MANs), storage area networks (SANs), intranets and extranets.
Local Area Network (LAN)
A local area network (LAN) is a network that connects computers and devices in a limited geographical
area such as home, school, computer laboratory, office building, or closely positioned group of buildings.
Each computer or device on the network is a node. Current wired LANs are most likely to be based on
Ethernet technology, although new standards like ITU-T also provide a way to create a wired LAN using
existing home wires (coaxial cables, phone lines and power lines).
Wide Area Network (WAN)
Wide area networks are used to connect LANs together. Typically, WANs are used when the LANs that
must be connected are separated by a long distance. WANs are leased from carrier networks, such as
telephone companies. Four basic types of connections, or circuits, are used in WAN services: circuit-
switched, cell-switched, packet-switched, and dedicated connections. A wide array of WAN services are
49
Introduction Computer Networks
available, including analogue dialup, Asynchronous Transfer Mode (ATM), dedicated circuits, cable, digital
subscriber line (DSL) Frame Relay, Integrated Services Digital Network (ISDN), Switched Multi-megabit
Data Services (SMDS), and X.25. Analog dialup and ISDN are examples of circuit switched services,
ATM and SMDS are examples of cell-switched services, and Frame Relay and X.25 are examples of
packet-switched services.
Metropolitan Area Network (MAN)
A metropolitan area network (MAN) is a hybrid between a LAN and a WAN. Like a WAN, it connects two
or more LANs in the same geographic area. A MAN, for example, might connect two different buildings
or offices in the same city. A MAN provides high-speed connections, such as T1 (1.544 Mbps) and
optical services. The optical services provided include the Synchronous Optical Network (SONET) and
Synchronous Digital Hierarchy (SDH) standards. With these optical services, carriers can provide high-
speed services, including ATM and Gigabit Ethernet. These two optical services provide speeds ranging
into the hundreds or thousands of megabits per second (Mbps). Devices used to provide connections for
MANs include high-end routers, ATM switches and optical switches.
Storage Area Network
A storage area network (SAN) is a dedicated network that provides access to consolidated, block level
data storage. Storage area networks are primarily used to make storage devices, such as disk arrays, tape
libraries and optical jukeboxes, accessible to servers so that the devices appear like locally attached devices
to the operating system. A SAN typically has its own network of storage devices that are generally not
accessible through the local area network by other devices.
Intranet
An Intranet is basically a network that is local to a company, that is, users from within the company can
find their resources without having to go outside of the company. An Intranet can include LANs, private
WANs, MANs and SANs.
Extranet
An extranet is an extended intranet, where certain internal services are made available to known external
users or external business partners at remote locations. The connections between these external users and
the internal resource are typically secured.
5.1.2 Network Topology
A topology is the characteristic of a communication network that consists of both the physical configuration
of the cabling that is used to inter connect communicating system and the logical way in which system
view the structure of the network. Topology is therefore the physical or logical arrangement of computers.
The following sections explained the different types of network topologies.
Star Topology
This topology consists of a central node to which all other nodes are connected. Star topology is used
in most existing information networks involving data processing and voice communication. This allows
sufficient connection point to be provided for one sub–area, while providing flexibility in their allocation
within that area. Figure 5.1 shows a typical star and extended star topologies.
50
Introduction Computer Networks
• It is very fast.
• Always requires very long cable length when connecting many nodes.
Bus Topology
The bus topology is the simplest method of networking computers. It consists of a single cable known as
a trunk, backbone or segment that connects all the computers in the network. Each system is directly
attached to a common communication channel. Signal that is transmitted over the channel makes up the
messages. As each message passes along the channel, each system receives the message and examine the
destination address contained in the message. If the destination address tells a particular system that the
message is addressed to it, that system accepts and process the message, if the message address tells the
computer that the message is intended for another system, that computer will ignore the message.
In a bus topology, signals are sent to all the computers in the network. To keep the signal from bouncing
back and forth along the cable, a terminator, British Naval Connector (BNC), is placed at the end of the
cable. In a bus topology only one computer can send data at a time, therefore increasing the number of
computers in a bus slows data transmission in the network. A typical bus topology is shown in Figure 5.2
51
Introduction Computer Networks
• There is no chances for data collision since only one computer can transmit at a time.
• Signal on the cable are bidirectional, hence reaches all the nodes.
• Fault isolation is difficult – if fault in the node is detected, the node can simply be removed. But if
the fault is in the network medium itself, the entire segment of the bus must be disconnected to
isolate the fault.
• Repeater configuration – When a bus type network has its backbone intended for using a repeater,
configuration maybe necessary thus may involve tailoring cable length and adjusting terminator.
• Computer nodes must be intelligence – each node on the network is directly connected to the central
bus. This means that each node must have method of deciding and detecting its own data.
Ring Topology
In ring topology, each node is connected to form a single closed data path as shown in Figure 5.3. Data
from one node is passed along to the next node from which it will be examined, and if that node is not
the intended destination, then it is transmitted to the next node until the destination is reached. Token
(a special bit pattern) is circulated in the network to enable a node to capture the data. Ring topology
might be structured so that there are a number of information frames or slot in construct circulation.
A node wishing to transmit first detects the arrival of an empty slot then inserts the data it wishes to
send and mark the frame as full. The receiving node takes the data and then marks the frame as empty.
In implementation, one particular node has the responsibility for generating the token or slot when the
network is first constituted.
52
Introduction Computer Networks
• No central server, which reduces the cost of establishing the ring topology.
Tree Topology
The tree topology integrates multiple star topologies together onto a bus. In its simplest form, only hub
devices connect directly to the tree bus and each hub functions as the "root" of a tree of devices. This
bus/star hybrid approach supports future expandability of the network much better than a bus (limited
in the number of devices due to the broadcast traffic it generates) or a star (limited by the number of hub
connection points) alone. A typical tree topology is shown in Figure 5.4.
53
Introduction Computer Networks
Mesh Topology
Mesh topology involves the concept of routes. Unlike each of the previous topologies, messages sent on
a mesh network can take any of several possible paths from source to destination. Some WANs, most
notably the Internet, employ mesh routing. A mesh network in which every device connects to every other
is called a full mesh as shown in Figure 5.5.
• Twisted pair wire: This is the most widely used medium for telecommunication. Twisted-pair
cabling consists of copper wires that are twisted into pairs. Ordinary telephone wires consist of two
insulated copper wires twisted into pairs. Computer networking cabling (wired Ethernet as defined
by IEEE 802.3) consists of 4 pairs of copper cabling that can be utilized for both voice and data
transmission. The use of two wires twisted together helps to reduce crosstalk and electromagnetic
induction. The transmission speed ranges from two million bits per second to 10 billion bits per
54
Introduction Computer Networks
second. Twisted pair cabling comes in two forms: unshielded twisted pair (UTP) and shielded
twisted-pair (STP). Each form comes in several category ratings, designed for use in various scenarios.
• Coaxial cable: This cable consists of copper or aluminium wire surrounded by an insulating
layer (typically a flexible material with a high dielectric constant), which itself is surrounded by a
conductive layer. The insulation helps minimize interference and distortion. Transmission speed
ranges from 200 million bits per second to more than 500 million bits per second.
• ITU-T technology: This uses existing home wiring (coaxial cable, phone lines and power lines)
to create a high-speed (up to 1 Gigabit/s) local area network.
• An optical fibre: This is a glass fibre that uses pulses of light to transmit data. Some advantages
of optical fibres over metal wires are less transmission loss, immunity from electromagnetic radiation
and very fast transmission speed, up to trillions of bits per second. One can use different colours of
lights to increase the number of messages being sent over a fibre optic cable.
Wireless Technologies
• Terrestrial microwave: This uses earth-based transmitters and receivers resembling satellite
dishes. Terrestrial microwaves are in the low-giga hertz range, which limits all communications to
line-of-sight. Relay stations are spaced approximately 48 km apart.
• Communications satellite: This communicates via microwave radio waves, which are not deflected
by the Earth’s atmosphere. The satellites are stationed in space, typically in geosynchronous orbit
35,400 km above the equator. These Earth-orbiting systems are capable of receiving and relaying
voice, data and TV signals.
• Cellular systems: These use several radio communications technologies. The systems divide the
region covered into multiple geographic areas. Each area has a low-power transmitter or radio relay
antenna device to relay calls from one area to the next area.
• Radio and spread spectrum technologies: Wireless local area networks use a high-frequency
radio technology similar to digital cellular and a low-frequency radio technology. Wireless LANs use
spread spectrum technology to enable communication between multiple devices in a limited area.
IEEE 802.11 defines a common flavour of open-standards wireless radio-wave technology.
• Infra-red communication: This can transmit signals for small distances, typically no more than
10 meters. In most cases, line-of-sight propagation is used, which limits the physical positioning of
communicating devices.
• A global area network (GAN): This is a network used for supporting mobile communication
across an arbitrary number of wireless LANs, satellite coverage areas, etc. The key challenge in
mobile communications is handing off user communications from one local coverage area to the next.
In IEEE Project 802, this involves a succession of terrestrial wireless LANs.
55
Introduction Computer Networks
• Remote bridges: Can be used to create a WAN link between LANs. Remote bridge were largely
replaced by routers, particularly, where the connecting link is slower than the end networks.
• Wireless bridges: Can be used to join LANs or connect remote stations to LANs.
Switches
A network switch is a device that forwards and filters (chunks of data communication) between ports
(connected cables) based on the MAC addresses in the packets. A switch is distinct from a hub in that it
only forwards the frames to the ports involved in the communication rather than all ports connected. A
switch breaks the collision domain but represents itself as a broadcast domain. Switches make forwarding
56
Introduction Computer Networks
decisions of frames on the basis of MAC addresses. A switch normally has numerous ports, facilitating a
star topology for devices and cascading additional switches.
Routers
A router is an inter-networking device that forwards packets between networks by processing information
found in the datagram or packet. In many situations, this information is processed in conjunction with
the routing table (also known as forwarding table). Routers use routing tables to determine what interface
to forward packets.
5.1.5 Transmission Modes
A given transmission on a communications channel between two machines can occur in several different
ways. The transmission is characterized by:
• A simplex connection is a connection in which data flows in only one direction, from the transmitter
to the receiver. This type of connection is useful if the data does not need to flow in both directions
(for example, from your computer to the printer or from the mouse to your computer).
• A full-duplex connection is a connection in which the data flow in both directions simultaneously.
Each end of the line can thus transmit and receive at the same time, which means that the bandwidth
is divided into two for each direction of data transmission if the same transmission medium is used
for both directions of transmission.
• Parallel connection: This means simultaneous transmission of N bits. These bits are sent simul-
taneously over M different channels (a channel being, for example, a wire, a cable or any other
physical medium). The parallel connection on PC-type computers generally requires 10 wires. These
channels may be:
57
The Internet Computer Networks
– A number of physical lines in which case each bit is sent on a physical line (which is why
parallel cables are made up of several wires in a ribbon cable).
– One physical line divided into several sub-channels by dividing up the bandwidth. In this case,
each bit is sent at a different frequency. Since the conductive wires are close to each other in
the ribbon cable, interference can occur (particularly at high speeds) and degrade the signal
quality.
• Serial connection: In a serial connection, the data are sent one bit at a time over the transmission
channel. However, since most processors process data in parallel, the transmitter needs to transform
incoming parallel data into serial data and the receiver needs to do the opposite. These operations
are performed by a communications controller, normally a UART (Universal Asynchronous Receiver
Transmitter) chip.
Transmission Channel
• In asynchronous connection, each character is sent at irregular intervals in time (for example a user
sending characters entered at the keyboard in real time). So, for example, imagine that a single
bit is transmitted during a long period of silence; the receiver will not be able to know if this is
00010000, 10000000 or 00000100. To remedy this problem, each character is preceded by some
information indicating the start of character transmission (the transmission start information is
called a START bit) and ends by sending end-of-transmission information (called STOP bit, there
may even be several STOP bits).
• In a synchronous connection, the transmitter and receiver are paced by the same clock. The
receiver continuously receives (even when no bits are transmitted) the information at the same
rate the transmitter sends it. This is why the transmitter and receiver are paced at the same
speed. In addition, supplementary information is inserted to guarantee that there are no errors
during transmission. During synchronous transmission, the bits are sent successively with no
separation between each character, so it is necessary to insert synchronization elements; this is called
character-level synchronization. The main disadvantage of synchronous transmission is recognizing
the data at the receiver, as there may be differences between the transmitter and receiver clocks.
That is why each data transmission must be sustained long enough for the receiver to distinguish it.
As a result, the transmission speed cannot be very high in a synchronous link.
58
The Internet Computer Networks
Application layer
It provides different services such as manipulation of information in several ways, re-transferring of
information, distribution of information, etc. The functions such as LOGIN or password checking are also
performed by the application layer. Protocols used in the layer comprises FTP, HTTP, NNTP, SMTP
and Telnet.
• Transfer Protocol (FTP): This protocol is used to copy files from one host to another in the following
manner:
– Creates two processes such as control process and data transfer process at both ends, that is,
at client and server sides.
– Establishes two different connections: one is for data transfer and other is for control information.
– Uses port 21 for the control connection and Port 20 for the data connection.
• Hyper Text Transfer Protocol (HTTP): This protocol is used for communication. It defines
mechanism for communication between browser and the web server. It is also called request and
59
The Internet Computer Networks
response protocol because the communication between browser and server takes place in request
and response pairs.
• Net News Transfer Protocol (NNTP): This protocol is used to access or transfer Usenet news over
the Internet.
• Simple Mail Transfer Protocol (SMTP): This protocol is used for sending e-mails efficiently and
reliably over the Internet. It handles exchange of messages between e-mail servers over TCP/IP
network. Apart from transferring e-mail, SMTP also provides notification regarding incoming mail.
When you send an e-mail, your e-mail client sends it to your e-mail server which further contacts the
recipient mail server using SMTP client. These SMTP commands specify the sender’s and receiver’s
e-mail address, along with the message to be send. The exchange of commands between servers is
carried out without intervention of any user. If messages cannot be delivered, an error report is sent
to the sender which makes SMTP a reliable protocol.
• Telnet: This protocol is used to log in to a remote computer on the Internet. There are a number of
Telnet clients having user friendly interface.
Transport Layer
The transport layer performs the following functions:
• It decides if the data transmission should take place on parallel paths or single path.
• It breaks the data groups into smaller units so that they are handled more efficiently by the network
layer.
The transport layer guarantees transmission of data from one end to another. The transport layer uses
TCP and User datagram Protocol (UDP) protocols for end to end transmission. TCP is a reliable and
connection oriented protocol. TCP provides means to allow two software on difference machines on the
Internet find each other, rendezvous and transfer data. TCP also provides an essential service of making
sure that each piece of data is transferred in the correct sequence and without error. TCP also handles
flow control. The UDP is a connection less protocol. It is not reliable and does not perform flow control.
Internet Layer
The function of this layer is to allow the host to insert packets into network and then make them travel
independently to the destination. However, the order of receiving the packet can be different from the
sequence they were sent. The Internet layer used Internet Protocol (IP) for addressing.
Host-to-Network
This is the lowest layer in the Internet model. The host has to connect to network using some protocols,
so that it can send IP packets. This protocol varies from host to host and network to network. Some of
the protocols used are ARPANET, Ethernet and packet radio.
5.2.3 Internet Design Principles
The fundamental design principles of the Internet are interoperability, layering, simplicity, uniform naming
and addressing and end-to-end protocol.
60
The Internet Computer Networks
Interoperability
Interoperability means that systems can be assembled using client and server computers and software from
different vendors. In the context of Internet commerce, interoperability means that buyers and sellers do
not have to buy and upgrade software simultaneously from the same vendors to conduct commerce. Thus,
independent implementations of Internet protocols work together.
Layering
Internet protocols are designed to work in layers, with each higher layer building on the facilities provided
by lower layers.
Simplicity
The layering of the Internet grows both up and down from Internet Protocol. Internet Protocol (IP) is
very simple and provides only addressing and formatting of packets. Below the level of IP, there is the
complexity of many different kinds of network hardware, topologies and routers. Internet Protocol (IP)
hides that complexity from applications and insulates application developers from the complexities of
different network devices and the complexities of implementing low-level network protocols. Above IP,
higher-level protocols such as TCP offer service abstractions that are easy for application programmers to
understand and use.
Uniform Naming and Addressing
The IP layer offers a uniform addressing structure that assigns a 32-bit address to each computer connected
to the network known as IP Address. IP address is a unique set of numbers such as 10.23.33.114, which
identifies a computer location. Domain name system (DNS) offers a uniform way to translate human-
readable names for computers, such as www.google.com to the numeric address for that computer. The
domain name system comprises domain names, domain name space and name server.
• Domain Names: Domain name is a symbolic string associated with an IP address. There are several
domain names available; some of them are generic such as com, edu, gov and net, while some are
country level domain names such as au, in, ng, us and za. Table 5.1 shows some of the generic
top-level and country top-level domain names.
• Domain Name Space: The domain name space refers to a hierarchy in the Internet naming structure.
This hierarchy has multiple levels from 0 to 127, with a root at the top. Figure 5.7 shows the domain
name space hierarchy.
61
The Internet Computer Networks
acc csc
Each subtree in Figure 5.7 represents a domain. Each domain can be partitioned into sub domains
and these can be further partitioned and so on. For example, the top-level domain for Nigeria is
“ng”, which is further partitioned into “edu” and “org” domains for educational institutions and
Nigerian government agencies respectively. The domain for educational institutions comprises “abu”,
“buk” and “kasu” domains for Ahmadu Bello University, Bayero University Kano and Kaduna State
University respectively. The “kasu” domain comprises the “acc” and “csc” domains for accounting
and computer science departments respectively.
• Name Server: Name server contains the DNS database. This database comprises various names and
their corresponding IP addresses. Since it is not possible for a single server to maintain entire DNS
database, the information is distributed among many DNS servers. The server maintains a database
called zone file for every zone. Zone is a collection of sub-domains under the main domain.
End-to-End
The Internet is designed around end-to-end protocols; the interpretation of the data happens on the
sending and receiving systems, but nothing in the network needs to look at anything but the destination
address for delivering the packet. End-to-end protocols have several advantages such as hiding the internal
structure of the network and providing simple abstractions to programmers; shielding them from details
of recovering from lower-level errors.
62
The Internet Computer Networks
http://www.kasu.edu.ng/
The http:// enables a web browser to locate and display the web page or website. Most browsers
will automatically add this prefix. The www stands for world wide web. This means that the page is
somewhere on the world wide web. For some websites, it is not necessary to type in the “www” part. The
text “kasu” is the name of the web page or website (or the host). It is flanked by dots on either side
which separate it from other sections of the web address. The edu.ng is the top level domain name for
educational institutions in Nigeria. This indicates where the web page is registered, and often tells what
kind of website it is.
The WWW works on client-server approach using the following steps:
• User enters the URL (example http://www.google.com) of a web page in the address bar of a web
browser.
• Then the browser sends a request to the domain name server for the IP address corresponding to
www.google.com.
• After receiving the IP address, the browser sends the request for web page to the web server using
the HTTP protocol, which specifies the way the browser and web server communicates.
63
The Internet Computer Networks
• Then web server receives request using HTTP protocol and searches for the requested web page. If
found it returns it back to the web browser and closes the HTTP connection.
• Now the web browser receives the web page, interprets it and display the contents of web page in
web browser’s window.
A website is a collection of web pages that can be identified using a domain name. Websites can be
accessible to the whole world via the Internet, or can be a private affair available only to users in an
organization. There are private and public websites. Private websites are called Intranet servers, which
are used by internal users in an organization. Private websites are set-up inside a firewall to protect
access from external users, but shared by all internal users across many types of local area TCP/IP based
computer network. Public websites are accessible by users through the Internet. Public websites are
normally placed on a web server that has Internet connection, which is maintained by the owner of the
website or an organisation that provides web hosting services.
There are advantages and disadvantages in setting up a web server by an organisation to host a website
or having a website hosted by a web hosting organisation. Setting up a web server within an organisation
provides complete control over the operations of the server and ability to use server scripts that interact
with other systems in the organisation. However, the organisation needs to connect the web server to the
Internet and provide an administrator for the web server. On the other hand, having a website hosted by
a web hosting organisation relieves an organisation from the need for a high speed Internet connection,
hardware and software to set up a web server. However, the website must be managed remotely and the
owner of the website will give up the ability to write server scripts and integrate the website with other
system.
Search Engines
Search engine refers to a huge database of Internet resources such as web pages, newsgroups, programs and
images. It enables users to locate information on World Wide Web. Users can search for any information
by passing a query in form of keywords or a phrase. It then searches for relevant information in its
database and return to the user. There are three basic components of a search engine; web crawler,
database and search interfaces.
The web crawler is a software component that traverses the web to gather information. Information on
the web is stored in database, which consists of huge web resources. Search interface is the component
that resides between a user and the database. It helps the user to search through the database. The web
crawler, database and search interface components make the search engine work. Search engines make use
of Boolean expression AND, OR and NOT to restrict and widen the results of a search. To search for a
web resource, the following are the steps are performed by a search engine:
• The search engine looks for the keyword in the index for predefined database instead of going directly
to the web to search for the keyword.
• The search engine then uses the web crawler to search for the information in the database.
• Once web crawler finds the pages, the search engine then shows the relevant web pages as a result,
which include title of the pages, size of text portion, first several sentences etc. The search criteria
may vary from one search engine to the other. The retrieved information is ranked according to
various factors such as frequency of keywords, relevancy of information, links etc.
64
The Internet Computer Networks
• A user can then select any of the search results to open the web resource using a web browser.
Electronic Mail
Electronic mail, or e-mail, is a fast, easy and inexpensive way to communicate with other Internet users
around the world. It is one of the basic and earliest services of the Internet and the most used application
on the Internet too. E-mail overcomes most of the problems and delays of getting a physical document
from one person to another. Rather, it has the dual advantage of being faster
File Transfer Protocol (FTP)
The File Transfer Protocol (FTP) is a system of rules and a software program that enables a user to log
on to another computer and transfer information between the two computers. It was the first service
developed for the Internet so that government and educational institutions could easily exchange files.
FTP allows the user to get access to the files stored in the directory of a remote computer that is connected
to the Internet. Using FTP, a user can upload and download files from the remote computer (known as
FTP servers), with access permission on the remote machine.
Telnet
Telnet is a protocol that allows a user to log on to a remote computer. Telnet is also known as remote
login, which means connecting one machine to another in such a way that a person may interact with
another machine as if it is being used locally.
Internet Relay Chat (IRC)
The Internet Relay Chat (IRC) is a service on the Internet that allows people to communicate in real
time and carry on conversations via the computer with one or more people. It provides the user with the
facility to engage in simultaneous (synchronous) online conversation with other users from anywhere in
the world.
Chatting and Instant Messaging
Chart programs allow users on the Internet to communicate with each other by typing in real time.
They are sometimes included as a feature of a website, where users can log into chat rooms to exchange
comments and information about the topics addressed on the site.
Internet Telephony
Internet telephone is the use of the Internet rather than the traditional telephone company infrastructure,
to exchange spoken or other telephonic information. It consists of hardware and software that enable
people to use the Internet as a transmission medium for telephone calls. There are many Internet telephony
applications available. Some, Internet telephony applications such as Cool Talk and NetMeeting, come
bundled with popular web browsers.
Video Conferencing
Video conferencing uses the same technology as IRC, but also provides sound and video pictures. It
enables direct face-to-face communication across networks. A video conferencing system has two or more
parties in different locations, which have the ability to communicate using a combination of video, audio
and data. A video conference can be person to person (referred to as “point-to-point”) or can involve
more than two people (referred to as “multipoint”) and the video conferencing terminals are often referred
to as “endpoints”.
65
The Internet Computer Networks
Newsgroups (Usenet)
Newsgroups are international discussion groups that focus on a particular topic and help in gathering
information about the topic. The information or articles that make up the “news” are written by people
interested in a specific topic. These articles are posted to the newsgroup so that others can read, reply
and comment on them.
Mailing Lists (List server)
The Internet is home to a large community of individuals who carry out active discussions, organized
around topic-oriented forums that are distributed via e-mail. This method of Internet communications is
known as mailing list and it enables people with similar interests from all over the world to communicate
and share information with each other.
66
Chapter
6
Computer Ethics and Responsibility
• Software piracy
• Privacy of data
• Green computing
• Ethical responsibilities
6.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 distribute 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.
67
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.
• Freeware License: This is a copyrighted software that is licensed to be copied and distributed
without charge. However, it is still under the control of the owner.
• 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 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.
68
Use of Computers and the Internet Computer Ethics and Responsibility
customer’s check at any branch, the government to collect taxes, and mass merchandisers to send out
junk mail. Even though people may not care for every use of databases, they generally have positive
benefits. However, they also can be used in negative ways. For example, an industrial spy might steal
customer data from a company database and sell it to a competitor, which is obviously an illegal act.
Any information about a person that is not clearly public should be considered confidential. An example
of public information is a phone number listed in a telephone directory. Private information includes any
data that has been provided with an understanding that it will be used only for a specific purpose such
as the data on a credit card application, staff and student records, company payroll, patient record and
so on. Therefore, unauthorised access, viewing and distribution of these information are unethical and
invasion of the owners right to privacy.
Thus, a computer user has a responsibility to avoid taking advantage of special access to confidential
data. The user also has a responsibility to guard that data from unauthorized access. Guarding data
involves shredding old printouts that contain confidential information, keeping backup copies in a locked
cabinet, not using passwords that are easy to guess (such as a name or word), and more complex measures
such as encryption (keeping it stored in a secret coded form).
• 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.
69
Ethical Responsibilities Computer Ethics and Responsibility
• 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.
1. Use a computer to harm other people: If it is unethical or bad to steal and destroy other
people’s books and notebooks, it is equally bad to access and destroy their computer files.
2. Interfere with other people’s computer work: Computer viruses and or malicious software
are programs that disrupt other people’s computer work by destroying their files, taking huge
amounts of computer time or memory, or by simply displaying annoying messages. Generating and
consciously spreading computer viruses is unethical.
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.
4. Use a computer to steal: Using a computer to break into the accounts of a company, an individual
or a bank and transferring money should be judged the same way as robbery. It is illegal and there
are strict laws against it.
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 the world is bad. For instance,
spreading false rumours about a person or false propaganda about events is wrong.
70
Ethical Responsibilities Computer Ethics and Responsibility
7. Use other people’s computer resources without authorization: Multi-user systems employ
user identifications and passwords to enforce their memory and time allocations, and to safeguard
information. A computer user should not try to bypass this authorization system. Hacking a system
to break and bypass the authorization is unethical.
9. Develop a program to harm people or society: Software developers have to think about
computer issues in a more general social framework; can the program you write be used in a way
that is harmful to society? If yes, then a person should desist from writing the program.
10. Use a computer in ways that show no consideration and respect: Just like public buses or
banks, people using computer communication 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.
71