0% found this document useful (0 votes)
19 views

Intro - To Computer

This document provides an introduction and overview of a course on computer applications. The course consists of 6 units that cover topics like the organization of computer systems, computer architecture, data communication and networks, and problem solving using computers. The objective of the course is for students to demonstrate a practical understanding of computers, data communication networks, and problem solving techniques using computers. The document then provides more details on the individual units and chapters that make up the course.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Intro - To Computer

This document provides an introduction and overview of a course on computer applications. The course consists of 6 units that cover topics like the organization of computer systems, computer architecture, data communication and networks, and problem solving using computers. The objective of the course is for students to demonstrate a practical understanding of computers, data communication networks, and problem solving techniques using computers. The document then provides more details on the individual units and chapters that make up the course.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 57

Course introduction

Dear learner, welcome to the course introduction to computer application. This course will enable you to understand the basic
knowledge and skills of computer.
The types of courses are listed below. So you are expected to read the notes and practice the activities carefully. This course is
composed all units. These are
Unit 1: Introduction to Computer
Unit 2: Organization of a computer system
Unit 3: Computer Architecture and Data Representation
Unit 4: Data Communication and Networks

Unit 5: Problem Solving Using Computers


Unit 6: Basic Concepts of Information Systems

Course objective
After studying and up on combination of these course students should be able to

 Will be demonstrating how a practical understanding of computer and demonstrate the data communication networks
and problem solving using computers.

Icons and what they indicate

Icon What indicates


Type
 Indicates pre test
 Indicates post test
 Indicates check lists that enables you trace understanding of
unit concept
 Indicates answer to questions
 Indicates activities to be answered by student
 Indicates assignments to be answered
! Indicates important points need emphasis

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
Dear learner!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
Dear learner!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.

0
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 andDecision-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 cannot 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

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 asInformation 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.
Dear student explain how data convert into information?
1.1.2. Information Technology
Dear student!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)
Technological convergence: is derived from a combination of two recent technologies: computers and communications.

1
 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
Dear learner!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?
Dear learner!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.
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.

2
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 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 timeare microseconds (10-6 second),
nanoseconds (10-9        second) or even picoseconds (10-12). A powerful computer is capable of performing several billion (10 9)
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.
3
 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:-
 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 EdvardScheutz 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
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.
4
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 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 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).

5
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 Elements Storage Languages Operating Access Time
Devices Systems
First 1950s Vacuum Tubes Punched Machine Operator 1 Millisecond
Cards &Assembly controlled
Second 1959- Discrete Magnetic COBOL Batch 10Microsecon
1964 transistors tape FORTRAN ds
Third 1965- IC Magnetic Structured Interacti 1nanoseconds
1970 disk language ve
Fourth Late VLSI Mass Applications Virtual 100nanosecon
1970s Storage oriented ds
1.2.4. Types of computer
Dear learner!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 compete 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 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.
6
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.
Checklist
You have know complete the first unit and you need to check whether have understood the basic concept in this unit. Try all the
questions and if answer all questions go to the next unit. If not you have to go back and read the appropriate section again until you
grasp the important points.
Chapter Questions
1. What is the difference between data and information?
2. Write a concise definition of the term "computer".
3. List at leastfour 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

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
Dear learner!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

Dear learner!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.

7
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.

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

8
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


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

The Computer Case Keyboard


The computer case houses all the major components of the
Mouse
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 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 (AcceleratedGraphicsPort) 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 USBPort 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.

9
Storage Unit

Secondary Storage
Input Unit Output Unit
Program and Data Information
(Results)

Primary Storage

Indicates flow of instructions and dat


Control Unit

Arithmetic Logic Unit Indicates the control exercised by th


        Central Processing Unit
(CPU)

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.
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.

10
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.

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. 
11
 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 printersare 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 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.

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
12
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 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


13
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. Documents created using application software may also be placed on hard disk drives.
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 Write-protect Window
surfaces of a thin, flexible disk inside a protective plastic cover.
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 3 ½”, 1.44MB
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

Operating
E.g. system software
Language software
Windows 2000
Unix

14
e.g.
Visual Basic
Java

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
 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:

15
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
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.
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.

16
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 code
(Assembly Langrage) (Machine Code)

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
o It is usually unique to a particular computer series
oIt 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 without 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.

17
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.

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 ColumbiaUniversity 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

18
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.
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 wormis 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 CornellUniversity that traveled
through an e-mail network and shut down thousands of computers around the country.
A virusis 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.
 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
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.

19
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 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
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.
Input / Output (I/O)
Execution of Instruction
At the machine level execution of instruction has two phases;

 Instruction phase (I-phase)

20
 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.
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.

21
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
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,

22
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.
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
2 4
23
2 2
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
4. Logic Gates and Boolean Algebra

23
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 (Output) A
0 0 0 Y
0 1 1
bbbbbb
1 0 1
1 1 1
OR GATE OR Gate symbol
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)
0 0 0 A
0 1 0
1 0 0 Y
1 1 1
B
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

24
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)
0 0 1
NOR Sign 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
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
B B
table are shown below.

Y = AB A B Y (Output)
0 0 1
NAND Sign 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
1 0 1
Ex-OR sign
1 1 0

XOR GATE Input Output


A

Y Y = AB + AB

B 25
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 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

26
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
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

27
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
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

28
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-8 Character ASCII-8 Character ASCII-8

A 0100 0001 N 0100 1110 0 0011 0000

B 0100 0010 O 0100 1111 1 0011 0001

C 0100 0011 P 0101 0000 2 0011 0010

D 0100 0100 Q 0101 0001 3 0011 0011

E 0100 0101 R 0101 0010 4 0011 0100

F 0100 0110 S 0101 0011 5 0011 0101

G 0100 0111 T 0101 0100 6 0011 0110

H 0100 1000 U 0101 0101 7 0011 0111

I 0100 1001 V 0101 0110 8 0011 1000

J 0100 1010 W 0101 0111 9 0011 1001

K 0100 1011 X 0101 1000 ; 0011 1011

L 0100 1100 Y 0101 1001

M 0100 1101 Z

CHAPTER 4
DATA COMMUNICATION AND NETWORKS
Chapter Contents
4. Data Communication and Networks
4.1. Basic Concepts
4.2. Types of Networks and Topologies
4.3. Media of the Networks

Chapter Objectives
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

29
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 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)
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.

30
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
 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

31
 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.

5. 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

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.
 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.
32
 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:
 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.

33
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.

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.

34
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.

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 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.

35
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 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.

36
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.

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

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.

37
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: [email protected]

UNIT 5

PROBLEM SOLVING USING COMPUTERS

Dear learner! How can you define problem?

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.

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

38
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.

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 Specification Analysis Design 39


Requirements Specification Testing and Verification
Implementation
Documentation
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

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:

40
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
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

41
read Product Unit Price
read Count
compute Total Price
print Total Price

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

42
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 program (INPUT,


READ) or output from the program such as printing on the display
(I/O)
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 Process A group of statements that together accomplish one task. Used
extensively when programs are broken intoModules

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 sequence of operations. The
Arrowheads 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

43
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

44
Flowchart for Sequence structure

Statement_1 Statement_2 Statement_n

Flowchart for Selection structure Flowchart for Repetition Structure

false true
Condition true
Condition Loop-bod
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 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

45
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.

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.

46
 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.

                             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
informationsystemsmanagers 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 systemsdesign, development of computer
networks, and implementation of Internet and intranet sites. Generally, they are increasingly involved with the upkeep,
maintenance, and security of networks.

What is an Information System?

Combinations of hardware, software, and


telecommunications networks that people build and use
to collect, create and distribute useful data, typically in
Control of System Performance
organizational settings.

Input of Output of
Processing
Data Informatio
Data
Resources Products

Storage of Data Resources


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.

47
W
I
U
g
/
D
C
b
p
,
M
R
H
A
F
m
u
f
S
c
y
l
a
s
v
n
i
o
t
r
e
h
d
1.


6.2 Introduction to Information Systems
6.2.1 Information systems and the managerial End user
I Basic Definitions

Example.

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

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

Jones

$ 35,000
$ 12,000
Data is defined as raw facts or observations, typically about physical phenomena or business transactions.

35 units

Western Region
$ 100,000


J.

100 units
Data 12 units
Data
Processing
sales person : J. Jones
Sales Teritory: Western
Region

Current sales:
147
Information
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.
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.

48
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
 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 staffpersonnel
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:
 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
49
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.

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 environmen

Environment

50
Control signals

Processing

System boundary
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.
 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

51
- 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.

People Resources: End users and IS


Hardware Resources: Machines & Media

Software Resources: Programs and


procedures
Control of system

Input Processing Output


of data data of
Resource into Informatio
Informatio n products

Storage of Data

Figure: An Information systemData


modelResources: Data, Model, Knowlege
Bases
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.
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.

52
 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 responsesthat 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.
 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

53
- 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
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 of the System Owners’ view of the System Owners’ view of the
data process Interface
System Users System Users’ view of the System Users’ view of the System Users’ view of the
Interface Interface Interface
System Designers System Designers’ view of System Designers’ view of System Designers’ view of
the Interface the Interface the Interface
System Builders System Builders’ view of the System Builders’ view of the System Builders’ view of the
Interface Interface 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.

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.

54
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.
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

55
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.

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.
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.

56

You might also like