Download as pdf or txt
Download as pdf or txt
You are on page 1of 81

OXFO BUSINESS AND TECHNOLOGY COLLEGE

Module for the Course

Introduction to Computer Application


Course Code = COMP-231
Credit Hour = 3
Source of Blue Nile

Oct, 2016
Shire Tigray
UNIT 1 – Introduction to Computer
1.1 An overview of Computer Science
1.2 Definition of computer, computer science
1.3 Introduction to PC applications and purpose of computers.
1.4 Historical development of computers and generations.
1.5 Types of computers.
Chapter Objectives
On completion of this chapter you will be able to:
 Distinguish the difference between data and information
 Define Information Technology
 Define Computer Science
 Define computer and List some characteristics
 State the general historical developments of Computers
 Explain the three classification of computers
 List the application areas of computers
 State the basic data representation systems
1.1. Basic Terms
1.1.1. Data Vs Information
Data is the plural from of “Datum “which means fact; it is a collection of raw figures that represent
features or details about people, objects places clans or events. Data are the raw material for
information. Data comes in many forms - numbers, words, symbols. Data relates to transactions,
events and facts. On its own - it is not very useful.
Information is the collection of meaningful facts and figures that can be used as a base for guidance
and decision making. Information is data that has been rearranged, processed organized, into a form
perceived as useful by the recipient. Information is data that has been processed in such a way as to be
meaningful to the person who receives it. Information can be used for Planning, Recording,
Controlling, Measuring and Decision-making in an organization.
Hence we must combine, add to or process data in some way to make it meaningful or to change it to
information.
Data (input)  Data Processing  Output (Information)

(Calculating, Sorting, Summarizing, Merging etc.)


Data- is a collection of facts, unprocessed datum. It can not give a meaning by itself. When symbols
(numbers, pictures, figures etc.) are represented based on a certain rules and standards, it forms data. Data
is an input for information system.

Information-is a processed data that has a meaning to its users. It is informative about something.
Information needs cognitive states of its users i.e. demands awareness of data.

Data Information Information


System

Fig. 1.1 show how data is converted in to information

1
Data processing is therefore the manipulation and transformation of data in to more meaningful form
(information). Think of data as a "raw material" - it needs to be processed before it can be turned into
something useful hence the need for "data processing".
Think of the data that is created when you buy a product from a retailer. This includes:
 Time and date of transaction (e.g. 10:05 Tuesday 23 December 2003)
Transaction value (e.g. £55.00)
 Facts about what was bought (e.g. hairdryer, cosmetics pack, shaving foam) and how much was
bought (quantities)
 How payment was made (e.g. credit card, credit card number and code)
Which employee recorded the sale
 Whether any promotional discount applied
At its simplest, this data needs processing at the point of sale in order for the customer to receive a
valid receipt. So the data about the transaction is processed to create "information" - in this case a
receipt. You can imagine that the same data would also be useful to the manager of the retail store. For
example, a report showing totals sales in the day, or which are the best-selling products. So the data
concerning all shop transactions in the day needs to be captured, and then processed into a
management report.
So that, Data are the raw material for information where as Information is data that has been processed
in such a way as to be meaningful to the person who receives it. Note the two words underlined -
"processed" and "meaningful". It is not enough for data simply to be processed. It has to be of use to
someone - otherwise why bother?! The information produced by the data processing must be accurate,
timely and full.

1.1.2. Information Technology


Information technology is technology that merges computing with high-speed communications links
carrying data, sound, and video. This merging of computers with communication technology is
produced through a phenomenon called technological convergence. This technological convergence
brings several industries using devices that can exchange information in electronic format used or
understood by computer. The current century that we are living is termed as Information Age. Its
parents are computer technology and communication technology.
N.B: The most important consequence of information technology is that it is producing a gradual
fusion of several important industries in a phenomenon that has been called technological
convergence.

Technological convergence (or Digital Convergence) technological merger of several “industries”


through various devices that exchange information in the electronic or digital format used or
(understood) by computer. Industries to mean computers, communications, electronics, entertainments
and mass media.

Example: Web TV technology: is one of the technological mergers that allow adding set-top boxes to
your TV, so that they can access and view the WWW, internet over the TV screen.
Effects of IT
 Change conventional meaning of time, distance and space.
 Physical location that are associated with work, leisure become meaning less.
 Nature of work is changing and changing fast.
 Entire industries are redefined using Internet and WWW(world wide web)
2
Technological convergence: is derived from a combination of two recent technologies: computers
and communications.
 Computer technology
A computer is a programmable, multiuse machine that accepts data, raw facts and figures and
processes, or manipulates, it into information we can use, such as summaries or totals. Its purpose is to
speed up problem solving and increase productivity.
 Communications technology
Communications, or telecommunications, technology consists of electronic and electromagnetic
devices and systems for communicating over long distances.
Examples are telephone, radio, broadcast television, and cable TV.
Information Technology is a science concerned with information, that is, representation, storage,
manipulation or processing and presentation of information. Like any other science, which uses
different devises and lab equipments, Information technology uses a special device called computer.
1.1.3. Computer Science
Computer Science is concerned with information. It is devoted to the representation, storage,
manipulation and presentation of information. Computer Science uses information transferring device.
The unique aspect of computer Science is the Computer, computer being a general-purpose, electronic,
stored-program device.
Just like any other sciences, computer science is also engaged in theoretical studies which do not
necessary involve computers directly. The study of structures and models of programming language is
one such area of theoretical commuter science.
Computer Science is about data, programs, computers and people. It is a young science and is rich in
challenges and applications, since computing systems are every where: in Science and engineering,
medicine, design and manufacture commerce and public service, defense, transportation, arts and
media, entertainment and the home. Information processing technology allows many people to use
computing systems to create, store, transform, and communicate written, aural and visual information.

1.2.1. Definition of Computers


What is Computer?
The word computer is derived from the Latin word “compute” which means to “calculate” or
“compute”. Therefore, computer is electronic device which is devised to perform calculations and
controlling operations. Note that calculation can be numeric (like addition, subtraction...) and
nonnumeric (like logical operation using and, or ...)
A computer can be defined as an electronic machine capable of accepting data in the form of facts and
figures , applying prescribed process to the data , and supplying the results of these processes as
meaningful information.
Computer is a device that enables you to process information automatically and in accordance with
instructions that you give it. Computers have become part of the day-to-day activities of people around the
globe. It is difficult to think any field that does not involve or is not affected by computer. Computer is
taken as future development tool by providing access to information.
Formal Definition: Computer science or computing science is the study and the science of the theoretical
foundations of information and computation and their implementation and application in computer
systems. Computer science needs its own special devices like chemistry has “test tube” for its practical
aspect. This device is called computer.
3
The word computer generated from a Latin word “compute” which means “to calculate” and can be
applied to abacus or any adding machine as to the modern computer. A computer is any calculating device
or machine, which is electrical, mechanical or electromechanical.

But that doesn’t mean that computer performs only calculation. However, the term “Computer” has come
to mean a special electronic device having certain definite characteristics. Generally, a computer is an
electronic device that takes an input, process it under a set of instructions called program, produce an
output and store the result for future use. Why we need computer is that if we want some problems to be
solved, in nowadays computers can solve problems if the problem can be solved in to logical steps. From
these definitions, what a computer in general does is that-

 It takes input in various forms from different input units;


 Process it according to a given set of instructions called program;
 Produce an output in required form such as printed on paper or soft copy and gives it to the end users;
 Storage / keeps the results for future use and later processing and
 Controlling /coordinates all the activities in side the computer.

Disseminating

Input Processing Output or Storage


(Raw data) (+,*, /, - , processed data
sorting etc) (Information)

For future use


For later
processing

Figure1.2. Basic functions of computers


Why we use computers?

What do we usually think of when we hear the word computer? Well most of us think that it is some kind
of a machine that just simply calculates, make and run programs and that's it. The computer is one of the
best inventions that anyone has ever come up with, why our whole world is practically run by them. From
the increasing use of computers in our lives we might expect a totally computerized future, as these
machines can perform tasks, better and faster, that even a human being cannot do. These tasks are related
to different fields, which directly or indirectly have a great impact on our livings, but without the use of
these computers it would have been extremely difficult or even impossible for us to perform them. The
importance of computers in our lives today is almost an essential key part of the way our lifestyles have

4
evolved. The followings are some of the capabilities and potential of computers which are reasons for
using computers:

- To store and process large amount of information with high speed and accuracy;
- To transmit information across continents via communication channels;
- To perform complex mathematical computations and make comparisons;
- To perform repetitive process with great ease, speed and reliability;
- For research purposes;
- For diagnostic purposes;
- For weather forecasts etc.

1.2.2. Characteristics of Computers


The increasing popularity of computers has proved that it is a very powerful and useful tool.
Computers have the following characteristics:
 Automatic. Computers are automatic; once started on a job, they carry on until the job is finished,
normally without any human intervention.
 Speed. A computer is a very fast device. Units of time are microseconds (10-6 second),
nanoseconds (10-9 second) or even picoseconds (10-12). A powerful computer is capable of
performing several billion (109) simple arithmetic operations per second.
 Accuracy. The accuracy of a computer is consistently high and the degree of accuracy of a
particular computer depends upon its design.
 Diligence. Unlike human beings, a computer is free from boredom, tiredness, lack of
concentration, etc., and hence can work for hours without creating any error and without
grumbling.
 Versatility. Versatility is one of the most wonderful things about the computer. A computer is
capable of performing almost any task provided that the task can be reduced to a series of
logical steps.
 Power of Remembering. A computer can store and recall huge amount of information because of
its secondary storage capability.
Although computers can be applied in different activities there are activities that computers can’t
perform. For example, a computer can’t do the following:-
 No I.Q. A computer is not a magical device. It can only perform tasks that a human being can. The
difference is that it performs these tasks with unthinkable speed and accuracy. It possesses no
intelligence of its own. Its I.Q. is zero. It has to be told what to do and in what sequence. Hence,
only the user can determine what tasks a computer will perform.
 No Feelings. Computers are devoid of emotion. They have no feelings and no instinct because
they are machines. Computers cannot make judgments on theirs own. Their judgment is based on
the instructions given to them in the form of programs that are written by us.
 Computers can’t decide how to be programmed. It is always persons or humans that are
responsible for programming the computers.
 Computers do not provide their own inputs unless people provide it with the inputs.
 Interpretation of data and implementation of decisions is always left for humans
In general terms computers can use for the following purposes:-
5
 To make the work easy.
 To do the work efficiently (Efficiency).
 To improve the quality of the result of work (Quality).
 To assist the work (Assistance).
 To finish the task faster (Speed).
1.2.3. Evolutions of Computers

Over the last 50 years computers have been used in many great human achievements including the
manned/unmanned exploration of space, automation in the workplace, technological advancement and
of course the internet, to name a few. The following topics discuss some important event in the
evolution of computers:-

 The first actual calculating mechanism known to use is the abacus, which is thought to have been
invented by the Babylonians sometime between 1,000 BC and 500 BC. Although the abacus does not
qualify as a mechanical calculator, it certainly stands proud as one of first mechanical aids to
calculation.
 In the early 1600s, a Scottish mathematician called John Napier invented a tool called Napier's
bones, which were multiplication tables inscribed on strips of wood or bone. Napier also invented
logarithms, which greatly assisted in arithmetic calculations.
 In 1621, an English mathematician and clergyman called William Oughtred used Napier's
logarithms as the basis for the slide rule. However, although the slide rule was an exceptionally
effective tool that remained in common use for over three hundred years, like the abacus it also does
not qualify as a mechanical calculator.
 Blaise Pascal is credited with the invention of the first operational calculating machine. In 1640,
Pascal started developing a device to help his father add sums of money. The first operating model, the
Arithmetic Machine, was introduced in 1642. However, Pascal's device could only add and subtract,
while multiplication and division operations were implemented by performing a series of additions or
subtractions. The first mechanical adding machine was invented by Blaise Pascal in 1642
 The first multi-purpose, i.e. programmable, computing device was probably Charles Babbage's
Difference Engine, which was begun in 1823 but never completed. Charles Babbage is considered to
be the father of modern digital computer. A more ambitious machine was the Analytical Engine. It
was designed in 1842, but unfortunately it also was only partially completed by Babbage. Babbage
was truly a man ahead of his time: many historians think the major reason he was unable to complete
these projects was the fact that the technology of the day was not reliable enough. In spite of never
building a complete working machine, Babbage and his colleagues, most notably Ada, Countess of
Lovelace, recognized several important programming techniques, including conditional branches,
iterative loops and index variables.
 A machine inspired by Babbage's design was arguably the first to be used in computational
science. George Scheutz read of the difference engine in 1833, and along with his son Edvard Scheutz
began work on a smaller version. By 1853 they had constructed a machine that could process 15-digit
numbers and calculate fourth-order differences.
 The Universal Automatic Computer (UNIVAC I) was the first digital computer .This machine was
one of the first commercial uses of computers was by the US Census Bureau in 1951.

1.2.3. Generation of Computers

6
Computer’s efficiency and functionality has been enhanced since the emergence of different types of
computers technologies. This development process can be classified as generations of computers.
”Generation” in computer talk is a step in technology. The major characteristics that distinguish the
various generations are the following:-
 Dominant type of electronic circuit elements used.
 Major Secondary storage Medias.
 Computer languages used.
 Type or characteristics of operating system used.
 Memory access time.
First Generation Electronic computers (1942-1955)
 Vacuum tubes were used as the switching devices. The first general purposes programmable
electronic computer was the Electronic Numerical Integrator and Computer (ENIAC), built by J.
Presper Eckert and John V. Mauchly at the University of Pennsylvania.
 Through the use of a memory that was large enough to hold both instructions and data, and using
the program stored in memory to control the order of arithmetic operations, another first generation
computer, EDVAC (Electronic Discrete Variable Computer), was able to run orders of magnitude
faster than ENIAC.
 The memory of these computers was constructed using electromagnetic relays and all data and
instructions were fed into the system from punched cards.
 The instructions were written in machine language and assembly language, the latter only in the
1950s.
Second Generation Electronic computers (1955-1964)
 Transistors (invented around 1952) were used as the switching devices. Transistors are much
smaller in size, more rugged, more reliable, faster, and consume less power than their vacuum tube
counter-parts. The second-generation computers were thus more powerful, more reliable, less
expensive, smaller, and cooler to operate than the first-generation computers.
 The memory of the second-generation computers was composed of magnetic cores. Magnetic cores
were small rings made of ferrite, which could be magnetized, in either clockwise or anti-clockwise
direction.
 High-level programming languages like FORTRAN, COBOL, ALGOL, and SNOBOL were
developed, which were easier to understand and work with than assembly and machine languages.
Third Generation Electronic computers (1964-1975)
 Around 1964 Integrated Circuits (ICs) made their appearance and the third-generation computers
were constructed around these ICs. ICs are circuits consisting of several electronic components like
transistors, resistors, and capacitors grown on a single chip of silicon eliminating wired
interconnection between components. ICs were much smaller, less expensive to produce, more rugged
and reliable, faster in operation, dissipated less heat, and consumed much less power than circuits built
by wiring electronic components. The third-generation computers were thus more powerful, more
reliable, less expensive, smaller, and cooler to operate than the second-generation computers.
 Parallel advancements in storage technologies allowed the construction of larger magnetic cores
based memory, and larger capacity magnetic disks and magnetic tapes. Third-generation computers
typically had a few megabytes (< 5 MB) of main memory and magnetic disks capable of storing a few
tens of megabytes of data per disk drive.
 Efforts were made to standardize some of the existing high-level programming languages like
FORTRAN IV and COBOL 68. Programs written with these languages were thus able to run on any

7
computer that has these compilers. Other high-level programming languages like PL/1, PASCAL and
BASIC were also introduced in this generation.
Fourth Generation Electronic computers (1975-1989)
 The average number of electronic components packed on silicon doubled each year after 1965. The
progress soon led to the era of large scale integration (LSI) with over 30000 electronic components
integrated on a single chip, followed by very large-scale integration (VLSI) when it was possible to
integrate about one million electronic components on a single chip. This progress led to a dramatic
development – the creation of a microprocessor. A microprocessor contains all the circuits needed to
perform arithmetic and logic operations as well as control functions, the core of all computers, on a
single chip. Hence it became possible to build a complete computer with a microprocessor, a few
additional primary storage chips, and other support circuitry. It started a new social revolution – the
Personal Computer (PC) revolution.
 Magnetic core memories were replaced by semiconductor memories, with very fast access time.
Hard disks also became cheaper, smaller in size, and larger in capacity and thus became the standard
in-built secondary storage device for all types of computer systems. Floppy disks also became very
popular as a portable medium for moving programs and data from one computer system to another.
 The fourth-generation also saw the advent of supercomputers based on parallel vector processing
and symmetric multiprocessing technologies.
 Fourth-generation period also saw the spread of high-speed computer networking. LAN and WAN
became popular for connecting computers.
 Operating systems like MS-DOS and Windows made their appearance in this generation. Several
new PC-based application packages like word processors, spreadsheets and others were developed
during this generation. In the area of large-scale computers, multiprocessing operating systems and
concurrent programming languages were popular technological developments. The UNIX operating
system also became very popular for use on large-scale systems. Some other software technologies
that became popular during the fourth-generation period are C programming language, object-oriented
software design, and object-oriented programming.
Fifth Generation Electronic computers (1989 – Present)
 The fifth Generation was characterized by VLSI technology being replaced by ULSI (Ultra Large
Scale Integration) technology, with microprocessor chips having ten million electronic components.
In fact, the speed of microprocessor and size of main memory and hard disk doubled almost every
eighteen months. The result was that many of the features found in the CPUs of large mainframe
systems of the third and fourth generations became part of the microprocessor architecture in the fifth
generation. More compact and more powerful computers are being introduced almost every year at
more or less the same price or even cheaper.
 The size of main memory and hard disk storage has increased several folds. Memory size of 256
MB to 4 GB and hard disk sizes of the order of 100 GB are common. RAID (Redundant Array of
Independent Disks) technology has made it possible to configure a bunch of disks as a single hard disk
with a total size of a few hundred gigabytes. Optical disks (CD-ROMS, DVDs) also emerged as a
popular portable mass storage media.
 This generation also saw more powerful supercomputers based on parallel processing technology.
 Communication technologies became faster day-by-day and more and more and more and more
computers got networked together, resulting in the Internet.
 In the area of operating systems, some of the concepts that gained popularity during the fifth-
generation include micro kernels (operating systems being modeled and designed in a modular
fashion), multithreading (a popular way to improve application performance through parallelism), and
8
distributed operating systems (an operating system for a set of computers networked together with the
aim of making the multiple computers of the system appear as a single large virtual system to its
users).
In the area of programming languages, some of the concepts that gained popularity during the fifth-
generation include JAVA programming language, and parallel programming libraries like MPI
(Message Passing Interface) and VPM (Parallel Virtual Machine).

The characteristics that appeared in each generation are summarized in the following table:-
Generation Time Circuit Storage Languages Operating Access
Elements Devices Systems Time
First 1950s Vacuum Punched Machine Operator 1
Tubes Cards &Assembly controlled Millisecon
d
Second 1959- Discrete Magneti COBOL Batch 10Microse
1964 transistors c tape FORTRA conds
N
Third 1965- IC Magneti Structured Intera 1nanoseco
1970 c disk language ctive nds
Fourth Late VLSI Mass Applicatio Virtua 100nanose
1970s Storage ns oriented l conds

1.2.4. Types of computer


Computers can be categorized broadly by their application, the type of data they process and their size.
By Application
General-purpose computers can be used for different purposes. We need only have appropriate
software to use a general-purpose computer to perform a particular task. For example, the personal
computers (PCs) currently in wide use are general-purpose computers.
Special-purpose computers are specifically designed to perform one particular task. A computer that
guides a missile is, for example, a special-purpose computer.
By Type of Data
Analog computers process data that vary continuously with time, such as variations in temperature,
speed, chemical composition of petroleum products, or current flowing through a conductor. Analog
computers operate by measuring. They deal with continuous variable. They do not compute directly
with numbers, rather, they operate by measuring physical magnitude such as pressure temperature,
voltage, current and etc. Generally, they are computers designed for special purpose
E.g. Thermometer, voltmeter, speedometer
Digital computers process digital data. All the PCs currently in wide use are digital computers.
Digital computers deal with discrete variables. They operate by counting rather than measuring. They
operate directly upon numbers (or digits) that represent numbers, letters, or other special symbols.
Digital computer is a computing device in which data is represented by discrete numerical quantities.
It is represented by discrete voltage states (1s and 0s). They have very high accuracy and speed than
analog ones.
E.g. Personal Computers
By Size
Supercomputers are the most powerful and expensive computers; they are used for problems
requiring complex calculations. A supercomputer is generally characterized as being the fastest, most
9
powerful, and mot expensive computer. Super computers are largely used by research organizations,
military defense systems, national weather for casting agencies, large corporations, aircraft
manufacturer, etc. The CRAY and CYBER are typical examples of the supercomputers.
Mainframe computers are mainly found in large organizations. They can serve hundreds or
thousands of users, handling massive amounts of input, output and storage. They are used as e-
commerce servers handling transactions over the Internet. To give some example, mainframes can
handle the processing of thousands of customer inquiries, employee paychecks, student registrations,
sale transactions, and inventory changes.
Minicomputers more properly called medium-sized computers; are smaller, slower and less
expensive than mainframes. Minis perform many of the tasks that a mainframe can, but on a reduced
scale. They can support a network of user terminals, but not as many as mainframes can. They may be
used as network servers and Internet servers. They are popularly used in scientific laboratories,
research centers, universities and colleges, engineering firms, industrial process monitoring and
control etc.
Workstations are powerful single-user computers used for tasks that require a great deal of number-
crunching power, such as product design and computer animation. They are often used as network
and Internet servers. Work stations were powerful sophisticated machines that fit on a desk, cost much
and were used mainly by engineers and scientists for technical purposes.
Microcomputers, or personal computers, are meant for personal or private use. Microcomputers
come in a variety of sizes and shapes for a variety of purposes. Basically they can be grouped into
three: Laptop, Palmtop and Desktop computers. Laptop computers are smaller versions of
microcomputers about the size of a briefcase designed for portability. Palmtop computer is the
smallest microcomputer that is about the same size as a pocket calculator. Desktop computer is the
most widely used type of personal computer (microcomputers).
1.3. Application areas of computer
We can use computers in an endless area but to list some of it:
1. Commercial Application
In this area of application the emphasis is on data processing. It covers the use of computers for
clerical, administrative and business uses.
2. Scientific , engineering and research applications
Here, the emphasis is scientific processing .This covers the use of computers for complex
calculations, the design, analysis, and control of physical systems, and the analysis of experimental
data or results.
3. Computers in Education
Computers are widely used in the educational field, for instruction and for administration. Computers
can provide instructions and ask questions of the user. This kind of instruction is called CAL
(Computer Aided Learning) or CAI (Computer Aided Instruction).
4. Computer in Medicine
Computers can be used as an aid to medical research by analyzing data produced from produced from
the trial of drugs, to aid diagnosis and to hold details of patients.
5. Computers in Manufacturing
Some aspects of computer in manufacturing are: stock, and production control and engineering design.
The design manufacturing and testing processed are all becoming increasing computerized, hence the
terms CAD (Computer Aided Design), CAM (Computer Aided Manufacturing) are used in this area of
application.

10
Chapter Questions
1. What is the difference between data and information?
2. Write a concise definition of the term "computer".
3. List at least four advantages of computers over human beings.
4. Write five major characteristics that distinguish the various generations of computers.
5. Write classification of computers based on their size. (Hint: from the highest to smallest)

Chapter Two: Organization of a computer system


UNIT 2 - Organization of a computer system
2.1 How a computer is organized.
Parts of a computer system - Input devices, Processing units – ALU – Memory Unit – Buses –
Control bus – Address bus – Data Bus – Cycle – Instruction – Execution – Fetch – Decode - Registers
– Program Counter
2.2 Different Components of Computer.
2.2.1 Hardware
2.2.2 Software - Definition of software
2.2.3 Application software. - in-house and off-shelf software
2.2.4 Operating system software.
2.2.5 Language software.
2.2.6 Data/Information
2.2.7 People
2.2.8 Communication
2.3 Multiprogramming and multiprocessing
2.4 Computer virus.

Chapter Objectives
At the end of this chapter you will be able to:-
 List the components of Computer System
 Define hardware and identify its components with the corresponding roles and functions of the
devices effectively
 List some input and output devices
 Distinguish the difference between primary and secondary storage units
 State the general functions of CPU and list its classifications
 Define software and identify the classifications of software with their areas of practical application

2.1. The Computer System


Even though the size, shape, performance, reliability and cost of computers have been changing over
the years the basic logical structure as proposed by Von Neumann has not changed. No matter what
shape and size of computers, all the computers perform the following five basic operations for
converting raw input data into information useful to their users:
1. Inputting: The process of entering data and instructions into the computer system.
2. Storing. Saving data and instructions so that they are available for initial or for additional
processing as and when required.
3. Processing. Performing arithmetic operations (add, subtract, multiply, divide, etc) or logical
operations (comparisons like equal to, less than, greater than, etc) on data in order to
convert them into useful information.
11
4. Outputting. The process of producing useful information or results for the user, such as a printed
report or visual display.
5. Controlling. Directing the manner and sequence in which all of the above operations are
performed.
The internal architectural design of computers differs from one system model to another.
However the basic organization remains the same for all computer systems. A block
diagram of the basic computer organization is shown in figure below.

Secondary Storage

Output
Input Unit
Unit
Primary Storage

Control Unit

Arithmetic Logic
Unit

A computer is often more accurate called a computer system .A definition of the word system is a
“number of things adjusted as connected whole” .This is exactly what a computer system is .The
components of a computer system act as a connected whole to accept data, store data, process data
and give out meaningful information. A complete computer system includes four distinct parts;
Hardware, Software, Data and people.
Hardware
Hardware refers to the physical components of the computer. It is that part of the computer or any
accessory attached to the computer called “peripheral” which you can touch or feel. The computer
case, monitor, keyboard, mouse, printer, modem and scanner all constitute hardware.
Software
Software refers to the detailed set of instructions that direct the computer to perform a certain task.
You cannot actually see or touch the software, although you can see the packages it comes in. Two
kinds of software exist: system software and application software.
 System software helps the computer manage its own tasks and devices. System software can
further be classified as operating system, programming language and utilities:
o Operating system – tells the computer how to interact with the user and its own devices.
Examples include Windows, UNIX, Linux, etc.

12
o Languages – are used to write programs. Programming languages can generally be classified as
low-level languages and high-level languages.
 Application software enables you perform a particular task like writing letters, analyzing data,
sorting files, drawing diagrams or playing games. Examples of application software include Microsoft
Word, Microsoft Excel, Microsoft Access, PageMaker, AutoCAD, SPSS, etc.

Data
Data are raw facts which the computer can manipulate and process into information that is useful to
people. Computer data is digital, or in the form of digits or numbers. The computer reads and stores
all data as numbers.

People
People are the most important part. Without the people the computers can not do anything. Only
people have to say what the computer has to do. Giving instructions, operating the computer,
rectifying the errors when the computer goes wrong, etc are done by the people. There are two main
set of people we can define from the type of work they do with the computer. Computer Professional
and End-User
Computer Professional: A computer professional, or an information technology professional is a
person who has had extensive education or considerable experience in the technical aspects of using a
computer-and-communications system. These computer professionals are the ones needed to develop
software or to maintain the software that is run in a company or in a business. A computer professional
can be an computer Administrator who takes care of the computers and their networks.
End-User: An end-user or simply a user is someone with moderate technical knowledge of
information technology who uses computers for entertainment, education or work-related tasks. He
does not understand all the technical details of the software work internally, how the computer works
internally, but instead usually reacts to the programs and procedures instituted by information
professionals. He is the one who make things happen at the end. He is the one who sits at the computer
to use the software that is developed and installed in the computer. For example, a Bank employee
uses the banking software. She does not know how this Banking software was developed. But this
software is developed by the computer professional.

The users are the people operating the computers.

2.1.1. The Computer Physical


Setup Monitor
When you look at a computer Printer
externally, it simply consists of System Unit
the system unit and the most
common peripheral devices,
Keyboard
namely the monitor, keyboard,
Mouse
mouse and (optionally) printer.

The Computer Case


The computer case houses all the major components of the computer. On the front end of the case
may be found on/off switch, reset button (optional), status indicators (power and HDD indicators) and
openings to floppy disk drives, CD–ROM drives and tape cassettes. On the rear end of the case are
13
found ports for connecting peripheral devices with the PC and a power socket for connecting the PC to
the electrical power source.

Expansion Slots and Cards


Expansion cards are small circuit boards that are used to upgrade a computer. These include:
enhanced graphics cards, modems, networking cards, sound cards, etc. Expansion cards are inserted
into expansion slots in the motherboard (a board into which most of the basic components of the
computer are built).
PCI (Peripheral Component Interconnect) is a local bus system that allows devices to be inserted
quickly and easily (plug–and–play compatible). Most of the computers today come with PCI slots and
cards.
AGP (Accelerated Graphics Port) is a new platform bus specification that enables high performance
graphics capabilities, especially 3D graphical display applications.
USB (Universal Serial Bus) defines a class of hardware that makes it easy to add serial devices to your
computer. It provides an instant, no-hassle way to connect a new digital joystick, a scanner, a set of
digital speakers, a digital camera or a PC telephone to their computer. To install a USB device, plug
the cord from the device into any USB Port on your computer.

Power Supplies
Power supply converts normal household electricity, alternating current (AC), into electricity that can
be used by the computer, direct current (DC). It also lowers the voltage level. In Ethiopia, the normal
household voltage is 220V/50Hz AC. The capacity of a power supply is measured in watts (W). A
power supply of 150–200 W is large enough for most computers.

2.1.2. Operational Setup


Operationally, the computer looks as follows.

14
Storage Unit

Secondary Storage

Program Input Output Information


and Data (Results)
Unit Unit
Primary Storage

Indicates flow of
Control Unit instructions and
data
Central Processing Unit
(CPU) Arithmetic Logic Unit Indicates the
control exercised
by the control unit

Basic Organization of a Computer System


2.2. Computer Hardware
The computer hardware composed of three main components:
 Input/Output devices.
 CPU and
 Storage

2.2.1. Input Unit – consists of devices that accept data and instructions from the user or from another
computer system.
In short, the following functions are performed by an input unit:
1. It accepts the list of instructions and data from the outside world.
2. It converts these instructions and data in computer acceptable form.
3. It supplies the converted instructions and data to the computer system for further processing.

Keyboard and mouse are typical examples.


Input hardware consists of devices that translate data into a form the computer can process. For
Example:-
 Keyboard
 Pointing devices
 Mice, trackballs, joysticks, and touch pads
 Light pens
 Digitizing tablets
 Mouse
 Voice recognition devices
 Scanning devices
 Digital computer cameras
 Optical data reader
 Automatic teller machines, etc.
15
Keyboard
 Is an input device consisting of a set of typewriter-like keys that enable one to enter data into a
computer.
 Input devices other than the keyboard are sometimes called alternate input devices.
The keys on the keyboard are often classified as follows:-
 Alphanumeric keys Letters and numbers
 Punctuation keys comma, period, semicolon, etc.
 Special keys function keys control keys, arrow keys, caps lock, etc.
The standard layout of letters, numbers, and punctuation is known as a QWERTY keyboard because
the first five keys on the top row of letters spell Q.W.E.R.T and Y.

Pointing Devices
The principal pointing tools used with microcomputers are the mouse, the trackball, the joystick, and
the touch pad, all of which have variations.
Mouse: Mouse is a hand-operated device that controls the movement of the cursor or pointer on a
display screen. It is a small object that can be rolled along a rough flat surface. Mouse can have as
many as three buttons whose function depends on what program is running.

Types of mouse
a. Mechanical-has a rubber or metal ball in its underside that can roll in all directions.
Mechanical sensors within the mouse detect the direction the ball is rolling and move the screen
pointer accordingly
a. Optical- uses a laser to detect the mouse’s movement.
Mouse is connected to computer in one of three ways:
 Port (Serial, Parallel),
 Bas Mouse (interface card) and
 Cordless mice (no physical connection).
Mouse pad- is a pad on which you can move a mouse. It provides more traction than smooth surfaces
such as glass & wood, so they make it easier to move a mouse accurately.
Scanners
Are input devices that can read text or illustrations printed on paper & translate the information into a
form that a computer can use.

2.2.2. Output Unit – consists of peripheral devices through which processed data (information) are
made available for humans or other computer systems. Examples include monitor and printer.
Communication devices like modems and network interface cards perform both input and output,
allowing computers to share information.
In short the following functions are performed by an output unit:
1. It accepts the results produced by the computer, which are in coded form and hence cannot be
easily understood by us.
2. It converts these coded results to human acceptable form
3. It supplies the converted results to the outside world.
The most common type of output devices are printers, plotters, monitor or screen, speakers. Hard disk
and floppy disk are a special type of input and output devices.

Monitors
The monitor displays the output of the computer. Monitors are categorized by the colors they produce
and by the technology they use.
16
By the colors they produce, monitors are classified as follows:
 Monochrome - one color text/image on single color background, i.e. white on blue, or green on
black.
 Grayscale – shades of gray on a white background.
 Color – can display different colors, from 16 to 16 million colors.
By the technology they use, monitors are classified as follows:
 Cathode ray tubes (CRT) – in these monitors, electrons are fired at phosphor dots on the screen.
The dots are grouped into picture elements called pixels, which glow when struck by electrons. In
color CRT monitors, each pixel contains a red, green and blue dot. These glow at varying intensities
to produce color images.
 Liquid Crystal Display (LCD) – these screens use an entirely different technique. The screen is
still made of dots but is quite flat. LCD displays are made of two layers of a polarizing material with a
liquid crystal solution in between. An electrical signal makes the crystals line up in a way that keeps
light from going through entirely or just partly. A black screen has all the crystals lined up so that no
light gets through. A color LCD screen uses groups of 3 color cells instead of 3 phosphor dots. The
signal for a picture cleverly lets just the right spots show their colors. Your eye does the rest.
When comparing monitors, consider the following
 Size – the diagonal measurement of its face I inches. 17” is common.
 Resolution – number of pixels on the screen. This is important especially for graphics, page layout
and CAD.
o VGA (Video Graphics Array) monitors have resolution of 640 X 480 pixels.
o SVGA (Super VGA) monitors have resolutions ranging from 800 X 600 pixels to 1024 X 768
pixels or more.
 Refresh rate – indicates how often the picture is redrawn on the monitor. If the rate is low, the
picture will appear to flicker. Flicker is not only annoying but also causes eye strain and nausea. So, a
high refresh rate is desirable. 60 times per second is tolerable at low resolutions for most people. 75
times per second or more is better and is necessary for high resolutions.
 Dot pitch – is the distance between phosphor dots that make up a single pixel. A dot pitch of .28 is
very common and .26 should be good for nearly all purposes, however it is measured.
Printers
Printers are used to produce “hard copy” of documents, programs and data. Some printers use serial
communication (RS232 standard) while others use parallel communication to transfer information
from the PC to the printer. In serial communication, data is transferred one bit at a time while in the
case of parallel communication; one byte (8 bits) is transferred at one time.
The printing method (the actual forming of characters) also varies. Based on the printing method used,
printers are categorized as impact printers and non-impact printers. Impact printers strike an inked
ribbon, pressing ink from the ribbon onto the paper while non-impact printers use different methods to
place ink on paper.
 Dot–matrix printers are common types of impact printers. The print head has an assembly of tiny
pins that are activated in a row and physically “hit” the paper through the ribbon to produce the
desired impression. Speeds are expressed in characters per second (cps) and vary between 180cps and

17
400cps. These printers are loud, inexpensive and slow. The quality of the printout is not so good as
that of inkjet or Laser printers. But, we can have carbon copies and printouts on stencils from these
printers.
 Inkjet printers are non-impact printers. Tiny particles of ink are electrically charged after leaving
the nozzle. The droplets are then guided to the right position on paper by electrically charged
deflection plates. The print quality is very good. We cannot use them with stencils nor can we
produce carbon copies using these printers. Inkjet printers are available for color or black and white.
 Laser (Light Amplification by Simulated Emission of Radiation) printers are the most advanced of
all. In this printer the laser beam forms an image of the characters to be printed on to the light
sensitive drum. Ink then sticks to the character images and is transferred from the drum and fused
onto the paper. Laser printer speeds are specified in pages per minute (PPM), e.g. 6PPM, 12PPM or
24PPM.
Factors to be considered while selecting printers include: speed (measured in PPM or CPS), quality
(measured in dots per inch – dpi), initial cost, cost of operation and special features like support for
color and large page formats.

Plotters
A plotter is a specialized output device designed to produce high-quality graphics in a variety of
colors. Plotters are used for creating large hardcopy items, such as maps, architectural drawings, and
3-D illustrations items typically too large for regular printers.

2.2.3 CPU
The control unit and the arithmetic logic unit of a computer system are jointly known as the Central
Processing Unit (CPU) the CPU is the brain of the computer system. In a human body, all major
decisions are taken by that brain and the other parts of the body function as directed by the brain.
Similarly, in a computer system, all major calculations and comparisons are made inside the CPU and
the CPU is also responsible for activating and controlling the operations of other units of a computer
system.
The CPU has two major components:-
 The Arithmetic/Logic Unit (ALU)
 The Control Unit
Arithmetic Logic Unit
The arithmetic logic unit (ALU) of a computer system is the place where the actual execution of the
instructions takes place during the processing operation. Calculations are performed and all
comparisons are made in the ALU. The data and instructions stored in the primary storage prior to
processing, are transferred as and when needed to the ALU where processing takes place. No
processing is done in the primary storage unit. Intermediate results generated in the ALU are
temporarily transferred back to the primary storage until needed at a later time. Data may thus move
from primary storage to ALU and back again to storage many times before the processing is over.
After the completion of processing the final results, which are stored in the storage unit are released to
an output device.
The type and number of arithmetic and logic operations that a computer can perform is determined by
the engineering design of the ALU, However, almost all ALUs are designed to perform the four basic
arithmetic operations (add, subtract, multiply, and divide) and logic operations or comparisons such as
less than, equal to , and greater than, etc.

18
Control Unit:
How does the input device know that it is time for it to feed data into the storage unit? How does the
ALU know what should be done with the data once they are received? And how is it that only the final
results are sent to the output device and not the intermediate results? All this is possible because of the
control unit of the computer system. By selecting, interpreting and seeing to the execution of the
program instructions the control unit is able to maintain order and direct the operation of the entire
system. Although, it does not perform any actual processing on the data, the control unit acts as a
central nervous system for the other components of the computer system. It manages and coordinates
the entire computer system. It obtains instructions from the program stored in main memory, interprets
the instructions and issues signals that cause other units of the system to execute them.

2.2.4. Storage Unit


The data and instruction that are entered into the computer system through input units have to be
stored inside that computer before the actual processing starts. Similarly, the results produced by the
computer after processing must also be kept somewhere inside the computer system before being
passed on to the output units. Moreover, the intermediate results produced by the computer must also
be preserved for ongoing processing. The storage unit of a computer system is designed to cater to all
these needs. It provides space for storage data and instructions, space for intermediate results and also
for the final results.
In short, the specific functions of storage unit are to hold:-
1. All the data to be processed and the instructions required for processing (received from input
devices).
2. Intermediate results of processing
3. Final results of processing before these results are released to an output device.
The storage unit of all computers is comprised of the following two types of storage:
 Primary storage
 Secondary storage
A. Primary storage: - The primary storage, also known as main memory, is used to hold pieces of
program instructions and data, intermediate results of processing, and recently produced results of
processing of the jobs that the computer system is currently working on. These pieces of information
are represented electronically in the main memory chip’s circuitry, and while it remains in the main
memory, the central processing unit can access it directly at a very fast speed. However, the primary
storage can hold information only while the computer system is on. As soon as the computer system is
switched off or reset, the information held in the primary storage disappears. Additionally, the primary
storage normally has limited storage capacity because it is very expensive. The primary storage of
modern computer systems is made up of semiconductor devices.
Main Memory is divided into two: Read Only Memory (ROM) and Random Access Memory (RAM).

Read-Only Memory (ROM)


Nonvolatile chips always hold the same data; the data in them cannot be changed except through a
special process that overwrites the data. It is usually done at the factory. During normal use, the data in
these chips is only read and used -not changed- so the memory is called read-only memory (ROM).
One important reason a computer needs ROM is that it must know what to do when the power is first
turned on. Among other things, ROM contains a set of start-up instructions, which ensures that the rest

19
of memory is functioning properly, checks for hardware devices, and checks for an operating system
on the computer's disk drives.

Random-Access Memory (RAM)

A Memory that can be instantly changed is called read-write memory or random-access memory
(RAM). When people talk about computer memory in connection with microcomputers, they usually
mean the volatile RAM. It is best simply to remember that the data in ROM does not change while the
data in RAM changes constantly. RAM can hold information only while the computer system is on.
As soon as the computer system is switched off or reset, the information held in the RAM disappears.
This nature of RAM is known as volatile.
B. Secondary storage: - The secondary storage, also know as auxiliary storage, is used to take care of
the limitations of the primary storage. That is, it is used to supplement the limited storage capacity and
the volatile characteristic of primary storage. This is because secondary storage is much cheaper than
primary storage and it can retain information even when the computer system is switched off or reset.
The secondary storage is normally used to hold the program instructions, data and information of those
jobs on which the computer system is not working on currently but needs to hold them for processing
at a later time. The most commonly used secondary storage medium is the magnetic disc. The physical
material that actually holds data is called storage medium. The surface of floppy disk (or the diskette)
is storage medium. The hardware that writes data to or reads data from a storage medium is called a
storage device. A floppy disk drive is a storage device.

There exist two technologies for secondary storage: magnetic and optical. Floppy disk, hard disk,
magnetic tapes are examples of magnetic storage. CD-ROM, DVD-ROM, CD-R, CD-RW are
examples of optical storage.
Magnetic storage devices – the medium contains iron particles, which can be polarized, i.e. given
magnetic charge in one of two directions. Each particle’s direction represents a 1 or a 0, representing
each bit of data that the CPU can recognize. A disk drive uses read/write heads containing
electromagnets to create magnetic charges on the medium.
Hard disk drive
Inside the case of the hard disk drive are a set of rigid rotating disks, called platters, stacked on a
spindle. As the platters rotate at high speed, Read/Write heads move back and forth recording or
reading magnetic information on both sides of the platters. Hard disk drives are normally installed
inside the computer case although external hard disk drives, which connect to the computer by a cable,
are also available. Hard disk drive is selected based on its storage capacity (measured in “Gigabytes”
(GB)) and its access time (measured in milliseconds (ms)). The larger the capacity and the smaller the
access time, the better. Today, it is not uncommon to have hard disks with capacity in excess of
200GB. Operating system and application software normally reside in hard disk drives. Write-protect
Documents created using application software may also be placed on hard disk drives. Window

Floppy disk drive


Floppy disk drives store information onto a removable media known as diskettes or
floppy disks. Floppy disk drives operate slower and have much less capacity (1.44MB)
than hard disk drives. Diskettes store information on the magnetic surfaces of a thin,
flexible disk inside a protective plastic cover.
3 ½”, 1.44MB Diskette

20
Magnetic Tape
Information stored in a hard disk or floppy disk may be damaged for various reasons. To protect
against losing any of your files, you should make a backup copy of all your data. Small files (1MB)
can be backed up to a floppy disk. For larger files or groups of files, it is more convenient to use CD–
R/W or magnetic tape unit. Magnetic tape systems offer very slow data access, but provide large
capacities and low cost. Thus, they are particularly convenient if we want to backup the entire hard
disk.

Optical Storage Devices – offer high-capacity storage medium. Optical drives use reflected light to
read data. The disk’s metal surface is covered with dents (pits) and flat spots (lands), which cause light
to be reflected differently. Light cannot be reflected back from pits (data = 0) and lands reflect light
back to its source (data = 1).
o CD–R is a standard and technology allowing you to write to and read from a Compact Disc, but
not erase or change what you record. This technology is compatible with existing CDs, i.e. you are
able to read these discs in existing CD–players. Today, we have speeds as much as 52X .A single
CD–R can hold up to 650MB information.
o CD–RW is rewritable CD–ROM technology. CD–R/W drives can also be used to write CD–R
discs, and they can read CD–ROMs. But, CD–R/W disks have a lower reflectivity than CD–ROMs,
and CD–ROM drives must be of the newer multi-read variety in order to read them. CD–R/W was
initially known as CD–E (or CD–Erasable).
o Digital Video Disc (DVD), also called Digital Versatile Disc, is similar to CD–ROMs but able to
store far more music, video or data. DVDs are of the same physical size as today's CDs but are able to
store as much as 17GB, compared to the 650MB on today's CD–ROMs.
Some of the recently developed Storage Devices:
DVD: The DVD represents a new generation of high density CD-ROM disks, which are read by laser
and which have both write-once and re-writable capabilities. It stands for Digital Video Disk.
Flash Memory Cards: Flash-memory cards consist of circuitry on PC cards that can be inserted into
slots connecting to motherboards.

2.3 Software
The computer software is collection of set of instructions that instructs the computer hardware. These
set of instructions perform different functions; some deals with handling the computer hardware and
the others perform user specific tasks such as managing a database. Therefore the computer software is
divided into two major categories depending upon the nature of work this software does:-

1. System software
2. Application software

The following figure shows the classification of the computer software:-

Computer
Software

System software Application software


e.g.
 Word Processor software
 Spreadsheet software

21
Operating
Language
system
software software
e.g.
Visual Basic
Java
E.g.
Windows 2000
Unix

2.3.1 System Software


The system software handles the computer hardware so that the user can operate the computer with
little knowledge about the computer hardware. For example, the user is not concerned where the file is
saved on the hard disk. This is the responsibility of the system software to check the hard disk and
space on the free space of the hard disk.

The system software is further divided as operating system software and language software.

Operating system software


An operating system is a program that acts as the link between you, the computer’s software and
hardware resources. It is the foundation software onto which all other application programs are loaded.
It is the master program of your system that allows you, the user, to run application programs (Word
Processors, Spreadsheets, Gamed, etc.)
Without the operating system the application software would be unable to function.
Operating System software manages most of your computer’s activities, including the allocation of
computer resources, maintenance of files, and running of application software. As a file manager the
operating system is used to name, save, retrieve and maintain program and data files you create and
use on your computer. As a resource manager, the operating system controls the flow of information
through your computer. Data accepted by the keyboard, seen on the display, or sent to a printer are all
under the control of the operating system.
The first segment of the operating system software is contained in the ROM (firmware) of your
computer. This software tests the internal components and circuitry of the computer when it is turned
on. After completing the Startup tests, the ROM-based software activated the next segment of the
operating system found on the disk. Examples of operating system software include MS-DOS
(Microsoft Disk Operating System), MS-Windows, UNIX. “It is the first software we see when we
turn on the computer, and the last software we see when the computer is turned off.” It organizes and
controls the hardware on our desks and in our hands. The operating system allows you to concentrate
on your own tasks or applications rather than on the complexities of managing the computer.

If we can list some of the general things that the operating system does in the computer, we can come
up with the following:
 Managing storage media
 Booting
 User Interface
 Managing computer resources
 Managing files

22
 Managing tasks.

Booting: When the computer is switched on, the startup process is carried out which is called booting.
This includes checking the system, devices, etc. and enabling them so that the computer can be ready
to work with.
Managing storage media: OS manages storage devices so that they can be efficiently utilized.
Recognizing the storage hardware, enabling them so that they can be used include this process.
User Interface: Once the system is started the user should be able to interact with the computer. OS
provides user friendly capabilities so that the user can interact with the computer. This is called User
Interface. With this, the user can setup a software, printer, scanner, or do any OS related work. This is
also called Graphical User Interface (GUI)
Managing computer resources: Providing resources can be different from managing them.
Resources such as Random Access Memory should be managed properly to run the computer
efficiently. There can be more than one process or one work requiring the same resource.
For example, MS Word and Calculator are running in the computer at the same time. The user may
require the Calculator to do some calculations so that he can enter those numbers in the Word file. So,
two applications should share the same RAM. These kinds of things are managed by the OS.
Managing Files: Files are stored in the hard disks or floppy disks and other secondary storage
devices. The operating system helps to find them and manage them. With the help of this we can
manage the files. We can rename a file, delete, copy, move, etc.
Managing Tasks: Computer is required to perform various tasks at the same time. For example, the
computer can print a document, scan a picture and search for a file. Operating system manages these
tasks so that the computer can do all these tasks efficiently.

Types of operating systems


Operating systems can be classified depending on the number of programs they can handle and the
number of users that can be working on the system at a time:-
1. single user operating system:
A single user operation system normally only allows one user to access the system at a time. Operating
systems of this type is used by many microprocessor systems, Example of single user operation system
include MS_DOS Microsoft Disk Operating System.
2. Bach-mode Operating systems
Bach processing refers in general to a computer system in which jobs (programs +data) are entered
and then run one or more a time under the control of the operation system. In this system, the
operating system schedules the submitted jobs according to required resources and priority of the jobs
and produces the result at some time later. It is the oldest operating system.
3. Time –sharing Operating system
A time-sharing system is an interactive system in which a number of users at terminals all have access
to the computer at the same time. An operation system for such a system is called time-sharing. UNIX
is the most popular time-sharing operating system.
4. Real-time operating system
A real-time system is a system that is capable of processing data so quickly that the results are
available to influence the activity currently taking place. Examples include air plane seat reservations
and a computer controlled plant.
5. Multitasking: Executing more than one program concurrently.(one user) How does a computer
handles more than one program? The answer is that the operating system directs the processor (CPU)
to spend a predetermined amount of time executing the instruction for each program, one at a time. A
small amount of each program is processed and then the processor moves to the remaining programs,
one at a time, processing small parts of each. This cycle is repeated until processing is complete. The
23
processor speed is usually so fast that it may seem as if all the programs are being executing at the
same time. However the processor is still executing only one instruction at a time, no matter how it
may appear to the user.
6. Multiprogramming: Executing different users programs concurrently. (Multiple users) As with
multitasking, the CPU, spends a certain amount of time executing each user’s program, but it works so
quickly that it seems as though all the programs are being run at the same time.
7. Multiprocessing: Simultaneous processing of two or more programs by multiple computers.
(Single or multiple users) With multiprocessing, two or more computers or processors linked together
perform work simultaneously, meaning at precisely the same time. This can entail processing
instructions from different programs or different instructions from the same program. One type of
multiprocessing is parallel processing, whereby several CPUs work together on the same tasks, sharing
memory. This is used in large computer systems designed to keep running if one of the CPUs fails.
This kind of systems is at work in important places like space stations, online reservation systems, etc.

Language Software (Development SW)


Software is written in a programming language. A programming is a set of instructions that tells the
computer what to do and how to do certain tasks. To write these instructions there are set of rules and
conditions. The instructions that are written have abided by these rules and conditions. If not when
these instructions are executed, the computer will give error. This is called a programming language.
For example English language has a set of rules and conditions that we call as Grammar. In the same
way, the language that is used to write Programs is called programming language.
When these instructions/programs are written in a programming language, it has to be translated to a
known instruction to the Operating System. Again software is needed to do this job. This software is
called Language software. So software that helps to translate the written programs or instructions into
a operating system level instructions is called a language software.
For example, C++ is a programming language and ‘C++ compiler’ is the language software.

Machine Language (Low-level language)


A computer’s machine language consists of strings of binary numbers and is the only language that the
CPU directly “understands”. The programmer speaks directly to the CPU with the appropriate
instruction set that consists of string of binary digits. It is referred to as a low level language because
the programmer has to think about the type of instructions that a particular machine can execute and
know the binary equivalent of the instruction set.

 Machine language uses machine codes (strings of binary digits) to write computer programs.
 Early computer programs were written using machine language.
 Each instruction tells the CPU what to do, the length, and location of the data fields that are
involved in the operation
 Typical operation involve reading, adding, subtracting, writing and so on
 The string of 1s and 0s required for an operation is determined by the design of the computer or the
nature of the computer logic circuitry
 Each computer design has its own unique machine codes
Advantage
1. Machine Languages make efficient use of memory
2. Instructions of a machine language program are immediately executable.

24
3. Machine language instructions can be used to manipulate the individual bits in a byte of computer
storage.

Disadvantage
o Difficult to learn
o Prone to errors
o Difficult to correct or modify errors
o Not portable
o Machine Languages are machine dependent
o Machine languages require a high level of programming skill.

Assembly Language
Machine language is the lowest-level programming language. Assembly language is a bit higher than
machine language, but it is still ‘low’ in the sense that the programmer must spend some time thinking
of the instructions that the particular computer can execute, rather than spending all his time in
solving the problem. This language lies between high-level languages and machine languages.
It’s easier for programmers to write instructions in an assembly language than to prepare instructions
in machine language codes. The major drawback of machine languages and assembly languages is that
they are machine oriented. That is, they are designed for the specific make and model of processor
being used.
A machine can directly understand only instructions written in machine code. Therefore, for an
assembly language to be understood by the CPU there must be an intermediary between the
programmer and the hardware. An assembler is a program that enables the computer to convert the
programmer’s assembly language instructions into its own machine code.
A program of instructions written by a programmer in an assembly language is called a source
program. After this source program has been converted into machine code by an assembler, it’s
referred to as an object program.
Source code Assembler Object
(Assembly Langrage) (Machi

It is machine dependent. It is not portable from one machine to another.


An assembly language programmer must be an expert who knows all about the logical structure of the
computer.
Writing assembly language programs is difficult and time consuming.
Add or A is used as a symbolic operation code to represent Addition, Sub or S for subtraction.
 To overcome the problem of machine codes, assembly language was developed
 It uses symbolic codes (mnemonic) instead of binary digits
 A mnemonic code is usually a strict abbreviation of the words it stands e.g. Add for Addition, SUB
for subtraction, etc
 It is still used to write disk drive programs

Advantage
o Writing in Assembly Language saves time and reduces the need for detail.
o Fewer errors are made and those made are easier to find. These programs are easier to
modify.
o Easier to learn
o Easier to locate correct errors
Disadvantage
o Coding is time consuming
o It is also machine-oriented program. The programmers must know the machine
characteristics and requirements
o The program size is big like machine codes

25
o It is usually unique to a particular computer series
o It is not directly executable by the computer. It needs assembler to translate it into machine
codes
High Level Programming Language
It is human Oriented Language because it is more related with human language. It is machine
independent. A programmer may not be needed to know the details of the internal logical structure of
a computer.

The high level programming languages are problem oriented unlike the machine language, which is
machine oriented programming language. The person developing software using a high level language
does not bother about machines. His program can be executed on any type computer after it is
translated into machine codes. His worry is how to solve the problem systematically at hand.

The high level languages are symbolic languages that use English like words and/or mathematical
symbols rather than mnemonic codes.
Advantage
o Easier to learn and write the codes
o Codes are written with out any particular machine in mind
o Portable
o Small program size
o These languages may be used with different makes of computers with little modifications.
o They are easier to learn.
o They require less time to write.

Disadvantage
o Require more time to run and more computer memory space
o Cannot access all components of the computer hardware such computer accessories. In that case
we have to use lower level languages
o They require additional time during translation
o They are less efficient compared to the machine code languages.

Compilers and Interpreters


For a High-Level language to work on the computer, it must be translated into machine language.
There are two kinds of translators. Compilers and interpreters high level languages are called either
compiled languages or interpreted languages.
In compiled languages, a translation program is run to convert the programmer’s entire high level
program, which is called the source code, in to a machine language code. This translation process is
called compilation. The machine language code is called the object code.
Examples of the most widely used compiled languages are COBOL, C, C++ and FORTRAN.
An interpreted language, a translation program converts each program statement into machine code
just before the program statement is to be executed. Translation and execution occur immediately one
after the other. That means, it translate one statement at a time.
Example of the most frequently used interpreted language is BASIC.

2.3.2 Application Software


Software refers to the detailed set of instructions that direct the computer to perform a certain task.
Application software is software developed to do user specific tasks such as word processing,
spreadsheet and database management. It is developed using the language software. Application
software is a set of related programs designed to carryout certain tasks that fulfill users’ specific needs.
26
The five categories of Application software
Application software can be classified in many ways. Here five categories are mentioned.
1. Entertainment Software
2. Home/personal software
3. Education/reference software
4. Productivity software
5. Specialty software

1. Entertainment software: Atomic Bomber man, Challenger, or any other video game is enjoyed
by many youngsters. Even though it seems like not important, in reality, these games software gain lot
of profit in the market than some of the software. For example, they generated 3.5 billion dollars is
sales in US in 1996. It has become so popular that there are colleges that offers four year degree
program in video game and computer animation programming. These software involve lot of
animation programming required which means the software developer should know how to make an
object move and fly and run to make the software.
2. Home/Personal Software: Application software that are needed for personal needs like travel
planner, greetings designing, recipes guide, etc are called Home or Personal Software. These software
mainly focus on Home and Personal needs. Some of them are home repair, home decoration, floor
planning, etc.
3. Educational/Reference Software: Computer software has become so effective in such a way that
it can teach various subjects. Some educational software can be used by a person who doesn’t even
know more about computers. These kinds of software come in CDs. The learner just need to insert the
CD and the lesson begins. This educational software uses the multimedia technology a lot so that the
user (learner) can feel easy to learn. From Children’s learning software to encyclopedia software there
are a lot of software available. There is software that will enable distant learning very easy. One such
software is WebCT developed by British Columbia University is widely used nowadays.
4. Productivity Software: Productivity software consists of programs found in most offices, homes,
almost all the computers. The purpose of this software is simply to make users more productive at
performing particular tasks. This software is used by most of the people on a day to day basis. Some of
them are:
 Word processing software
 Spreadsheet software
 Database software – includes personal information management.
 Financial software – includes personal financial programs
 Web based software – email, Web browsers
5. Specialty Software: For every profession there can be related software found. Whether it is
medical, mechanical engineering, forming, architecture, space research or games there are software
developed for these professions so that with the help of the software the efficiency, quality and
fastness can be achieved. So software developed to achieve a particular task specially, is called
specialty software.
Versions, Release and Compatibility
The software developers find ways to enhance their software product now and then. So they put forth
new versions or new release. Although not all software developers use the terms consistently, their
accepted definitions are as follows.

27
Version: A version is a major upgrade in a software product. Traditionally, versions have been
indicated by numbers such as 1.0. 2.0, 3.0, etc. The higher the number preceding the decimal point the
more recent the version. In recent years software developers has departed from this system. Microsoft
for instance decided to call the new operating systems by the year. “Windows 95”, Windows 98,
Windows 2000.
Release: A release is a minor upgrade. Releases are usually indicated by a change in number after the
decimal point. – 3.0 then 3.1, 3.2, etc.

Computer Virus:
Worms and viruses are forms of high-tech maliciousness. A worm is a program that copies itself
repeatedly into memory or onto disk drive until no more space is left. An example is the worm
program unleashed by a student at Cornell University that traveled through an e-mail network and shut
down thousands of computers around the country.
A virus is a deviant program that attaches itself to computer systems and destroys or corrupts data. It
consists of hidden programming instructions that are buried within applications or system programs.
They copy themselves to other programs, causing havoc. Viruses are passed in two ways:
By diskette: The first way is via an infected diskette, such as one you might get from a friend or a
repairperson. It’s also possible to get a virus from a sales demo disk or even from a shrink-wrapped
commercial disk.
By network: The second way is via a network,, as from e-mail or an electronic bulletin board. This is
why, when you’re looking into all the freebie games and other software available online, you should
use virus-scanning software to check downloaded files.
The virus usually attaches itself to your hard disk. It might then display annoying messages (“Your PC
is stoned – legalize marijuana”) or cause Ping Pong balls to bounce around your screen and knock
away text. It might add garbage to or erase your files or destroy your system software. It may evade
your detection and spread its havoc elsewhere.
Viruses may take several forms. Two traditional viruses are boot sector virus and file viruses. Recent
virus is macro virus. Quite well-known viruses are Stoned, Jerusalem B, Lehigh, Pakistani Brain, and
Michelangelo). Some 6000 viruses have been identified, but only few hundred of them have been
found “in the wild,” or in general circulation. Some are intended to be destructive. Some virus writers
do it for the intellectual challenge or to relieve boredom, but others do it for revenge, typically against
an employer.
The fastest-growing virus in history was the World Concept virus or simply Concept virus, which
worried people because it was able to sneak devices by hitching rides on e-mail and other common
Internet files. Concept attached itself to documents created by Microsoft’s popular word processing
program, Word 6.0 or higher. The virus doesn’t cause damage, but some destructive relatives continue
to surface.
A variety of virus-fighting programs are available at stores, although you should be sure to specify the
viruses you want to protect against. Antivirus software scans a computer’s hard disk, floppy disks, and
main memory to detect viruses, and, sometimes, to destroy them.

Types of Viruses
 Boot-sector virus
The boot sector is the part of the system software containing most of the instructions for booting, or
powering up, the system. The boot sector virus replaces these boot instructions with some of its own.
Once the system is turned on, the virus is loaded into main memory before the operating system. From
there it is in a position to infect other files. Any diskette that is used in the drive of the computer then
becomes infected. When that diskette is moved to another computer, the contagion continues.
Examples of boot-sector viruses: AntCMOS, AntiExe, Form.A, NYB (New York Boot), Ripper,
Stoned.Empire.Monkey.
 File virus

28
File viruses attach themselves to executable files-those that actually begin a program. When the
program is running, the virus starts working, trying to get into main memory and infecting other files.
 Multipartite virus
A hybrid of the file and boot sector types, the multipartite virus infects both files and boot sectors,
which make it, better at spreading and more difficult to detect. Examples of multipartite viruses are
Junkie and Parity Boot.
A type of multipartite virus is the polymorphic virus, which can mutate and change form just as human
viruses can. Such viruses are especially troublesome because they can change their profile, making
existing antiviral technology ineffective.
A particularly sneaky multipartite virus is the stealth virus, which can temporarily remove itself from
memory to elude capture.
 Macro virus
Macro viruses take advantage of a procedure in which miniature programs, known as macros, are
embedded inside common data files, such as those created by e-mail or spreadsheets, which are sent
over computer networks. Until recently, such documents have typically been ignored by antivirus
software. Examples of macro viruses are Concept, which attaches to Word documents and e-mail
attachments, and Laroux, which attaches to Excel spreadsheet files. The latest versions of Word and
Excel comes with built in macro virus protection.
 Logic bomb
Logic bombs, or simply bombs, differ from other viruses in that they are set to go off at a certain date
and time. A disgruntled programmer for a defense contractor created a bomb in a program that was
supposed to go off two months after he left. Designed to erase an inventory tracking system, the bomb
was discovered only by chance.
 Trojan horse
The Trojan horse covertly places illegal, destructive instructions in the middle of a legitimate program,
such as a computer game. Once you run the program, the Trojan horse goes to work, doing its damage
while you are blissfully unaware. Example is FormatC.

Guarding against Viruses


Each day, viruses are getting more sophisticated and harder to detect. The best protection is t install
antivirus software. Antivirus software is a utility program that scans hard disks, diskettes, and memory
to detect viruses. Some programs prevent viruses from infecting your system, others detect the viruses
that have slipped through, and still others remove viruses or institute damage control. Some of the
major antivirus programs are Norton Antivirus, Dr. Solomon’s Antivirus Toolkit, Mcfee Associates
Virus Scan, and Webscan.

Chapter Questions
1. List the basic components of a computer system.
2. What are the basic functions of CPU?
3. Discuss the difference between RAM and ROM.
4. Discuss the functions of the main hardware components.
5. Discuss on the technology used in the classification of secondary storage Medias.

29
Chapter Three
Computer Architecture and Data Representation:
Chapter Contents
3.1 Hierarchical structure of computer system architecture.
3.2 Logical elements
3.3 Number system - Arithmetic
 Conversions
o Negative number representation – Signed magnitude – One’s
Complement – Two’s Complement –Floating point number
representation.
o Binary arithmetic – Addition, Subtraction, Multiplication,
Division
3.4 Logic gates – AND , OR , NOT , NAND, NOR, XOR, XNOR – truth tables
3.5 EBCDIC, ASCII, UNICODE.
1. Hierarchical structure of computer system architecture.
Even though the field of computers have improved and developed enormously, the basic operation of
the computer remains almost the same. It is the technology that used to accomplish the task has
changed a lot. From Vacuum tubes to Transistors to Integrated Circuits we have come to. In this unit
we will see the basic organization and architecture of the computer. How a basic operation in the
computer is executed? How the data is represented in the computer? Etc.
BUS
The ALU, the Control unit, the Primary storage unit and Input/Output devices must have a way to
communicate. These links among and within the various units are called buses. A bus is no more than
an electrical path for data to flow from point to point in a circuit. A bus is classified by name
according to its function.
Control bus
The control bus is the pathway for all timing and controlling functions sent by the control unit to the
other units of the system.
Address bus
The address bus is the pathway used to locate the storage position in memory where the next
instruction to be executed or the next piece of data will be found.
Data bus
The data bus is the pathway where the actual data transfer takes place.
This is shown in the picture below.
CPU

Data Bus
Control Bus
ROM
Address Bus

RAM

Input / Output
(I/O)

30
Because of the control unit, the elements of the computer act with and react to one another in very
good precision. Depending on the instruction executed, certain computer components may or may not
be used. In one instance, the instruction executed may involve computations within the ALU, while
another simply looks into and displays the contents of some memory location.

Execution of Instruction
At the machine level execution of instruction has two phases;

 Instruction phase (I-phase)


 Execution phase (E-phase).

The instruction phase is made up of two distinct steps:


 Fetch
 Decode.

Fetch Step
The fetch step locates an instruction in memory and sends it to the control unit. The instruction to be
executed is accessed from the memory by the control unit.
Decode Step
 The instruction is decoded and sent to the ALU along with any necessary data.
 The instruction is translated into individual commands so the central processor can understand
what is to be done.
 Relevant data is moved from memory to the register storage area.
 The location of the next instruction is identified.

These two steps, in which instructions are obtained and translated, are called instruction cycle (I-cycle)
and the time it takes to execute the first two steps is referred to as I-time.
Execute Phase
The execution phase is made up of two distinct steps:
 Execute step
 Store step
Execute step
 The results of the execution are stored in registers or in the memory.
 After a Machine Cycle is completed for one instruction, it will be repeated for the second,
instruction, etc.
Store step
The processed data finally stored in the main memory until it moved to secondary storage
medium.

The last two steps that produce processing results are the execution cycle (E- cycle) and the time it
takes to perform the last two steps is known as Execution time (E-time). The four steps or the two
cycles together are known as Machine Cycle.

In general, during the instruction cycle, the fetch step locates an instruction in memory and sends it to
the control unit. During the decode step, the instruction is decoded and sent to the ALU along with any
necessary data. During the execution cycle, the instruction is executed by the ALU, and the result is
stored in the accumulator until needed. The program counter is incremented to identify the location of
the next instruction to be executed, and the instruction-execution sequence of operations is repeated
for the next instruction and continues until the program ends. It may seem like a long process to fetch,
decode and execute a single instruction, but it takes only about 200 milliseconds.

31
Computer Registers:
A register is a special temporary storage location within the CPU. Registers very quickly accept, store
and transfer data and instructions that are being used immediately. To execute an instruction, the
control unit of the CPU retrieves it from main memory and places it into a register.

The number and types of registers in a CPU vary according to the CPU’s design. There size and
number can dramatically affect the processing power of a computer system. In general, the “larger” the
register the greater the processing power. Some personal computers have general purpose registers that
hold only 8 bits: others hold 16 bits: newer microcomputer have 32 – bit registers. The difference in
processing power is due to difference in register size.

Operations for Hypothetical Computer:


Once characteristic in which most system software differs from application software is machine
dependency. An application program is primarily concerned with the solution of some problem, using
the computer as a tool; the focus is on the application, not on the computing system. System programs,
on the other hand are intended to support the operation and use of the computer itself, rather than any
particular application; for this reason, they are usually related to the structure of the machine on which
they are to run. For example, assemblers translate mnemonic instructions into machine code; the
instruction formats, addressing modes, etc., are of direct concern in assembler design. Similarly,
compilers must generate machine language code, taking into account such hardware characteristics as
the number and use of registers and the machine instructions available. Operating systems are directly
concerned with management of nearly all of the resources of a computing system.
On the other hand, there are some aspects of system software that do not directly depend upon the type
of computing system being supported. For example, the general design and logic of an assembler is
basically the same on most computers. Some of the code optimization techniques used by compilers
are independent of the target machine. Likewise the process of linking together independently
assembled subprograms does not usually depend on the computer being used.

2. Data Representation
In Computer the data is represented in binary format. Even though we use characters, decimals and
graph, internally these things are represented in binary format. So we will go through the number
system. There are different number systems namely decimal, binary, hexadecimal, etc.
Decimal number system is the normal number system that we use on a day to day basis. It spans from
0 to 9 and then 10 to 99, etc. This is to the base 10. Hexadecimal number system is to the base 16. It
spans from 0 to 9 and then A to E. After that 10 and so on. The binary system is to the base 2. It spans
from 0 to 1 and then 10 and so on.
We can convert from one number system to another. This conversion takes place in the computer all
the time. The information entered in the computer is converted to the binary format. For example, if
you enter the decimal 5 this converted into 101 as binary. If you enter 10 in the decimal format it is
converted into 1010 as binary.
Following table gives you an idea of different number systems.

Decimal Hexadecimal Binary


0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
32
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
16 10 10000

Decimal to Binary Conversion


Let us convert decimal number to binary number. Double Dabble is a method to convert any decimal
number to its equivalent binary. It is successive division by 2, writing down each quotient and its
reminder. The remainders are the binary equivalent of the decimal number. We will go through an
example step by step.
Here is how to convert decimal 13 to its binary.

Step 1. Divide 13 by 2 writing as follows.


13/2 = 6 remainder 1
The quotient is 6 with a remainder of 1.
Step 2. Divide 6 by 2 to get
6/2 = 3 remainder 0
This division gives 3 with a remainder 0
Step 3. Again you divide by 2.
3/2 = 1 remainder 1
Here you get a quotient of 1 and a remainder of 1.
Step 4. One more division by 2 gives
1/2 = 0 remainder 1

Here in the final division 2 does not divide into 1; therefore, the quotient is 0 with a remainder of
1.Whenever you arrive at a quotient of 0 with a remainder of 1, the conversion is finished. The
remainders when read upward from the last division to the first give the binary equivalent. In this
example, binary 1101 is equivalent to decimal 13.
Let us talk about Weights or Value. Each digit position in a number has a weight or value. With the
decimal numbers the weights are units, tens, hundreds, thousands and so on. The sum of all digits
multiplied by their weights gives the total amount being represented. For example,

3 2 0 1 4
104 103 102 101 100

The digits on the right have a weight of 100 (Units), the second digit has a weight of 101 (Tens), the
third digit a weight of 102 (hundreds) and so on. The sum of all units multiplied by their weights is

(3 * 104) + (2 * 103) + (0 * 102) + (1 * 101) + (4 * 100)


= 30,000 + 2000 + 0 + 10 + 4
= 32,014.
33
Binary to Decimal Conversion:
Here for the binary numbers, the base is 2. So the weights are power of 2 instead of 10. For example,

1 0 1 1 1
24 23 22 21 20

These weights are 20 (units), 21 (twos), 22 (fours), 23 (eights), and 24 (sixteens). The decimal
equivalent of binary equals the sum of all binary digits multiplied by their weights. The decimal
equivalent of the above shown binary number is

(1 * 24) + (0 * 23) + (1 * 22) + (1 * 21) + (1 * 20)


= 16 + 0 + 4 + 2 + 1 = 23
An easier way of converting binary to decimal is to write down the weights 1, 2, 4, 8 … under the
binary digits, Cross out any weight under a 0 and add the remaining weights.

1 0 1 1 1
16 8 4 2 1
16 8 4 2 1 = 23.

Why Binary?
Now why all these program and data need to be converted into binary format? The computer is
hardware. You see electronic devices, magnetic devices and mechanical devices in the computer.
Inside the computer, there are integrated circuits with thousands of transistors. These transistors are
made to operate on a two-state. For instance, the two state designs are the cutoff-saturation states; each
transistor is forced to operate at either cutoff or saturation. At the cutoff point the base voltage may be
0. At the saturation point the base voltage may be 5. This two state operation is universal in digital
electronics. By this design, all the input and output voltages are either HIGH or LOW. Here is how
binary numbers come in. low voltage represents binary 0 and high voltage represents binary 1.

VOLTAGE BINARY
Low 0
High 1

3. Logical Elements
Apart from the arithmetic operations, there are logical operations involved in the processing. The
logical operations involve some elements. These elements are NOT, OR and AND. NOT is the
opposite of negation or inversion. Negation of True is False. OR is another logical element which
represents either – or. AND is another logical element which represents two together.

So following are the basic logical elements:


NOT
OR
AND
34
4. Logic Gates and Boolean Algebra
In 1854 George Boole invented symbolic logic. This is known today as Boolean algebra. Each variable
in Boolean algebra has either of two values. - True or False. The purpose of this two-state algebra was
to solve logic problems. As we saw before the computers think in terms of binary (high or low) it is
appropriate to say logic is the core of computers. To implement this logic circuits are used. In the logic
circuits Gates are used. A Gate is a small circuit with one or more input signals but only one output
signal. Gates are digital circuits (two-state).
There are several gates such as OR, AND, Inverter, etc. Each has symbol to represent them. Let us see
them one by one.

Inverter:
A Low input produces a high output, and a high input produces low output. In binary format if the
input is 0 the output will be 1 and if the input is 1 then the output will be 0. The table shows the input
and output possibilities.

Input Output
0 1
1 0
Following is the symbol for inverter.
Input Output

OR Gates
The OR gates has two or more input signals but only one output signal. If any input signal is high, the
output signal is high. If we have two inputs to this OR gate and any of the two inputs is high then the
output will be high. This can be shown in a table below with all the possible inputs and corresponding
outputs.

A B Y A
(Output) Y
0 0 0
b
0 1 1 b
1 0 1 b
1 1 1 b
OR GATE b symbol
OR Gate
b

AND Gates
The AND Gate has two or more input signals but only one output signal. All the inputs must be high to
get a high output. If we have two inputs to this AND gate and both the inputs are high then the output
will be high otherwise the output will be low. All the possible inputs and outputs are shown in the
following table.

A B Y
(Output) A
0 0 0 Y
0 1 0 B

35
1 0 0
1 1 1
AND GATE AND Gate symbol

Similarly, three input gates and four input gates are available.

Boolean Algebra
Boolean Algebra has signs for the logic representations. Inverter sign is represented as follows.

Inverter Sign

Y
A
Because of the inversion, Y is always the compliment of A.
Y = NOT A
This can be written as Y= A
OR Sign Y = A OR B
AND Sign Y = A. B
We can combine two different gates. When we combine like that we get some more logic gates such as
NOR, NAND, Exclusive-OR, Exclusive-NOR, etc.

NOR Gate
NOR Gate is a combination of OR and an inverter. It is a OR gate followed by an inverter. Following
figure shows the same.

A A
Y Y
B B

Whatever the output of the OR gate, it will be inverted by the inverter. This is the formation of NOR
gate. The sign and the table is shown below.

Y=A+B A B Y
(Output)
NOR Sign 0 0 1
0 1 0
1 0 0
1 1 0
NOR GATE Input
Output
NAND Gate
NAND Gate is a combination of an AND gate with an inverter. An AND Gate followed by an inverter.

A A
Y Y
B B
Whatever the output of the AND gate, it will be inverted by the inverter. This is the formation of
NAND gate. The sign and the table is shown below.
36
Y = AB A B Y
(Output)
NAND Sign 0 0 1
0 1 1
1 0 1
1 1 0
NAND GATE Input Output
Exclusive OR Gate
An OR Gate recognizes with one or more 1s as inputs and gives output as 1. The Exclusive-OR is
different; it recognizes only that have odd number of 1s. The following table shows different inputs
and outputs.
A B Y (Output)
Y= A XOR B
0 0 0
0 1 1
Y= A B
Ex-OR sign 1 0 1
1 1 0

XOR GATE Input Output


A

Y Y = AB + AB

A
Y
B

Exclusive NOR Gate


Exclusive NOR Gate is abbreviated as XNOR. This is logically equivalent to and XOR gate followed
by an inverter. Following figure shows the XNOR gate and the table of input and outputs.

A A
Y Y
B B

A B Y
(Output)
0 0 1
0 1 0
1 0 0
1 1 1
XNOR Input Output

4. Binary Arithmetic:
The ALU involves not only arithmetic operations but also logic operations. As we saw in the 2 nd sub-
title of this unit there are three basic logic elements NOT, OR and AND. We saw some combinations
37
of these logical elements create another set of logical elements. For example NAND, NOR, etc. Here
we will see how binary arithmetic can be possible. We can add, subtract and negate binary numbers.
Binary Addition:
Rules for carrying out addition of binary numbers are as follows:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 with 1 carry over becomes 10
Examples:
i) For adding 1101012 and 1011112
Binary Decimal
110101 53
101111 47
1100100 100
1100100 is equivalent to 100 in decimal system.
ii) For adding 101102 and 11012
10110
1101
100011
Binary Subtraction:
Rules for subtraction of binary numbers are as follows:
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = 1 with one borrow
Examples:
i) Subtracting 101111 from 110101
Binary Decimal
110101 53
101111 47
000110 6
1102 is equivalent to 6 in decimal system.
ii) Subtracting 1101 from 10110
10110
-1101
1001

Binary Multiplication
Rules for multiplication of binary numbers are as follows:
0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1
Examples
i) Multiplying 10110 with 1101
10110
1101
38
10110
00000x
10110xx
10110xxx
100011110
In order to check, let us see the decimal equivalents of these binary numbers.
22 * 13 = 286 which is 1000111102
ii) Multiplying 111 with 101
111
101
111
000x
111xx
100011

Binary Division
Division for binary numbers can be carried out by following same rules as those applicable to decimal
system.

Examples
a. Dividing 1000112 by 101
101 100011 111
101
111
101
101
101
0 or 35 + 5 = 7

b. Dividing 111102 by 1102


110 11110 101
110
110
110
0

Floating Point Number


Normalized floating point numbers is also a method of representing data. In this method, a real
number is expressed as a combination of a mantissa and exponent. The mantissa is kept as less than 1
and greater than or equal to 0.1 and the exponent is the power of 10 which multiplies the mantissa.

Let us take an example to make it more clear.


94.75 * 105 is represented as 0.9475E7
where E7 is used for 107
39
Here, Mantissa = 0.9475
Exponent = 7
While storing numbers, the leading digit in the mantissa is always made non-zero by approximately
shifting it and adjusting the value of the exponent, i.e.
.004642 -- 0.4643 * 10 -2 -- 0.4642E-2
This shifting of the mantissa to the left till its most significant digits is non-zero, is called
normalization. It is done to preserve the maximum number of useful digits. Let us see how arithmetic
operations can be done with normalized floating point numbers.

Signed Binary Numbers


The negative decimal numbers are -1, -2, -3 and so on. One way to code these as binary numbers is to
convert the magnitude (1, 2, 3 …) to its binary equivalent and prefix the sign. With this approach, -1, -
2, -3 become -001, -010, and -011. It’s customary to use 0 for the + sign and 1 for the –sign. Therefore
-001, -010 and -011 are coded as 1001, 1010 and 1011.
The foregoing numbers have the sign bit followed by the magnitude bits. Numbers in this form are
called signed binary numbers or sign-magnitude numbers. For larger decimal numbers you need more
than 4 bits. But the idea is still the same: the leading bit represents the sign and the remaining bits
stand for the magnitude.
Example
+7 0000 0000 0000 0111
-7 1000 0000 0000 0111
+25 0000 0000 0001 1001
-25 1000 0000 0001 1001

Complement

Sign –magnitude numbers are easy to understand, but they require too much hardware for addition and
subtraction. It has led to the widespread use of complements for binary arithmetic.
For instance, if
A = 0111
The 1’s complement is
Ā = 1000
The 2’s complement is defined as the new word obtained by adding 1 to 1’s complement. As an
equation
A‘ = Ā + 1
Where A ‘ = 2’s complement
Ā = 1’s complement
Here are some examples. If
A = 0111
The 1’s complement is
Ā = 1001
In terms of a binary odometer, the 2’s complement is the next reading after the 1’s complement.
Another example, If
A = 0000 1000
Then
Ā = 1111 0111
And
A ‘ = 1111 1000

40
5. ASCII and UNICODE
Letters, numbers and special characters are represented within the computer system by means of
binary coding schemes. That is, the off/on 0s and 1s are arranged in such a way that they can be made
to represent characters, digits or other values. When you type a word on the key board, the letters are
converted into bytes – 8 0s and 1s for each letter. The bytes are represented in the computer by a
combination of 8 transistors, some of which are closed (representing the 0s) and some of which are
open ( representing the 1s).
There are many coding schemes. Two common ones are EBCDIC and ASCII-8. Both use 8 bits to
form each byte. One newer coding scheme uses 16 bits.
 EBCDIC: Pronounced ‘eb-see-dick’, EBCDIC an acronym for Extended Binary Coded Decimal
Interchange Code is used in Mainframe computers.
 ASCII – 8: Pronounced ‘askey’. ASCII stands for American Standard Code for International
Interchange and is the binary code most widely used with microcomputers.
ASCII originally used 7 bits but 0 was added in the left position to provide and eight-bit code, which
offers more possible combinations with which to form characters, such as math symbols and Greek
letters. (However although ASCII can handle the English language well, it cannot handle all the
characters of some other languages such as Chinese and Japanese)
 UNICODE: A subset of ASCII, Unicode uses two bytes (16 bits) for each character, rather than
one byte (8 bits). Instead of the 256 character combinations of ASCII – 8, Unicode can handle 65,536
character combinations. Thus UNICODE allows almost all the written languages of the world to be
represented using a single character set. (By contrast, 8 – bit ASCII is not capable of representing even
all the combinations of letters and other symbols that are used just with our alphabet, the Roman
alphabet – used in English, Spanish, French, German, Portuguese, Hindi and so on)

Although each Unicode character takes up twice as much memory space and hard disk space as each
ASCII character, conversion to the Unicode standard seems likely. However, because most existing
software applications and databases use the 8-bit standard, the conversion will take time.

ASCII Binary Coding Scheme:

Character ASCII- Character ASCII- Character ASCII-


8 8 8
A 0100 N 0100 0 0011
0001 1110 0000
B 0100 O 0100 1 0011
0010 1111 0001
C 0100 P 0101 2 0011
0011 0000 0010
D 0100 Q 0101 3 0011
0100 0001 0011
E 0100 R 0101 4 0011
0101 0010 0100

41
F 0100 S 0101 5 0011
0110 0011 0101
G 0100 T 0101 6 0011
0111 0100 0110
H 0100 U 0101 7 0011
1000 0101 0111
I 0100 V 0101 8 0011
1001 0110 1000
J 0100 W 0101 9 0011
1010 0111 1001
K 0100 X 0101 ; 0011
1011 1000 1011
L 0100 Y 0101
1100 1001
M 0100 Z
1101

Chapter 4
Data Communication and Networks
Chapter Contents
3. Data Communication and Networks
3.1. Basic Concepts
3.2. Types of Networks and Topologies
3.3. Media of the Networks
Chapter Objectives
At the end of this chapter, you are able to-
 Define Networking
 List some benefits of computer network
 Identify topologies of network
 Browse Internet

Network

A network is a collection of related entities. There are different types of networks, such as telephone
network, which is a collection of telephone systems interconnected with each other. Telegraph
network, television network, radio network and computer network are some of them.

Computer Networking

Computer networking refers to two or more connected computers that can share a resource such as
data, a printer, an internet connection, applications, or a combination of these. A computer network is
a set of cooperative, interconnected autonomous computers. If we simply interconnect two or more
computers with the help of a wire, they are not said to be networked. In order for the communication
to take place, there should be a kind of cooperation between the communicating systems. Network
hardware will provide the necessary interconnection and network software will provide the necessary
cooperation. Computer network is created when several computers and terminal devices are connected
together by data communication system. Each computer in a network can have its own processing
capabilities and can share computer hardware, programs, software and data files. In general, it is a
42
collection of computers and peripheral devices connected by communication links that allow the
network components to work together.

Importance of Networking

1. Resource sharing ( To share hardware such as the server, to share computer CPU, to
share databases, to share application programs and hard disk, Data/information,
Memory(storage),Files, Printers etc)
2. To undertake parallel processing
3. High reliability by having alternative sources of supply
4. Money saving
5. Increase system performance
6. Powerful communication medium among widely separated people

Terms used in computer networking


1. Server – is a dedicated computer that serves the client with huge storage capacity, database,
interconnections to other networks etc.
2. Clients-computers that access shared network resources provided by a server.
3. Media – The wires that make the physical connections.
4. Shared data- Files provided to clients by servers across the network.
5. Shared printers and other peripherals– Additional resources provided by the server.
6. Resources- Any service or device, such as files, printers or other items.
7. Workstation computer- computers in a peer –to- peer network architecture.
8. Standalone computer- a computer that is not connected in the network.
9. Node- is a computer, printers, or whatever, simply latch onto the cable at any position
between the two terminals in a topology.

Types of Networks

Based on geographical span of coverage, computer networks are broadly classified into three major
categories.
1. Local Area Network (LAN)
 It is the basic building block of any computer network.
 It is confined in a limited geographical area.
 Physically limited.
 Inexpensive cable media (Co-axial or twisted pair cables).
 Used for resource (data and hardware) sharing.
E.g. Lab, School, building, office, campus.

2. Metropolitan Area Network (MAN)


 Covers large geographic areas than LAN.
- Uses Fiber Optics cables.
E.g. Colleges, Universities, banks e.t.c…

3. Wide Area Networks (WAN)


 Computers in a network are situated in a wider geographical area.
 Communication is established through telephone lines, microwave links and satellites etc
 It has no geographical limit.
 It is made up of a number of interconnected LANs.
E.g. The internet (network of networks)
43
WANS differ from LANS in the following ways:
 WANs cover greater distance.
 WAN speeds are slower.
 WANs can be connected on demand or be permanently connected. LANs have permanent
connections between stations.
 WANs can use public or private network transports. LANs typically use private transports.
 WANs can use either full- or half-duplex communications. LANs typically use half-duplex
communications.

Based on span of control, networks are divided into two broad categories:

1. Peer-to-peer Networks

In peer-to-peer networks, all computers are equal - they are peers. Each computer can be a client that
requests resources and a server that provides resources upon request.

Peer-to-peer networks are characterized by the following:


 Security is not centralized; each computer is responsible to check access rights for its resources.
 Network is not scalable; it is good only for a few numbers of computers (10).
 Each user is responsible for local backup.
 Also called work groups.
 No specialized operating system is required; the operating systems used in standalone computers
like Windows NT 4.0 Workstation, Windows 95/98, Windows 2000 Pro, etc. are sufficient.

2. Client/server networks

In client/server networks, there exist dedicated servers, which only provide resources/services when
requested. Client/server network is characterized by the following:

 It has centralized, tighter security. All user accounts are stored in the same database on the server.
 The network is highly scalable; you can have tens of thousands of workstations in the network.
 Backup is centralized and is done by a person responsible for the job (backup operator).
 Needs dedicated server (acts only as a server, but not as a client)
 Requires at least one professional administrator.
 Specialized networking operating systems are required, such as Windows NT 4.0 server, Windows
2000 server, Novell NetWare, etc.

Modes of data transmission circuits


1. Simplex
 In simplex mode, transmission is possible in only one direction.
 The transmitting line has a transmitter on one end and a receiver on the other end.
 Simplex channels are not often used because it is not possible to send back error or control
signals to the transmitting end.
 An example of a simplex channel in a computer system is the interface between the
keyboard and the computer, in that key codes need only be sent one way from the keyboard
to the computer system.
 Radio and television broadcasting are also examples of simplex transmission.
2. Half Duplex
44
 A half-duplex channel can send and receive but not at the same time. It is like a one-lane
bridge where two-way traffic must find ways in order to cross.
 Only one end transmits at a time and the other end receives.
 Transmission is possible in both directions, but not simultaneously.
3. Full Duplex
 Data can travel in both directions simultaneously.
 There is not need to switch from transmit to receive mode like in half duplex.
 It is like a two lane bridge on a high way.

Types of signals
In communication system, data is transmitted from one point to another by means of electrical signal.
There are two types of signals that can travel over the various transmission media.

1. Analog Signal
- Continuously varying electromagnetic waves that may be propagated over a variety of media
E.g. Wire media, twisted pair and coaxial cable.
2. Digital Signals
- Normally, it comprises only two states.
- It uses separate ON/OFF pulses that create a square rather than a continuous wave.
- Are considered as sequence of voltage pulses that may be transmitted over a wire medium.
- Transmits data faster and more accurately than analog signals.
E.g., a constant positive voltage level may represent binary 1 and a constant negative
voltage level may represent binary 0.

Data Transmission Protocols


Two different methods are used for transmitting data, namely, asynchronous and synchronous.
1. Asynchronous data transmission protocol
 Data is transmitted character by character.
 Data is transmitted at irregular time interval
 A start bit is transmitted directly before each character.
 To signify the end of the transmission, 1 or 2 stop bits are transmitted directly after each
character.
 The start bit and stop bit are always of opposite polarity.
 Usually, 0 is the start bit and 1 is the stop bit.
 Between the start bit and the stop bits, the data bits are transmitted at uniformly spaced
time interval.

2. Synchronous Data Transmission Protocol


 The transmission occurs at fixed intervals and fixed rates.
 The need for start and stop bits is eliminated in synchronous transmission.
 Allows for continues sending of characters
 Each character is combined with others into a data packet.
 The data packet is prefixed with a header field, and suffixed with a trailer field.
Which includes a checksum value (used by the receiver to check for errors in
sending)
 The header field: used to address information (sender and receiver), packet type and
control data.
 The data field – contains checksum information

45
Topologies

A topology describes the layout of the cables, computers and other network devices. It describes the
way in which the devices of the network are linked together. There are four most common topologies:
Bus, Ring, Star and Mesh.

The Bus Topology


 In a bus topology, all computers are connected to a single cable.
 The cable is terminated at its ends to avoid signal bouncing.
 When a computer wants to send data to another computer, it places
the data and address of the recipient computer on the cable. Only
the computer whose address is included with the data accepts the data.
 If one node fails, the rest of the network can continue to function
normally.
 It is easy to implement and with low cost.
 Cable fault affects all workstations.

Advantages
- Easy to implement
- Low cost

Disadvantages
- Limited cable length and workstation
- Difficult to isolate network fault
- Cable fault affects all workstations

The Star Topology


 Each computer in a star topology is connected to a central
device (hub) by a separate cable.
 When a computer wants to send data to another computer, it
sends the data and address of the recipient computer to the hub,
which in turn, sends it to every computer connected to it. Only
the computer whose address is included with the data accepts the
data.
 Failure of one computer does not affect the network.
 Failure of the hub affects the network.

Advantage
- Easy to add new workstations
- Centralized control
- Centralized network
- Easy to modify

Disadvantages
- Hubs are expensive
- Hub failure, fails the network

The Ring Topology


 Each computer is connected directly to two other computers in the
network.

46
 Data moves down a one-way path from one computer and if the next computer is the recipient it
accepts the data; otherwise it amplifies it and sends it to the next computer down in the path.
 Any break disrupts the entire network and hence the physical ring topology is seldom used.
 No terminated end in this topology.
 Failure of one computer can have an impact on the entire network.
Logically, a ring topology is a circular arrangement of computers where the signals from one node
travel around the ring in clockwise direction .Because the signals pass through each computer, the
failure of one computer or a break in a cable could bring the entire network failure.

The Mesh Topology


 Each computer is directly connected to every other computer.
 A mesh topology can become quite complex as wiring and connections
increase rapidly with the increase of computers to connect. For n computers,
n (n-1)/2 cables are required.
 Today, the mesh topology is rarely used, and then only in a WAN
environment and only because the mesh topology is fault tolerant computers or
network devices can switch between these multiple, redundant connections if the need arises.
 On the con side, the mesh topology is expensive and quickly becomes too complex.

Selecting the Right Topology


The type of network you choose to implement depends on:-
i. Size of the organization
ii. Level of security required
iii. Level of administrative support available
iv. Amount of network traffic
v. Needs of the networks use
vi. Network budget
vii. Ease of installation
viii. Ease of maintenance
ix. Cable fault tolerance

Note:-Creating a simple network for a handful of computers in a single room is usually done most
efficiently using a bus topology because it is simple and easy to install. Larger environments are usually
wired in a star because moves, adds, and changes to the network are more efficient with a physical star
than with any of the other topologies.

Physical Media
Although it is possible to use several forms of wireless networking, such as radio and infrared, most
networks communicate via some sort of cable. In this section, we will look at three types of cables:
 Coaxial
 Twisted-pair
 Fiber-optic

Coaxial Cable
Coaxial cable (or coax) contains a centered conductor, made of copper, surrounded by a plastic jacket,
with a braided shield over the jacket. There are two types of coaxial cables:

47
 Thick Ethernet cable or ThickNet. It is also called 10Base5. The 10 refers to the data transfer
speed, which is 10 Mbps, and the 5 refers to the maximum length of a single cable, which is 500m.
 Thin Ethernet cable or Thinnet. It is also called 10Base2. The 10 refers to the data transfer speed,
which is 10 Mbps, and the 2 refers to the maximum length of a single cable, which is 185m (200m).
ThinNet is connected to the computer through BNC connectors.

With coaxial cable, the signal travels up and down the entire length of the wire. When the signal
reaches the end of the wire, it bounces back down the wire. This creates an echo. These additional
signals on the wire make communication impossible. To prevent this, terminators are placed on each
end of the wire to absorb the unwanted echo. One terminator is also connected to a ground.

Twisted-Pair Cable
Twisted-pair cable consists of multiple, individually insulated wires that are twisted together in pairs.

There are two types of twisted pair cables:-

1. Shielded twisted-pair (STP):-A metallic shield is placed around the twisted pairs.

2. Unshielded twisted-pair (UTP):-Cable with no outer shielding.

Note; - UTP is commonly used in 10BaseT, star-wired networks.

When electromagnetic signals are conducted on copper wires that are in close proximity (such as
inside a cable), some electromagnetic interference occurs. This interference is called crosstalk.
Twisting two wires together as a pair minimizes such interference and provides some protection
against interference from outside sources. This cable type is the most common today. It is popular for
several reasons:
 It is cheaper than other types of cabling.
 It is easy to work with.
 It permits transmission rates considered impossible ten years ago.

Common UTP categories include Categories 3, 5 and 6:

 Category 3 (Cat 3) has four twisted-pair (eight wires), with three twists per foot. is acceptable for
10Mbps.
 Category 5 (Cat 5) has four twisted-pair (eight wires) and is rated for 100Mbps.
 Category 6 (Cat 6) has four twisted-pair (eight wires) and is rated for 1000Mbps.

Fiber-Optic Cable
Because fiber-optic cable transmits digital signals using light pulses, it is immune to EMI
(electromagnetic Interference). Light is carried on either a glass or a plastic core. Glass can carry the
signal a greater distance, but plastic costs less.

Fiber-optic cable is suited for data running large distances and without electronics regenerating the
signal or for an installation requiring high security. Fiber-optic is now being used in such applications
as gigabit Internet backbones. However, it is difficult to install and is expensive.

48
Common Network Devices

Modem- Modulator/Demodulator
- It lets computers exchange information though telephone lines.
- When transmitting information, the modulator changes the computers digital signal to analog
signal.
- When receiving information, the demodulator translates the analog signal back to a digital signal.
Modulator – Digital to Analog
Demodulator – Analog to Digital

The Network Interface Card (NIC)

The Network Interface Card (NIC) is the expansion card you install in your
computer to connect (interface) your computer to the network. This device
provides the physical, electrical, and electronic connections to the network
media. NICs either are an expansion card (the most popular implementation)
or built in to the motherboard of the computer.

- An expansion card physically connects a computer to the network.


- Each computer in the network must have a network card.
- It takes the data from the computer’s internal bus and converts it into standard packets of
information that it then sends along the cable.
- It takes the data from the computer and adds header.
- When receiving data, it looks at each packet and checks the destination address in the header.
- If it recognizes its own address, it checks that it has no errors and signals the CPU that there is
data to be processed.

Each type of NIC is specific to a topology and a connection type. To determine a NIC's type, review
the documentation and examine the NIC. Even though two NICs look alike, one may be a Token Ring
NIC and the other an Ethernet NIC.

The Repeater
A repeater amplifies (or repeats) network signals to extend the maximum reach of a
network. Repeaters receive network signals on one port, amplify them, and repeat them
out on the other port. Repeaters can interconnect different media types but cannot convert protocols.

The Hub
A hub is the central device in a star topology. Most hubs are simple multiport
repeaters. That is, they receive a signal on one port and repeat it to all other ports.

The Bridge
A bridge is a network device that logically separates a single network into two segments. The primary
use for a bridge is to keep traffic meant for stations on one segment on that side of the bridge and not
let that traffic pass to the other side. Bridges can improve network performance because traffic is not
propagated unnecessarily on all network segments.

The Ethernet Switch


These are in essence high-performance multi-interface bridges. Like bridges, switches subdivide
larger networks and prevent the unnecessary flow of network traffic from one segment to another, or
in the case of cross-segment traffic, switches direct the frames only across the segments containing the
source and destination hosts.
49
The Router
A router is a network device that connects multiple, often dissimilar, network segments into an
internet work. The router, once connected, can make intelligent decisions about how best to get
network data to its destination.

A router is more like a special-purpose computer than a simple electronic device. The classic
definition of a router is a device that reads the source and destination address of a packet and forwards
it based on the information it gathers about the network. Routers can make intelligent decisions about
the best way to forward packets.

Network Connectors

The type of connector you use depends on the type of network and the type of cable (copper or fiber-
optic).

D-type Connectors
The first type of networking connector was the D-type connector. A D-type connector is
characterized by its shape. The Attachment Unit Interface (AUI) connector is a D-type
connector used to connect your computer to ThickNet coaxial cable.

BNC Connectors
Most commonly used with ThinNet coaxial cable, BNC connectors are tube-shaped. A twist-
lock mechanism prevents the cable from disconnecting. You must push the cable's connector
onto the connector on the NIC and then twist the connector on the cable to lock it in place.
BNC connectors are most commonly found in 10Base2 Ethernet networks, as well as in
ARCNet.

RJ Connectors
RJ-45 connectors are most commonly found on both 10BaseT and Token Ring
networks, but they can be found on any network that uses four-pair, UTP cable.
An RJ-11 connector is smaller than an RJ-45 connector, and RJ-11 uses four (or six)
wires; the RJ-45 has eight wires housed in its case.

Media Access
With many stations on the same piece of network media, there has to be a way of vie for time on the
cable. This process is called media access, and two of the most popular methods are discussed below.

Carrier Sense/Multiple Access with Collision Detection (CSMA/CD) - this media access technology,
used in Ethernet networks, is probably the most common. When a protocol that uses CSMA/CD has
data to transmit, it first senses if a signal is already on the wire (a carrier), indicating that someone is
transmitting currently. If no one else is transmitting, it attempts a transmission and then listens to hear
if someone else tried to transmit at the same time. If someone else transmits at the exact same time, a
condition known as a collision occurs. Both senders "back off" and don't transmit until some random
period of time has passed. They then both retry.

Token passing – this media access method uses a special packet called a token. The first computer
turned on creates the token. It then passes the token on to the next computer. The token passes around
the network until a computer that has data to send takes the token off the network, modifies it, and puts
it back on the network along with the data it has to send. Each station between the sender and the
receiver along the network reads the destination address in the token. If the destination address does

50
not match its own, the station simply sends the package on its way. When the destination station
recognizes its address in the destination address of the token, the NIC copies the data into the station's
memory and modifies the token, indicating it has received the data. The token continues around the
network until the original sender receives the token back again. If the original sender has more data to
send, the process repeats itself. If not, the sender modifies the token to indicate that the token is "free"
for anyone else to use. With this method, there are no collisions (as in CSMA/CD networks) because
everyone has to have "permission" to transmit (via the token).

What is Internet?
The Internet is a huge collection of computer networks that can communicate with each other – a
network of networks. It is an umbrella under which many different networks, small or big, freely
exchange information. When you connect to the Internet from office or home, your computer becomes
a small part of this giant network.

To ensure the delivery of the data to the right computer, each computer on the Internet is given an
address. This address scheme is known as the Domain Name System.

How does the Internet work?


In order to make the Internet work, it requires:
1. A physical connection between the computers
2. A common language (called TCP/IP - Transmission Control Protocol/Internet Protocol) for the
computers to communicate over the Internet. By using TCP/IP Protocol, all kinds of computers with
different operating systems run on the Internet.

Connectivity
You can connect to the Internet in one of two basic ways, dialing into an Internet service provider's
(ISP) computer, or with a direct connection to an Internet service provider.

To establish a conventional dial-up connection to the Internet, you will need the following:

 An account with an ISP (a company that provides the Internet access)


 A telephone connection
 Modem (external/internal)
 Communication software
You can also get a direct connection to your ISP, where you have a fixed cable or a dedicated phone
line to the ISP.
Protocols

Since most computers were not similar, they had to share the same language to understand each other.
This is what gave birth to the various protocols. Protocols are the formal rules governing the exchange
of information between computers to provide reliable and efficient transfer of information. Without
protocols to guide the orderly exchange of data between points in a network, there would be chaos, not
communication. Detailed protocols are required to precisely define the format in which data and
system messages are to be sent. These also describe how a message is addressed and govern network
traffic flow by controlling priority, routing and sequencing of messages.

When you send a message across the Internet to another user, TCP divides the data into manageable
units called packets and attaches to each packet the information necessary to reassemble the data and
check for errors. IP then labels all the packets with a header containing the address of the destination
and sends them on their way.
Once the packets reach their destination, the computer at the receiving end removes the IP header and
uses the data that TCP attached to each packet to make sure none of the packets have been lost or
51
damaged. The packets are then reassembled into the original message. If the computer discovers a
damaged packet, it sends a message to the sending computer asking it to resend the packet.
You access pages on web servers by using a program called a browser. As soon as you tell your
browser what web page you want to view, it goes to the web server that holds the page and retrieves it
for you.
The links contained in web pages can point to areas within the same page, to other pages residing on
the same web server, or to pages sitting on a computer on the other side of the world.
The term web site refers to a collection of one or more web pages on the web. The relationship
between Browsers and the web servers is a client/server relationship. The client (your browser)
requests information from the server (the web server containing the requested information) and the
server delivers it.

World Wide Web (WWW)

The World Wide Web (WWW) is a vast collection of documents stored on Internet computers. The
web documents contain links that lead to other web pages and they contain graphics, sound and so on,
which open up new possibilities for presenting information.
WWW uses Hypertext Mark-up language (HTML) to design a web document. WWW has
revolutionized the way the world is accessing the information on the Internet as:
 The web is not linear - a user can click on any of the links and jump to the related document.
 The web is rich in media elements – it includes text, voice, video, pictures, etc.
 The web is interactive - A web user can fill in forms on-line, run programs, select options

Internet Features

Internet offers a variety of features. A few of them are:


1. E-mail
2. File Transfer Protocol
3. Telnet

Internet offers FTP (File Transfer Protocol). FTP allows a user to transfer data between computers
on the Internet. FTP can send and receive data to/from any distant computer on the Internet from/to the
user's computer. FTP provides commands that allow users to manage files. The FTP applications allow
the users to download files from computers connected to the Internet.

Telnet is another popular feature available on the Internet. It is a program that allows one computer to
connect to another computer, anywhere in the world.

What is an E-mail? E-Mail implies Electronic Mail. The concept is in many ways similar to
traditional postal service.
E-mail is the most widely used feature of the Internet. Using e-mail, a user can send and receive mail
through computers to and from any Internet user.
 E-mail can be used transmit text, messages, audio and video clips.
 E-Mail allows users to send a message to just one user or a group of users. Large documents can
be attached.
 Users can read, print, forward, answer or delete a message.
 E-mail is much cheaper and faster in comparison to other communication services.
 Each E-mail user is assigned a unique address, which is used by the e-mail network to deliver the
message.

Email has become an important method of business communication. Used properly it is an extremely
efficient and effective form of communication that can be used to transmit all kinds of electronic data.

52
Some of the advantages of using email include:

 price - sending an email costs the same regardless of distance and however many people you send
it to
 speed - an email should reach its recipient in minutes, or at the most within a few hours
 convenience - your message will be stored until the recipient is ready to read it, and you can easily
send the same message to a large number of people
 permanent records - a record can be kept of messages and replies, including details of when a
message was received

Some potential disadvantages of using email include:

 spam - unsolicited email that can overwhelm your email system unless you install a firewall and
anti-spam software
 email attachments - one of the most common ways computer viruses are spread

Emails being easily be sent to the wrong person accidentally, or forwarded on, as a careless or even
libelous remark can be damaging to your business.

Electronic storage space becoming a problem, particularly where emails with large attachments are
widely distributed. One of the main benefits of using email is that any type of file stored on a
computer can be sent as an attachment to an e-mail. For example, if you have a report that you have
created in a word processing package you can send it in its entirety to someone else via email. Here, an
individual needs to have a personal address, commonly known as E-Mail account

Internet explorer
Internet explorer is one of the web browsers that enable us to get information from the web. Internet
explorer makes it easier to get information from the World Wide Web (WWW), whether you are
searching for new information or browsing your favorite web sites. Built-in technology can save you
time completing routine web tasks, such as automatically completing web addresses and forms for you
and automatically detecting your network and connection status.

Internet explorer environment ( for Google search Engine)

Stop Refresh Home Title


Bar
Menu
Bar

Address
Box

Status Bar

53
If you wish to use E-mail then you must have an E-mail address (sometimes called an account or an
ID). Every E-mail user has a unique E-mail address. Once you have an E-mail address, Your E-mail
messages are stored in your personal (and unique) electronic mailbox.
Every E-mail address has a basic structure as indicated below.

User name @ e-mail server

Identifies the E-mail user Identifies the service provider


User name are Unique

A separator or full stop.


Is pronounced AT.

Example: abebe@yahoo.com

UNIT 5
Problem Solving Using Computers
A "problem" can be defined as a question or situation that presents uncertainty, perplexity, or
difficulty. Real life is full of easy and difficult problems; so is every professional field of endeavor. To
succeed in life, as well as in our professions, we should develop the ability to solve problems. In this
unit we will try to clarify the meaning of the term problem solving, identify the steps involved, define
a methodology for problem solving, and see how we can make use of the computer as a tool in the
process.
Problem Solving Approach
Problem solving uses different kinds of approaches. But the most common are:-
 Top -down approach
 Bottom-up approach
 Divide and conquer
Top-down and bottom-up are strategies of problem solving and knowledge ordering, mostly involving
software, and by extension other humanistic and scientific system theories. In the top down model an
overview of the system is formulated, without going into detail for any part of it. Each part of the
system is then refined by designing it in more detail. Each new part may then be refined again,
defining it in yet more detail until the entire specification is detailed enough to validate the model. The
top down model is often designed with the assistance of "dark boxes" that make it easier to bring
fulfillment but insufficient and irrelevant in understanding the elementary mechanisms.
In bottom –up design, first the individual parts of the system are specified in great detail. The parts are
then linked together to form larger components, which are in turn linked until a complete system is
formed. This strategy often resembles a "seed" model, whereby the beginnings are small, but
eventually grow in complexity and completeness.
54
In the software development process, the top-down and bottom-up approaches play a key role. Top-
down approaches emphasize planning and a complete understanding of the system. It is inherent that
no coding can begin until a sufficient level of detail has been reached in the design of at least some
part of the system. This, however, delays testing of the ultimate functional units if a system until
significant design is complete. Bottom-up emphasizes coding and early testing, which can begin as
soon as the first module has been specified, This approach, however, runs the risk that modules may
be coded without having a cleat idea of how they link to other parts of the system, and that such
kinking may not be as easy as first thought. Re-usability of code is one of the main benefits of the
bottom-up approach.
Top down programming is a programming style, the mainstay of traditional procedural languages, in
which design begins by specifying complex pieces and them dividing them into successively smaller
pieces. Eventually, the components are specified enough to be coded and the program is written. This
is the exact opposite if the bottom-up programming approach which is common in object oriented
languages such as C++ of Java. The technique for writing a program using top-down methods is to
write a main procedure that names all the major functions it will need. Later, the programming team
looks at the requirements of each of these functions and the process is repeated. These
compartmentalized sub-routines eventually will perform actions so simple they can be easily and
concisely coded. When all the various sub-routines have been coded been coded the program is done.

Advantages of top-down programming:


 Programming team stays focused on the goal
 Everyone knows his or her job
 By the time the programming starts there are no questions
 Code is easier to follow, since it is written methodically and with purpose.
Disadvantages of Top-down programming:
 Top-down programming may complicate testing, since nothing executable will even exist until the
end of the project.
 All decisions depending on the starting goal of the project and some decisions cannot be made
depending on how specific that description is.
Software Development Method
Computers can be programmed to do many complicated tasks at very high speeds. Also, they can store
large quantities of information. Therefore, we can use computers as a tool in problem solving if one or
more of the following conditions for a problem hold true:
1. It has extensive input.
2. It has extensive output.
3. Its method of solution is too complicated to implement manually.
4. If done manually, it takes an excessively long time to solve.
5. We expect to use the same method of solution often in the future to solve the same problem with
different inputs.
55
The general problem-solving method outlined in the previous section also applies to problem solving
with computers. The implementation step is somewhat different, how-ever; rather than applying the
method of solution to the input data ourselves, we instruct the computer to do it. Now, the computer
can execute the steps in the method of solution and solve the problem. However, we need to write a
program that consists of instructions corresponding to the steps of the solution such that the computer
can interpret and execute them. In developing the program, debugging it, expanding it in the future if
necessary, and using it, we will have to remember certain details of the implementation. Consequently,
the program has to be properly documented. Thus we add another step to the software development
method: program documentation.
The software development method now consists of the following steps:
1. Requirements Specification
2. Analysis
3. Design
4. Implementation
5. Testing and verification
6. Documentation

Requirement Analysis Design


Specification

Testing and
Implementation Verification Documentation

Requirements Specification
One of the most important steps in problem solving is requirements specification; that is understanding
exactly what the problem is, what is needed to solve it, what the solution should provide, and if there
are constraints and special conditions. How precisely we can define a problem depends on our degree
of familiarity with the problem domain. If we are not familiar with the problem domain, then we
should either quickly acquire an education in it or contact people who are knowledgeable about it. By
interviewing the shop manager we can acquire knowledge and get familiarized with the problem
domain. While talking with the sales manager we can come to know different problems that he faces.
Creating a clear specification of what he requires will make the problem domain defined.
Analysis
In the analysis phase we should identify the following:
1. Inputs to the problem, their form, and the input media to be used
2. Outputs expected from the solution, their form, and the output media to be used
3. Any special constraints or conditions

56
4. Formulas or equations to be used
Provided we have acquired a clear understanding of the problem and have a precise requirements
specification at hand, the analysis phase is usually easy.
Design
The next step is to design a method of solution for the problem. Earlier in this chapter we saw that a
method of solution is a series of steps to be performed in a specific logical order. Another name for a
method of solution is an algorithm.
Algorithm: An algorithm is a sequence of a finite number of steps arranged in a specific logical order,
which, when executed, produce the solution for a problem.
Algorithm: is an ordered sequence of unambiguous and well-defined instructions that performs some
task and halts in finite time.
Let's examine the four parts of this definition more closely:
1. An ordered sequence means that you can number the steps
2. Unambiguous and well-defined instructions mean that each instruction is clear, do-able, and can be
done without difficulty. : It must not be ambiguous. In most cases we develop an algorithm so that it
can be translated into a program to be executed by computers. Computers cannot cope with
ambiguities. Therefore, every step in an algorithm must be clear as to what it is supposed to do and
how many times it is expected to be executed.
3. Correctness: - performs some task. It must be correct and must solve the problem for which it is
designed.
4. Halts in finite time (algorithms should terminate): It must execute its steps and terminate in finite
time. An algorithm that never terminates is unacceptable.
Three Categories of Algorithmic Operations
In 1966 two researchers, C. Bohm and G. Jacopini, demonstrated that any algorithm can be described
using only three control structures:
 Sequence: instructions are executed in order.
 Selection: a control structure that asks a true/false question and then selects the text instructions
based on the answer.
 Repetition: a control structure that repeats the execution of a block of instructions.
How to represent algorithms?
Pseudo Coding and Flowcharting
Pseudo Coding:
Pseudo Code language is a semiformal, English-like language with a limited vocabulary that can be
used to design and describe algorithms. The main purpose of a pseudo code language is to define the
procedural logic of an algorithm in a simple, easy-to-understand manner for its readers, who may or
may not be proficient in computer programming languages. As you will see, a pseudo code for an
algorithm is ultimately implemented as a computer program. A program necessarily contains the
syntactical constraints of the programming language. A pseudo code language is a more appropriate
algorithm description language than any programming language.
A pseudo code language can be used for:
1. Designing algorithms
2. Communicating algorithms to users
57
3. Implementing algorithms as programs
4. Debugging logic errors in program
5. Documenting programs for future maintenance and expansion purposes
To succeed in accomplishing its objectives, a pseudo code language must meet these Requirements
1. Have a limited vocabulary
2. Be easy to learn
3. Produce simple, English-like narrative notation
4. Be capable of describing all algorithms, regardless of their complexity
Therefore, a pseudo code language must have constructs that correspond to these control structures in
its vocabulary. There are no universally accepted standards for a pseudo code language.
Example
Computing sales tax: pseudo-code the task of computing the final price of an item after in sales tax.
Note the three types of instructions: input (get), process/calculate (=) and output (display).
1. Get price of item
2. Get sales tax rate
3. Sales tax=price of item times sales tax
4. Final price=price of item plus sales tax
5. Display final price
6. Stop
Variables: price of item, sales tax rate, sales tax, final price
Note that the operations are numbered and each operation is unambiguous and effectively computable.
We also extract and list all variables used in our pseudo code. This will be useful when translating
pseudo code in to a programming language.
Pseudo code is a kind of structured English for describing algorithms. It allows the designer to focus
on the logic of the algorithm without being distracted by details of language syntax. At the same time,
the pseudo code needs to be complete. IT describes the entire logic of the algorithm so that
implementation becomes a role mechanical task of translation line by line into source code.
In general the vocabulary used in the pseudo code should be the vocabulary of the problem domain,
not of the implementation domain. The pseudo code is a narrative for someone who knows the
requirements (problem domain) and is trying to learn how the solution is organized.
The Sequence Control Structure
The sequence control structure is a series of steps or statements that are executed in the order in which
they are written in an algorithm.
The four statements in this pseudo code algorithm are executed one after another in the order in which
they are written. Sequence structures are essentially built into computers. Unless we use other control
structures, the computer executes all statements in a program one after another
read Product Unit Price
read Count
compute Total Price
print Total Price

58
Sometimes it is useful to mark the beginning and end of a block of statements in an algorithm. We will
use the keywords begin and end, as in the following example. You should note that the statements in
the block are indented to improve readability.
begin
read Product Unit Price
read Count
compute Total Price
print Total Price
end
Selection Control Structure
The selection control structure defines two courses of action, depending on the outcome of a condition.
A condition is an expression that, when evaluated computes to either true or false.
The selection structure requires the use of the keywords if, else, and end_if. The format follows.
if condition
then-part
else
else-part
end_if
The meaning of the selection structure is as follows: If the value computed for condition is true, the
statement make up the then-part are executed. Then the statement that follows the selection structure
in the pseudo code will be considered. If condition evaluates to false, the then-part will be bypassed
and the statements in the block called the else part will be executed. The then part and the else part can
each be a single statement or a series of statements. In the later case the statements must be enclosed in
blocks using the keyword begin and end. To indicate the end of a selection structure we will use the
keyword end_if.
For example, we will find greatest among two numbers: Let us consider two person’s salary and we
want to find out who is getting more salary. Following is the selection sequence for this problem
if person1_salary is less than person2_salary
begin
Print “person2 salary is more the person1”.
end
else
begin
Print “person1 salary is more than person2”.
end
end_if
The Repetition Control Structure
The repetition control structure specifies a block of one or more statements that are repeatedly
executed until a condition is satisfied.
A repetition (or iteration) control structure enables us to define loops, which are repeated executions of
blocks of statements. Several forms of repetition control structures can be used in algorithm design. To
keep things simple, we will describe only one of them here: the while repetition structure. The format
of the while repetition structure
While condition
loop-body
59
end_while
Here loop-body is a single statement or a block of statements that is executed as long as the condition
written after the keyword while is true. The keyword end_while indicates the end of the repetition
structure. The repeated execution of loop-body terminates when the condition becomes false.
Obviously, something in the loop body must change a component of the condition so that it eventually
becomes false and the algorithm control drops out of loop-body. Otherwise, we will have a perpetual
loop (or infinite loop), and the algorithm will never terminate. It is the responsibility of the algorithm
designer to make sure that the algorithm is not caught in a perpetual loop. Following is an example of
the while repetition structure.
This example is for printing the numbers from 0 to 9
Set count to 0
while count is less than 10
print count
increment count by one
end_while
Flow Charts
A flowchart is a graph consisting of geometrical shapes that are connected by flow lines.
The geometrical shapes in a flowchart represent the types of statements in an algorithm. The details of
statements are written inside the shapes. The flow lines show the order in which the statements of an
algorithm are executed.

Symbol Name Use


Terminal Indicates the beginning and end of a program

Process A calculation or assigning of a value to a variable

Input/Output Any statement that causes data to be input to a


(I/O) program (INPUT, READ) or output from the
program such as printing on the display screen
or printer
Decision Program decisions. Allows alternate courses of
action based on a condition. A decision indicates
a question that can be answered yes or no (or
true or false)
Predefined A group of statements that together accomplish
Process one task. Used extensively when programs are
broken into Modules

60
Connector Can be used to eliminate lengthy flow lines. Its
use indicates that one symbol is connected to
another

Flow lines and Used to connect symbols and indicate the


Arrowheads sequence of operations. The flow is assumed to
go from top to bottom and from left to right.
Arrowheads are only required when the flow
violates the standard direction

Here example for Flow Chart – Total Price of Sales

Start

Input Unit
Price

Input Count

Compute Total Price =


Unit Price * Count

Print Total
Price

Stop

61
Flowchart for Sequence structure

Statement_1 Statement_2 Statement_n

Flowchart for Selection structure Flowchart for Repetition Structure

false true
Condition true
Condition Loop-body
Else-part Then-part

false

Although, like pseudo coding, flowcharting is useful for algorithm design and representation, it has
certain disadvantages that pseudo coding doesn't have. For large algorithms, flowcharts tend to
become excessively large. As a result, they are quite difficult to read and the algorithm is hard to
understand. Also, drawing detailed flowcharts for large algorithms is tedious and time-consuming.
Therefore, it is not recommend using flowcharts as an algorithm design and documentation tool.
Implementation
The next step in the software development method is the implementation of the algorithm in a
programming language. During implementation we translate each step of the algorithm into a
statement in that particular language and end up with a computer program. Therefore, we can define a
computer program as follows
A computer program is a sequence of a finite number of statements expressed in a programming
language in a specific logical orders that, when executed; produce the solution for a problem.
To translate the pseudo code algorithm of our example (Finding Total Price), into a C++ program that
can be compiled and executed on a computer; we must know at least a small subset of the C++
language. Once you develop the ability to design algorithms, writing programs for them is quite easy
Programming Errors
Another challenge that awaits you as a problem solver is program debugging. Debugging is the
process of finding and correcting errors in computer programs. No matter how careful you are as a
62
programmer, most programs you write will contain errors. Either they won't compile or they won't
execute properly. This situation is something that happens very frequently to every programmer. You
should take program debugging as a challenge, develop your debugging skills, and enjoy the process.
Program debugging is another form of problem solving
There are three types of programming errors:
1. Design errors
2. Syntax errors
3. Run-time errors
Design Errors occur during the analysis, design, and implementation phases. We may choose an
incorrect method of solution for the problem to be solved, we may make mistakes in translating an
algorithm into a program, or we may design erroneous data for the program. Design errors are usually
difficult to detect. Debugging them requires careful review of problem analysis, algorithm design,
translation, and test data.
Syntax Errors are violations of syntax rules, which define how the elements of a programming
language must be written. They occur during the implementation phase and are detected by the
compiler during the compilation process. In fact, another name for syntax errors is compilation errors.
If your program contains violations of syntax rules, the compiler issues diagnostic messages.
Depending on how serious the violation is, the diagnostic message may be a warning message or an
error message. A warning message indicates a minor error that may lead to a problem during program
execution. These errors do not cause the termination of the compilation process and may or may not be
important. However, some warning diagnostics, if unheeded, may result in execution errors.
Therefore, it is good practice to take warning message seriously and eliminate their causes in the
program. If the syntax violation is serious, the compiler stops the compilation process and produces
error messages, telling you about the nature of the errors and where they are in the program. Because
of the explicit help we get from compilers, debugging syntax errors is relatively easy.
Run-time Errors are detected by the computer while your program is being executed. They are caused
by program instructions that require the computer to do something illegal, such as attempting to store
inappropriate data or divide a number by zero. When a run-time error is encountered, the computer
produces an error message and terminates the program execution. You can use these error messages to
debug run-time errors.
Testing and Verification
After you translate a designed algorithm into a C++ program and compile it, you are ready to run it. In
this phase your main objective is to convince yourself — and eventually your clients — that the
program will do what it is expected to do. In other words, you will want to verify that your program is
correct.
Program Verification is the process of ensuring that a program meets user requirements.
One of the techniques that can be used for program verification is Program Testing.
Program Testing is the process of executing a program to demonstrate its correctness.
When you begin testing your program, you may come across some run-time errors. Naturally, you
debug them and run your program again. However, even output that seems correct is not a guarantee
that your program is completely correct. A program must be tested using a sufficiently large sample of
carefully designed test data sets such that every logical path in the program is traversed at least once. If
your program contains conditional executions of blocks of code, a single test data set may not cause all
program statements to be executed. You must continue to test your program until you are sure that all
statements in it are functioning correctly.
63
Program Documentation
Now that you have a working, tested program you are tempted to call it quits and look for new
challenges. Please don't. For several reasons, you are not done yet:
 You are likely to return to this program sometime in the future to use it again, or you may want to
use part of it in developing the solution for a similar problem.
 If you have developed this program for a client's use, he or she will need some information so that
in your absence the program can be used.
 If you are working for a company and have developed this program for the company's software
library, some other programmer may be assigned to maintain it or to make additions to it.
 You may eventually discover some errors in the program, and you may be required to correct
them.
The significance of proper program documentation in the software life cycle cannot be
overemphasized. Program documentation consists of these elements:
 A concise requirements specification.
 Descriptions of problem inputs, expected outputs, constraints, and applicable formula
 A pseudocode or flowchart for its algorithm.
 A source program listing.
 A hard copy of a sample test runs of the program.
 A user's guide explaining to non programmer users how the program should be used.

Quality of Software Development


The need for good quality programming is greater than ever for the economic production of correct
programs. This only comes from good program design.
The aims of program design include:
1. Reliability: - The program should always do what it is supposed to do and handle all types of
exceptional circumstances.
2. Maintainability: - The program should be easily modified when the need arises.
3. Portability: - The program should be used on different computers with minimum modification.
4. Efficiency: - The program should make optimal use of time and space resources.

64
CHAPTER – SIX
Basic Concepts of Information Systems

6.1 Overview of Information System

How and when companies and organizations use technology are critical to remaining competitive.
Computer and information systems managers play a vital role in the technological direction of their
organizations. They do everything from constructing the business plan to overseeing network security to
directing Internet operations. These managers plan and coordinate activities such as installation and
upgrading of hardware and software, programming and systems design, development of computer
networks, and implementation of Internet and intranet sites. Generally, they are increasingly involved
with the upkeep, maintenance, and security of networks.

As a knowledge worker of the future, computers and information system will help you be
more effective and productive, no matter what profession you choose. And here is the core
value of IS knowledge in different careers as follow.

65
6.2Introduction to Information Systems

6.2.1 Information systems and the managerial End user


I Basic Definitions
Before going into any details, it is desirable to define some key terms so we can communicate
effectively.

1. Information
- Information is data that has been processed into a form that is meaningful to the recipent and is of real
perceived value in current or prospective decisions.
 This defintion stresses the fact that data must be processed in some way to produce information.
 It also shows the distinction between data and information
 Data is defined as raw facts or observations, typically about physical phenomena or
business transactions.
Example.
$ 35,000 35 units sales person : J. Jones
$ 12,000 Sales Teritory: Western
Data
J. Jones Region
Processing
Western Region
$ 100,000 100 Current sales:
units 147
12 units units=$147,000

Data Information

66
 Information is data that has been put into a meaningful and useful context for specific end
users. This gives the information value for specific persons and meets their particular
information needs.
- From another perspective, information is defined as: some tangible or intangible entity that reduces
uncertainty about some state or event by inreasing the recipents knowledge.

2. Informtion system
- An information system is a set of people, procedures, and resources that collects, transforms, and
disseminates information in an organization.
- Today's organizations rely on many types of information systems. They include:
 Simple manual (Paper- and- pencil) information systems
 Informal information systems (Word- of- mouth)
 Computer - based information systems that use hardware, software, and people
resources to transform data resources into information products for end users.
3. Management Information systems
- There is no consensus on the definition of the term MIS.
- MIS is an integrated, user-machine system for providing information to support operations,
management, and decision making functions in an organazation. The system utilizes computer
hardware and software, manual procedures, models for analysis, planning, control and decision
making, and a database.
4. End user
An end user is any one who uses an information system or the information it produces. This usually
applies to most people in an organization as distinguished from the smaller number of people who are
information specialists, such as system analysts or programmers.

5. Managerial end user


- A managerial end user is a manager, entrepreneur, or managerial-level professional who personally uses
information systems.

II Information systems and society


Information is a basic resource that individuals and organizations must have to survive and
succeed in today's society. We are living in an information society whose economy is heavily dependent
on the creation, management, and distribution of information resources. We no longer live in
 An agricultural society composed primarily of farmers or

67
 Industrial society where majority of the work force consists factory workers.

The workforce today consists mainly of workers in service occupations or knowledge workers, that
is, people who spend most of their workday creating, using, and distributing information. The category of
knowledge workers includes executives, managers, and supervisors; professionals such as accountants,
engineers, scientists, stockbrokers, and teachers, and staff personnel such as secretaries and clerical office
personnel.

These people all make their living using information systems to create, distribute, manage, and use
information resources, which are then used to help them manage the human, financial, material, energy,
and other resources involved in their work responsibilities.
Information, then, is a valuable commodity to knowledge workers, their organization, and society.
A major challenge for the information society is to manage its information resources to benefit all
members of society.

III. Information systems and organizations


Information and information systems are also valuable organizational resources that must be
properly managed for an organization to succeed. That's because organizations are faced with continual
changes in the size, complexity, and scope of their operations.
For organizations information systems represent:
 A major part of the resources of an organization and its cost of doing business, thus
posing a major resource management challenge.
 An important factor affecting operational efficiency, employee productivity and morale,
and customer service and satisfaction.
 A major source of information and support needed to promote effective decision
making by managers.
 An important ingredient in developing competitive products and services that gives an
organization a strategic advantage in the market place.
 A vital, dynamic, and challenging career opportunity for millions of men and women.

IV What Managerial end users need to know


The following framework outlines what a managerial end user needs to know about information
systems. It emphasizes that you should concentrate your efforts in five areas of knowledge:

68
 Foundation concepts: The managerial end user needs to have knowledge of the generic
components and properties of information systems, which requires an understanding of some
basic concepts in general systems theory and information processing.
 Development: How should managerial end users or information specialists develop
information systems solutions to business problems? To answer this question, you should
learn some basic problem solving and developmental concepts. One should understand how
methodologies such as the systems approach, the systems development life cycle, and
prototyping could be used to construct information systems applications that successfully meet
end user and organizational needs.
 Technology: In this area, they should have an understanding of major concepts,
developments, and management issues in information technology, i.e. Hardware, Software,
Telecommunications and Database management
 Applications: They should gain a basic understanding of information systems concepts and
applications in areas such as end user computing, office automation, transaction processing,
information reporting, decision support, executive support and artificial intelligence.
 Management: This area requires understanding the major challenges and methods involved in
managing the resources, technologies, and activities of information systems. More
specifically, we should understand concepts such as information resource management and
information systems planning, implementation, and control.

6.2.3 Fundamental Information system concepts

Knowledge of systems concepts is vital to a proper understanding of the development, technology,


applications, and management of information systems.

A) What is a system?
A system is a group of interrelated components working together toward a common goal by accepting
inputs and producing outputs in an organized transformation process.
Such a system has three basic interacting components or functions: input, processing, and output.

Input Processing Out put

Examples include
* Manufacturing system.

69
Raw material Mgt. process Finished products

* An Information system

Data resources Processing data into


information Information products

The systems concept can be made even more useful by including two additional components: feedback
and control.

 Such a system (a system with feedback and control) is sometimes called a cybernetic system,
i.e. a self-monitoring, self-regulating system.
 Feedback is data about the performance of a system. For example, data about sales
performance is feedback to a sales manager.
 Control is a major system function that monitors and evaluates feedback to determine whether
the system is moving toward the achievement of its goal. It then makes any necessary
adjustments to the input and processing components of the system to ensure that proper output
is produced.
 The following figure illustrates a generic concept of a system incorporating feedback and
control components and exchanging inputs and outputs with its environment.

Environment

Feeedbac Feedbac
Control
k k
signals signals
Contro Feedback Control
l signals signals
signals

Control
signals
Input Output
Processin
g

System boundary

70
Other systems

Feedback is frequently included as part of the concept of the control function because of the essential role
feedback plays in control.
 Positive feedback- a system performing properly generates positive feedback.
 Negative feedback- a system whose performance is deteriorating or deviating from the attainment
of its goal. In the real world, performance of most systems tends to deteriorate over time. This
characteristic is called entropy – the tendency of a system to lose its homeostatis, that is, a
relatively stable state of equilibrium. Thus, the function of control is to reverse the entropy and
maintain the equilibrium of a system through a variety of corrective actions.
B) Other system characteristics
The figure provided above points out several other characteristics important to understanding information
systems.
 A system does not exist in a vacuum; rather, it exists and functions in an environment
containing other systems.
 If a system is one of the components of a larger system, it is called a subsystem, and the larger
system is its environment.
 Also, a system is separated from its environment and other systems by its system boundary.
 The interconnections and interactions between the subsystems are termed interfaces. Interfaces
occur at the boundary and take the form of inputs and outputs.
 The figure also illustrates the concept of an open system, which is a system that exchanges
information, material, energy etc. with its environment.
 If a system has the ability to change itself or its environment in order to survive, it is known as
an adaptive system.
C) A business as a system

A business firm is an open, adaptive organizational system operating in a business environment. A


business consists of the following interrelated system components:
 Input: Economic resources such as people, money, material, machines, land, facilities,
energy, and information are acquired by a business from its environment and used in its
system activities.
 Processing: Organizational Processes such as marketing, manufacturing, and finance
transform input into output.
71
 Output: goods and services, payments to employees and suppliers, dividends, taxes,
and information are all outputs produced by a business and exchanged with or
transferred to its environment.
 Feedback: A primary role of information systems is serving as the feedback
component of an organizational system. They provide information to management
concerning the performance of the organization.
 Control: management is the control component of an organizational system.
- Managers control the operations of a business so that its performance meets
organizational goals such as profitability, market share, and social responsibility.
- Feedback about organizational performance is compared to standards of
performance established by management. Management then makes decisions to
adjust performance to meet organizational goals.
D) Information system concepts.
 In section 1, we said that an information system is
- A set of people, procedures, and resources
- that collects, transforms, and disseminates information in an organization.
 In this section, we said that an information system is a system that
- accepts data resources as input, and
- processes them into information as output.
 How does an information system accomplish this? What system components and activities are
involved?
 An information system model
- An information system uses the resources of hardware (machines and media), software
(programs and procedures), and people (specialists and end users) to perform input,
processing, output, storage, and control activities that convert data resources into
information products.

72
People Resources: End users and IS
Hardware Resources: Machines & Media
specalists

Software Resources: Programs and


Control of system
performance

Input Processin Output

procedures
of data g of
Resourc data Informati
es into on
Informati products
on

Storage of Data
Resources
Data Resources: Data, Model, Knowlege
Bases
Figure: An Information system model

This model provides a conceptual framework that emphasizes four major concepts that can be applied to
all types of information systems.

1. People, hardware, software, and data are the four basic resources of information systems.
2. People resources include end users and IS specialists, hardware resources include machines
and media, software resources include both programs and procedures, data resources include
data, model, and knowledge bases.
3. Data resources are transformed by information processing activities into a variety of
information products for end users.
4. Information processing consists of input, processing, output, storage, and control activities.
 Environment: As mentioned before, a business is an open, adaptive system that shares inputs
and outputs with other systems in its environment.
- A business must maintain appropriate resources with other economic, political, and
social systems in its environment.
- This group includes its stakeholders, such as customers, suppliers, competitors, labor
unions, financial institutions, governmental agencies, and the community.

73
D.1. Information system activities
The basic information processing activities that occur in information systems include:
 Input of data resources
- Data about business transactions and other events must be captured and prepared for
processing by the basic data entry activities of recording and editing.
- End users typically record data about transactions on some type of physical medium
such as paper form or enter it directly into a computer system.
- This usually includes a variety of editing activities to assure they have recorded data
correctly.
 Processing of data into information
- Data is manipulated by such activities as calculating, comparing, sorting, classifying,
and summarizing. These activities organize, analyze, and manipulate data, thus
converting it into information for end users.
- The quality of any data stored in an information system must also be maintained by a
continual process of correcting and updating activities.

For Example
Data received about a purchase can be
- Added to a running total of sales results,
- Compared to a standard to determine eligibility for a sales discount,
- Sorted in numerical order based on product identification numbers
- Classified into product categories (Such as food and nonfood items)
- Summarized to provide a sales manager with information about various product categories
and finally,
- Used to update sales records.

 Output of information products


- Information in various forms is transmitted to end users and made available to them in
the output activity.
- Common information products are video displays, paper documents, audio responses
that provide us with messages, forms, reports, listings, etc.
 Storage of data resources.
- storage is a basic system component of information systems
- storage is an IS activity in which data and information are retained in an organized
manner for later use.
- Stored data is commonly organized into fields, records, files, and databases.
74
 Control of system performance
- An information system should produce feedback about its input, processing, output, and
storage activities.
- This feedback must be monitored and evaluated to determine if the system is meeting
established performance standards.
- Then appropriate system activities must be adjusted so that proper information products
are produced for end users.
D.2. Information System Resources
An information system consists four major resources:
i) Hardware Resources
- The concept of hardware resources includes all physical devices and materials used in
information processing.
- It includes machines and media
- Examples
 Large mainframe computers, minicomputers microcomputers
 Telecommunication networks.
 Computer peripherals
ii) Software Resources
- Include all sets of information-processing instructions.
 Programs- operating instructions which direct and control hardware
 Procedures-information processing instructions needed by people.
Example of software
- System software, such as an operating system program, which manages the operations
of a computer system.
- Application software, which are programs that direct processing for a particular use of
computers by end users.
- Procedures - operating instructions for people.
iii) People Resources
- People are required for the operation of all information system. These resources
include:
 Specialists- people who develop and operate information systems. They include system
analysts, programmers, and computer operators.
 End users- anyone else who uses information systems. These can be accountants, sales
persons, engineers, customers, or managers.
iv) Data Resources

75
The data resources of information systems are typically organized into:
- Databases- which hold, processed and organized data.
- Model bases- which hold conceptual, mathematical, and logical models that express
business relationships, computational routines, or analytical techniques
- Knowledge bases- which hold knowledge in a variety of forms such as facts about a
specific subject area and rules of inference about various subjects.
Data can take many forms:
 Alphanumeric data- composed of numbers and alphabetical and special characters
that describe business transactions and other events and entities.
 Text data - consisting of sentences and paragraphs used in written communication.
 Image - graphic shapes and figures
 Video data - data presented for viewing by a variety of video display devices.
 Audio data - the human voice and other sounds.
 Tactile data - generated by touch - sensitive materials
 Sensor data - provided by a variety of sensors used in the control of physical
processes.
Data resources are typically recorded and stored on several types of data media. Examples:
- Paper documents -magnetic disks - magnetic tape
- Optical disks - microfilms - electronic circuit chips

6.3 IS building blocks


Information System Architecture provides a unified frame work into which various peoples with
different perspectives can organize and view the fundamental building blocks of information systems
here as table below.

Stakeholders/Focus Focus on Data Focus on Process Focus on Interface


System Owners System Owners’ view System Owners’ view System Owners’ view
of the data of the process of the Interface
System Users System Users’ view System Users’ view System Users’ view
of the Interface of the Interface of the Interface
System Designers System Designers’ System Designers’ System Designers’
view of the Interface view of the Interface view of the Interface
System Builders System Builders’ System Builders’ System Builders’
view of the Interface view of the Interface view of the Interface

The Data Focus:


1) System Owners’ Perspective: Business knowledge is the insight that is gained from timely,
accurate and relevant information.(NB: information is a product of raw data)
2) System Users’ Perspective: Data requirements are a representation of users’ data.
3) System Designers’ Perspective: The database schema.
4) System Builders’ Perspective: The Database Management System.

76
The Process Focus:
1) System Owners’ Perspective: Business functions are ongoing activities that support the
business. Functions are decomposed into processes that do specific tasks.
2) System Users’ Perspective: Process requirements are a representation of users’ business
processes in terms of activities data flows or work flow.
3) System Designers’ Perspective: An application schema a model that communicates how
selected business processes are implemented using the software and hardware.
4) System Builders’ Perspective: Application are language based, machine based
representations of what a software process is supposed to do.
The Interface Focus:
1) System Owners’ Perspective: List of business locations and systems.
2) System Users’ Perspective: Interface requirements are a representation of the users’ inputs
and outputs.
3) System Designers’ Perspective: User dialogues describe how the user moves from window-
to-window, interacting with the application programs to perform useful work.
4) System Builders’ Perspective: Middleware is a layer of utility software that sites in between
application and system software to transparently integrate differing technologies so that they
can interoperate.

6.4 IS development phases


Organizations must learn how to build and implement systems to remain competitive. Software that is
built correctly can support agile organizations and can transform as the organization and its business
transforms. Software that effectively meets employee needs will help an organization become more
productive and enhance decision making. Software that does not meet employee needs may have a
damaging effect on productivity and can even cause a business to fail. Employee involvement along with
using the right implementation methodology when developing software is critical to the success of an
organization.
The Systems Development Life Cycle (SDLC) is the overall process IS development phases for
developing information systems from planning and analysis through implementation and maintenance.
The SDLC is the foundation for all systems development methodologies and there are literally hundreds
of different activities associated with each phase in the SDLC.
Phase 1: Planning: The planning phase involves establishing a high-level plan of the intended project
and determining project goals.
Planning is the first and most critical phase of SDLC with its three primary activities involved:
1) Identify and select the system for development.
2) Assess project feasibility.
3) Develop the project plan.

Phase 2: Analysis: The analysis phase involves analyzing end-user business requirements and refining
project goals into defined functions and operations of the intended system. A good start is essential and
the organization must spend as much time, energy, and resources as necessary to perform a detailed,
accurate analysis.
The three primary activities involved in the analysis phase are:
1) Gather business requirements.
2) Create process diagrams.
3) Perform a buy versus build analysis
Phase 3: Design: The design phase involves describing the desired features and operations of the
system including screen layouts, business rules, process diagrams, pseudo code, and other documentation.
77
The two primary activities involved in the design phase are:
1) Design the IT infrastructure.
2) Design system models.

Phase 4: Development: The development phase involves taking all of the detailed design documents
from the design phase and transforming them into the actual system.
The two primary activities involved in the development phase are:
1) Develop the IT infrastructure.
2) Develop the database and programs.

Phase 5: Testing: The testing phase involves bringing all the project pieces together into a special
testing environment to test for errors, bugs, and interoperability, in order to verify that the system meets
all the business requirements defined in the analysis phase.
The two primary activities involved in the testing phase are:
1) Write the test conditions.
2) Perform the system testing.

Phase 6: Implementation: The implementation phase involves placing the system into production so
users can begin to perform actual business operations with the system.

The two primary activities of the implementation phase include:


1) System Training
2) Implementation Method

Phase 7: Maintenance: The maintenance phase involves performing changes, corrections, additions,
and upgrades to ensure the system continues to meet the business goals.
This phase continues for the life of the system because the system must change as the business evolves
and its needs change, demanding constant monitoring, supporting the new system with frequent minor
changes (for example, new reports or information capturing), and reviewing the system to be sure it is
moving the organization toward its strategic goals.

The three primary activities involved in the maintenance phase are:


1) Build a help desk to support the system users.
2) Perform system maintenance.
3) Provide an environment to support system changes.

6.5 IS development methodologies


One of the most well-known notions in the area of Information Systems Development is “Methodology”.
The notion of “methodology” was very vigorous during the 70s and until the end of the 80s. During all this
period, a large volume of research work was done, which was mainly focused on the debate between two
opposite schools: the school of the “hard” approach and the school of the “soft” approach to Information
Systems Development.

78
Trying to present some information about the conceptual abstraction of “methodology”, there are two points
of view:
 One is to give a definition. In fact, there is no single definition of methodology and, to
make things worse, the existing definitions seem not even to be compatible one to another.
 Second is to give some characteristics of a methodology, characteristics that are common to
all (or, at least, most of) the existing methodologies and affect their use.
A system development methodology refers to the framework that is used to structure, plan, and control
the process of developing an information system. A wide variety of such frameworks have evolved over
the years, each with its own recognized strengths and weaknesses. Hence in IS development
methodologies we have two basic fame works linear and iterative:

Acceptable System Development Methodologies:

 Waterfall:
Framework Type: Linear
Basic Principles:
1. Project is divided into sequential phases, with some overlap and splashback acceptable
between phases.
2. Emphasis is on planning, time schedules, target dates, budgets and implementation of an
entire system at one time.
3. Tight control is maintained over the life of the project through the use of extensive written
documentation, as well as through formal reviews and approval/signoff by the user and
information technology management occurring at the end of most phases before beginning
the next phase.
Strengths:
1. Ideal for supporting less experienced project teams and project managers, or project teams
whose composition fluctuates.
2. The orderly sequence of development steps and strict controls for ensuring the adequacy of
documentation and design reviews helps ensure the quality, reliability, and
maintainability of the developed software.
3. Progress of system development is measurable.
4. Conserves resources.

Weaknesses:
1. Inflexible, slow, costly and cumbersome due to significant structure and tight controls.
2. Project progresses forward, with only slight movement backward.
3. Little room for use of iteration, which can reduce manageability if used.
4. Depends upon early identification and specification of requirements, yet users may not be able
to clearly define what they need early in the project.
 Prototyping:
Framework Type: Iterative
Basic Principles:
1. Not a stand handling selected portions of a larger, more traditional development
methodology Incremental, Spiral, or Rapid Application Development (RAD)).
2. Attempts to reduce inherent project risk by breaking a project into providing more
ease-of-change during the development process.

79
3. User is involved throughout the process, which increases the likelihood of user
acceptance of the final implementation.
Strengths:
1. Addresses the inability of many users to specify their information needs, and the difficulty
of systems analysts to understand the user’s environment, by providing the user with a
tentative system for experimental purposes at the earliest possible time.”
2. “Can be used to realistically model important aspects of a system during each phase of the
traditional life cycle.”
3. Improves both user participation in system development and communication among project
stakeholders.
Weaknesses:
1. Approval process and control is not strict.
2. Requirements may frequently change significantly.
3. Identification of non-functional elements is difficult to document.

80

You might also like