Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Study Material

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 53

STUDY MATERIAL

COMPUTER FUNDAMENTALS
 17 MARKS IN Artificial Intelligence [ ARTI ] ---- CLASS XI
 17 MARKS IN DATA SCIENCE [ DTSC ] ---- CLASS XI
 MAY ALSO BE USED BY STUDENTS OF COMA AND COMS

Syllabus for Section 1 : Computer Fundamentals [ 17 Marks ] -ARTI & DTSC


 History of computer ,Basic Computer hardware, input and output devices, Basic Computer
architecture , Memory and CPU , Networking of Machines ( overview of LAN , MAN ,
WAN , Internet , Wifi etc ) , types of computer (workstation, desktop, smartphone, embedded
system etc.), Overview of software ( system software and Application software with
examples ), Definition of Operating
system and functions.
 Bit,Byte and Word, Number system ( Base, Binary , Decimal , Octal , Hexadecimal),
Conversion of Number systems , Boolean Logic ( Boolean gates ) , Boolean operators,
ASCII code , Concept of Algorithm and Flowchart.
 Basics of Computer Programming ( three levels: high level language , assembly language ,
machine language , definition and block diagrams ) , overview of compiler and interpreter
(definition and mention names of major compiled and interpreted languages ) , overview of
procedural and object-oriented programming( key features and just the basic differences ,
mention names of some popular procedural and object-oriented languages)

1
CONTENTS
Sl. No. Topic
1 History of Computers
2 Generation of Computers
3 Types of Computers
4 Input and Output Devices
5 Computer System Architecture
6 Computer Network Architecture
7 Software and its types
8 Operating System
9 Computer Storage
10 Binary Information and Representation
11 Boolean Operators
12 Algorithm and Flowchart
13 Basics of Computer Programming
14 Compiler and Interpreter

2
History of Computers
Before computers were developed people used sticks, stones, and bones as
counting tools. As technology advanced and the human mind improved with time
more computing devices were developed like Abacus, Napier’s Bones, etc. These
devices were used as computers for performing mathematical computations but
not very complex ones.
The concept of computation dates back to ancient civilizations. The abacus,
developed around 2000 BCE, was one of the earliest tools used for arithmetic
calculations. Other devices, such as the Antikythera mechanism from ancient
Greece, demonstrated a remarkable understanding of astronomical calculations.
Some of the popular computing devices are described below, starting from the
oldest to the latest or most advanced technology developed:
Abacus
Around 4000 years ago, the Chinese invented the Abacus, and it is believed to be
the first computer. The history of computers begins with the birth of the abacus.
Structure: Abacus is basically a wooden rack that has metal rods with beads
mounted on them.
Working of abacus: In the abacus, the beads were moved by the abacus operator
according to some rules to perform arithmetic calculations. The beads represented
the columns . The right-most column represented the unit , the next for ten and so
on. Numbers were represented by moving beads at appropriate column. Abacus
could perform simple addition and subtraction.

Napier’s Bones
Napier’s Bones was a manually operated calculating device and as the name
indicates, it was invented by John Napier. In this device, he used 9 different ivory
strips (bones) marked with numbers to multiply and divide for calculation. It was
also the first machine to use the decimal point system for calculation.

3
Pascaline
It is also called an Arithmetic Machine or Adding Machine. A French
mathematician-philosopher Blaise Pascal invented this between 1642 and 1644. It
was the first mechanical and automatic calculator. It was invented by Pascal to
help his father, a tax accountant, in his work or calculation. It could perform
addition
and subtraction in quick time. It was basically a wooden box with a series of gears
and wheels. It is worked by a rotating wheel like when a wheel is rotated one
revolution, it rotates the neighbouring wheel and a series of windows is given on the
top of the wheels to read the totals.

Stepped Reckoner or Leibniz wheel


A German mathematician-philosopher Gottfried Wilhelm Leibniz in 1673 developed
this device by improving Pascal’s invention to develop this machine. It was
basically a digital mechanical calculator, and it was called the stepped reckoner
as it was made of fluted drums instead of gears (used in the previous model of
Pascaline).

Difference Engine
Charles Babbage who is also known as the “Father of Modern Computer” designed
the Difference Engine in the early 1820s. Difference Engine was a mechanical
computer which is capable of performing simple calculations. It works with help of

4
steam as it was a steam-driven calculating machine, and it was designed to solve
tables of numbers like logarithm tables.

Analytical Engine
Again in 1830 Charles Babbage developed another calculating machine which was
Analytical Engine. Analytical Engine was a mechanical computer that used punch
cards as input. It was capable of performing or solving any mathematical problem
and storing information as a permanent memory (storage).

Tabulating Machine
Herman Hollerith, an American statistician invented this machine in the year 1890.
Tabulating Machine was a mechanical tabulator that was based on punch cards.
It was capable of tabulating statistics and record or sort data or information. This
machine was used by U.S. Census in the year 1890. Hollerith’s Tabulating Machine
Company was started by Hollerith and this company later became International
Business Machine (IBM) in the year 1924.

Differential Analyzer
Differential Analyzer was the first electronic computer introduced in the year 1930
in the United States. It was basically an analog device that was invented by
Vannevar Bush. This machine consists of vacuum tubes to switch electrical signals
to perform calculations. It was capable of doing 25 calculations in a few minutes.
Mark I
In the year 1937, major changes began in the history of computers when Howard
Aiken planned to develop a machine that could perform large calculations or

5
calculations involving large numbers. In the year 1944, Mark I computer was built as
a partnership between IBM and Harvard. It was also the first programmable digital
computer marking a new era in the computer world.

Generations of Computers
First Generation Computers [ 1940-1956] : Vacuum Tubes
These machines were slow, huge, and expensive. In this generation of computers,
vacuum tubes were used as the basic components of CPU and memory. Also, they
were mainly dependent on the batch operating systems and punch cards.
Magnetic tape and paper tape were used as output and input devices. For example
ENIAC-Electronic Numerical Integrator and Calculator , UNIVAC-1- Universal
Automatic Computer , EDVAC- Electronic Discrete Variable Automatic Computer,
etc.

Second Generation Computers [ 1957-1963] : Transistors


It was the time of the transistor computers. In the second generation of computers,
transistors (which were cheap in cost) were used. Transistors are also compact
and consume less power. Transistor computers are faster than first-generation
computers. For primary memory, magnetic cores were used, and for secondary
memory magnetic disc and tapes for storage purposes. In second-generation
computers, COBOL and FORTRAN were used as Assembly language and
programming languages, and Batch processing and multiprogramming operating

6
systems were used in these computers.
For example IBM 1620, IBM 7094, CDC 1604, CDC 3600, etc.

Third Generation Computers [ 1964 – Early 1970s ] : Integrated Circuits


In the third generation of computers, integrated circuits (ICs) were used instead of
transistors(in the second generation). A single IC consists of many transistors
which increased the power of a computer and also reduced the cost. The third
generation computers were more reliable, efficient, and smaller in size. It used
remote processing, time-sharing, and multiprogramming as operating systems.
FORTRON-II TO IV, COBOL, and PASCAL PL/1 were used which are high-level
programming languages.
For example IBM-360 series, Honeywell-6000 series, IBM-370/168, etc.
Fourth Generation Computers [ Early 1970s – Till date ] : Microprocessors
The period of 1971-1980 was mainly the time of fourth generation computers. It
used
VLSI(Very Large Scale Integrated) circuits. VLSI is a chip containing millions of
transistors and other circuit elements and because of these chips, the computers
of this generation are more compact, powerful, fast, and affordable(low in cost).
Real-time, time-sharing and distributed operating system are used by these
computers. C and C++ are used as the programming languages in this generation
of computers.
For example STAR 1000, PDP 11, CRAY-1, CRAY-X-MP, etc.
Fifth Generation Computers [ Present and Beyond ] : Artificial Intelligence
The ULSI (Ultra Large Scale Integration) technology is used in fifth-generation
computers instead of the VLSI technology of fourth-generation computers. Use of
fifth generation computers are currently in research level. Microprocessor chips with
ten million electronic components are used in these computers. Parallel
processing hardware and AI (Artificial Intelligence) software are also used in
fifthgeneration
computers. The scientists are trying to use AI and KIPS to perform any
complicated problem. The programming languages like C, C++, Java, .Net, etc. are
used.
For example Desktop, Laptop, NoteBook, UltraBook, etc.

7
Types of Computers
based on Data Type
Based on the data type handling, computers can be categorized as Digital, Analog,
and Hybrid.
Digital

Personal computers are an example of a digital computer. These computers


accept input in the form of 0s and 1s. The computer processes binary input and
provides the output. These computers perform all the logical & arithmetical
operations. Any input given in any language is first converted into binary language
and then the computer processes the information. Examples – laptops, PCs, mobile
phones, desktops, etc.
Analog
These computers process analog data. Analog data keep varying. Hence, it does
not have any discrete value. They read the continuous change in the input, process
it, and then provide the output. Analog computers perform with equal diligence and
accuracy. They are however slower than digital computers. They are also slightly
less precise.
Analog computers are for a Speedometer, thermometer, frequency, and signal of
voltage, measuring the resistance of a capacitor.

Hybrid
Hybrid computers are a mix of both analog and digital computers. These
computers perform a high level of calculations. Hybrid computers are quick and
efficient. They take input in analog form, convert it into digital form, and then
process it to produce an output. scientists are also using hybrid computers for
complex calculations. For example, in hospitals to measure the heartbeat of the
patients, and at research institutes to measure earthquakes and other natural
calamities.
Based on the Purpose
Microcomputer
Microcomputers are nothing but personal computers. These are single-chip
systems. These are useful for personal use and can perform all the basic functions
of the computer. Microcomputers require very little space and are comparatively
inexpensive. Such computers have the most minimalistic requirement in terms of

8
I/O devices. And have all the circuitry mounted on a single PCB. For example
tablets,
I pads, smartwatches, laptops, desktops
Minicomputer
Standing in between a microcomputer and a mainframe computer is the
minicomputer. These computers are useful if people around 5 to 300. Those who
want to operate the system at the same time. You can see such computers at the
billing counters of malls or large institutions.
Mainframe
Mainframe computers are useful when a large number of people are involved. Like
in the health care or retail sector who want to access data simultaneously. These
computers process large amounts of data.
In addition, mainframe computers have evolved a lot over the years in terms of
speed, size, and efficiency. These computers are just below the supercomputers.
And sometimes are even more useful than a supercomputer. Examples – IBM z
Series, System z9, etc.
Supercomputers
The biggest and fastest computers are supercomputers. Such computers can
process trillions of functions within a few seconds. We generally use MPIS( Million
Instructions Per Second) to measure their performance. These computers are
specifically designed for scientific applications such as –
1. Encryption decryption of passwords
2. Weather forecasting
3. Testing of nuclear weapons
4. Scientific research of earth and other planetary systems, etc.
Examples – PARAM supercomputer series, Gravity Pipe for astrophysics, Deep Crack
for deciphering codes, etc.

Based on the Functionality


Workstations
Workstation computers are for single usage and professional purposes. These are
like our basic laptops and desktops but with added superior features. For example,
double-processor motherboard, added graphic card, ECC RAM, etc. The
workstations are more powerful as compared to generic PCs. These can handle
heavy-duty functions. Like animation, CAD, audio & video editing, professional
gaming, etc.
Examples: Apple PowerBook G4, SPARC CPU, MIPS CPU, etc.
Servers
These are hardware components or software programs that are built to assist other
computers termed as clients. Together this architecture is called the client-server
model. The client sends a request to the server and the server responds in return
with a result or a solution. This proves that these server computers are more
powerful than standard computers. The main purpose of these computers is to
share data and resources with other computers.
Different types of servers are useful for different needs and applications. For
example, cloud server, application server, database server, file server, etc. Each of
these servers has a different purpose for different client needs.
Embedded
These computers are mainly microcontroller-based systems. Used for processing
specific tasks. Embedded computers have a combination of software and
hardware components. But, are usually a part of a larger system. Each of its
components is designed from scratch to serve a specific purpose or complete a
specific task. Another characteristic that distinguishes them from a standard PC is
that all of its components are integrated into a single PCB or motherboard. They

9
are most helpful for industrial use. this is because of their ruggedness.
Examples: GPS systems, centralized heating systems, fitness trackers, digital
watches, electronic calculators, etc.
Information appliances
Mostly portable devices designed for specific functions come under this category.
They can perform very restricted tasks for which they are built like text editors,
music players, photography, videography, etc. The most common example is
mobile phones. Many wearable devices are also available in the market.
This completes our article on the different types of computers. To sum up, it can be
said that there is everything for everyone.
Edge Devices
An edge device is any piece of hardware that controls data flow at the boundary
between two networks. Edge devices fulfill a variety of roles, depending on what
type of device they are, but they essentially serve as network entry -- or exit --
points.

Traditional edge devices include edge routers, routing switches, firewalls,


multiplexers, and other wide area network (WAN) devices. Intelligent edge devices
have built-in processors with onboard analytics or artificial intelligence
capabilities. Such devices might include sensors, actuators, and IoT gateways.
Input and Output Devices of Computer with Examples
Nowadays computer directly or indirectly has become a part of our life from
banking accounts to business deals. Do you know, How a computer works? Both
input and output devices are important for a computer to work well and be easy to
use. With the help of the input devices, you can send instructions to the system of
the computer to execute an action based on your needs. With the help of the output
devices, you can get the result or outcome of your inserting instructions on the
screen or other output platforms. This article will provide you with information
about the different input and output devices in a Computer system.

Examples of Input Devices of Computer :


Keyboard Mouse
Joysticks Wi-fi Remote
Light Pen Game pad
Microphone Webcam
Scanner Digital camera
Barcode Reader Portable Media Player
Trackball Graphic Tablet
Magnetic Ink Card Reader (MICR) Optical Character Reader (OCR)
Optical Character Reader (OCR) Digitizer
An input device is a computer device that allows computer users to enter data into
a system and send instructions to the system to execute tasks accordingly. These
devices are mainly hardware like keyboards, mouses, joysticks, etc. It is the first
or primary step in the processing of computer data that is done at the Central
Processing Unit (CPU). The delivered signals are received by the CPU which
processes them. Input Devices of Computer can be classified further as per the
modality like visual or audio, discrete or continuous, and direct or indirect. Some of
the main input devices are explained below with their descriptions.
Keyboard
The keyboard is the most fundamental input device of the computer. It is
commonly used to insert data on the computer by using keys mounted on a
keyboard. It is connected to the computer system through wifi or a USB cable. There

10
are different varieties of keys for different purposes like numerals, letters, special
characters, and functions. It is the main input device to command the computer
system.

Mouse
A Mouse is a hand-supported device that enables computer users to move the
cursor point on the computer screen. A mouse consists of two buttons namely left
and right on its top portion and one trackball at its bottom. It works on a flat surface
to select and move the mouse around. The mouse as an input device was invented
by Douglas C. Engelbart in 1063.

Joy Stick
Joystick comprises a stick connected to the base at an angle so that it can be
easily moved and controlled. It is mainly applied in controlling the movement of
characters in video games. It is also employed in the cockpit of an airplane,
wheelchairs, cranes, and trucks to regulate them properly. Its function is also to
move the cursor on the screen but it is not like a mouse.
Light Pen
A light pen is a pointing input device that is in a pen-like
structure. It allows computer users to select options on the
screen and even draw on the screen. It is light-sensitive
equipment as photocells are inbuilt in this device that allows
the flow of instructions to the CPU. It is generally used with a
cathode ray tube (CRT) of the computer.
Microphone
A microphone is an inbuilt voice input device in which different sounds can be
collected in their digital form. This input device converts sound instructions into
electrical signals. It has to be linked with an amplifier for recording or reproducing
the sound.
Scanner
A scanner is an input device that can scan different types of files
of different formats like images or text and then convert them
into digital signals. It can bring the document files to the
computer screen by converting these files into a digital format. It
operates like a photocopy machine to make the written
information or data on a computer screen from paper.
Barcode Reader

11
A barcode reader is a type of optical scanner device. It can read and understand
the bar code data attached to goods, books, etc. It is like a reading device that
throws a ray of light on a bar code and then the aspects and details of that
particular item are displayed on the screen.

Output Devices of Computer with Examples


An output device is a computer device that displays the result of the inserted input
data after getting processed from the CPU. CPU of a computer converts received
information from machine language to a human-friendly language and then
sends these signals to output devices to execute the tasks as per entered data.
These output devices are mainly hardware like printers, monitors, speakers, etc.
When the data entered by the input devices is processed by the CPU of the
computer then the output devices take care of the result. These results after
processing of data may be in image, graphic, textual or audio form. The output
devices display the visual contents on the monitor screen while sound contents are
delivered to the speaker connected to a computer. Some of the main Output
devices of computer are explained below with their descriptions.

Examples of Output Devices of Computer


Monitor Speaker
Printer Projector
Plotter Braille Reader
Television Global Positioning System
Headphones Video Card

Monitor
The monitor is the main output device that displays all the data related to icons,
text, images, etc. on its screen. When we enter the command to the
computer to
execute an action, then the outcome of that action is displayed on the
screen of
the monitor. Different types of monitors have been developed over
time like CRT (Cathode Ray Tube) monitors, Flat-Panel display
monitors, etc.

Printer
A Printer is an output device that produces a copy of the pictorial or
textual files
generally over a page. Its primary function is to print the information on
paper. For example, an writer types a complete book on his computer
system. He has to take a printout of it in the form of paper so that the
book can be reviewed and later published. There are different types of
printers in the market for different purposes like impact printers, character printers,
line printers, laser printers, etc.

Speakers
A Speaker is an output device that converts electrical instructions into
a sound
signal. It helps you to listen to sound signals as an outcome of what
you enter data into a computer. It is a hardware device that may or
may not be attached to the computer system. Now, speakers are

12
becoming wireless devices and can be linked with systems with the help of
BlueTooth or else.

Projector
A Projector is the output and optical device that presents visual contents like
moving or stationary images on the screen. These projecting devices are generally
applied in auditoriums and cinema theatres for screening videos and lighting
effects. Once a projector is linked to a computer system then the content displayed
on the projection screen will be the same as displayed on the Monitor screen. The
difference here is that projector displays contents on the bigger screens.
Headphones
The headphones operate on the same principles as a speaker operates. The only
difference between headphones and speaker is the frequency of sound. With the
help of speakers, the released sound can cover a larger area while with the help of
headphones, the released sound can cover only a smaller area to make it audible
only to a person who is wearing these headphones. These are
also called earphones or headsets.

Difference Between Input and Output Devices of


The computer operates smoothly with the help of both input and output devices.
CPU plays a vital role in making a bridge between the input and output devices.
Here the complete comparison of input and output devices of computers is
explained below.

Input Devices Output Devices


1 Accept computer user’s data 1 Reflect computer user’s data
2 The computer users command them 2 The computer processors command
them
3 Conversion of Human-friendly signals 3 Conversion of machine-friendly
into language to user-friendly language
a machine-friendly language
4 Send signals to the CPU for execution 4 Send processed signals to the
computer user
5 Assist computer system in receiving 5 Assist computer system in displaying
data data
6 It is complex in design comparatively 6 It is lesser complex in design
7 Example: Keyboard, Scanner, Mouse, 7 Example: Monitor, Printers, Speaker,
etc. etc.
Computer system Architecture

13
A computer system is basically a machine that simplifies complicated tasks. It
should maximize performance and reduce costs as well as power consumption.The
different components in the Computer System Architecture are Input Unit, Output
Unit, Storage Unit, Arithmetic Logic Unit, Control Unit etc. A diagram that shows the

flow of data between these units is as follows –

The input data travels from input unit to ALU. Similarly, the computed data travels
from ALU to output unit. The data constantly moves from storage unit to ALU and
back again. This is because stored data is computed on before being stored again.
The control unit controls all the other units as well as their data. Details about all
the computer units are −
 Input Unit
The input unit provides data to the computer system from the outside. So, basically
it links the external environment with the computer. It takes data from the input
devices, converts it into machine language and then loads it into the computer
system. Keyboard, mouse etc. are

14
the most commonly used input devices.
 Output Unit
The output unit provides the results of computer process to the users i.e it links the
computer with the external environment. Most of the output data is the form of
audio or video. The different output devices
are monitors, printers, speakers, headphones etc.
 Storage Unit
Storage unit contains many computer components that are used to store data. It is
traditionally divided into primary storage and secondary storage.Primary storage is
also known as the main
memory and is the memory directly accessible by the CPU. Secondary or external
storage is not directly accessible by the CPU. The data from secondary storage
needs to be brought into the primary storage before the CPU can use it. Secondary
storage contains a large amount
of data permanently.
 Arithmetic Logic Unit
All the calculations related to the computer system are performed by the arithmetic
logic unit. It can perform operations like addition, subtraction, multiplication,
division etc. The control unit transfers data from storage unit to arithmetic logic unit
when calculations need to be
performed. The arithmetic logic unit and the control unit together form the central
processing unit.
 Control Unit

This unit controls all the other units of the computer system and so is known as its
central nervous system. It transfers data throughout the computer as required
including from storage unit to central processing unit and vice versa. The control
unit also dictates how the memory, input output devices, arithmetic logic unit etc.
should behave.
Computer architecture can be defined as a set of rules and methods that describe
the functionality, management and implementation of computers. To be precise, it
is nothing but rules by which a system performs and operates.
Sub-divisions
Computer Architecture can be divided into mainly three categories, which are as
follows −
 Instruction set Architecture or ISA − Whenever an instruction is given to
processor, its role is to read and act accordingly. It allocates memory to
instructions and also acts upon memory address mode (Direct Addressing
mode or Indirect Addressing mode).
 Micro Architecture − It describes how a particular processor will handle
and implement instructions from ISA.
 System design − It includes the other entire hardware component within
the system such as virtualization, multiprocessing.
Role of computer Architecture
The main role of Computer Architecture is to balance the performance, efficiency,
cost and reliability of a computer system.
For Example − Instruction set architecture (ISA) acts as a bridge between
computer's software and hardware. It works as a programmer's view of a machine.
Computers can only understand binary language (i.e., 0, 1) and users understand
high level language (i.e., if else, while, conditions, etc). So to communicate between
user and computer, Instruction set Architecture plays a major role here, translating
high level language to binary language.

15
Computer Network Architecture
A network model represents the organization of multiple computers in a network. It
describes how individual computers are interconnected in a network.
The computer network architecture is as follows −
Centralized Computing Architecture
In centralized computing architecture, one powerful computer is used to serve one
or more low powered computers. In the centralized model, the nodes are not
connected; they are only connected to the server. The centralized computing
architecture contains the following −
 All processing holds a function in the central, mainframe computer.
 Terminals are linked to the central computer and operation just as
input/output devices.
 Networks can be employed to interconnect at least two mainframe
computers. Terminals relate only to the mainframe, never to one another.
Distributed Computing Architecture
Distributed architecture interconnects one or more personal computers known as
nodes. It allows various features such as file sharing, hardware sharing or network
sharing. In the distributed model, the nodes can handle their data and depend on
the network for administration other than data processing.For example, a network
of Window 2000 can have a computer that is regarded as a Print server. The print
server would handle all the printing jobs of the network.
Distributed computing architecture contains the following −
 Various computers are efficient in performing independently
 Tasks are finished locally on multiple computers.
 Networks allow the computers to transfer data and service but do not support
processing assistance.

16
Collaborative Computing Architecture
The collaborative computing architecture is a mixture of centralized and distributed
computing. In the collaborative model, the individual members of a network can
process their user’s basic need.
For example, a database server such as MSSQL server or ORACLE server sees or
handles all the database related processing of all the nodes of networks. But
requests other than the database will be processed by the model.
Peer-to-Peer Architecture
In this architecture, there are no dedicated servers. All computers are similar and,
therefore, are termed as a peer. Each of these machines functions both as a user
and a server. This arrangement is applicable for environments with a finite number
of clients (usually ten or less).

Advantages
 It is accessible to design and perpetuation.
 The network is not dependent on a precise computer.
 Linking new computers in a peer to peer network is significantly more
straightforward.
What Do Computer Networks Do?
Computer Networks are one of the important aspects of Computer Science. In the
early days, it is used for data transmission on telephone lines and had a very limited
use, but nowadays, it is used in a variety of places.
Computer Networks help in providing better connectivity that helps nowadays.
Modern computer networks have the following functionality like-
 Computer Networks help in operating virtually.
 Computer Networks integrate on a large scale.
 Computer Networks respond very quickly in case of conditions change.
 Computer Networks help in providing data security.
Criteria of a Good Network
1. Performance: It can be measured in many ways, including transmit time and
response time. Transit time is the amount of time required for a message to travel
from one device to another. Response time is the elapsed time between an inquiry
and a response. The performance of the
network depends on a number of factors, including the number of users, the type of
medium & Hardware.
2. Reliability: In addition to accuracy is measured by frequency of failure, the time
it takes a link to recover from failure, and the network’s robustness in catastrophe.
3. Security: Network security issues include protecting data from unauthorized
access, protecting data from damage and development, and implementing policies
and procedures for recovery from breaches and data loss.
Goals of Computer Networking

17
 Programs do not have to execute on a single system because of resource and
load sharing.
 Reduced costs – Multiple machines can share printers, tape drives, and other
peripherals.
 Reliability – If one machine fails, another can take its place.
 Scalability (it’s simple to add more processors or computers)
 Communication and mail (people living apart can work together)
 Information Access (remote information access, access to the internet, e-
mail, video conferencing, and online shopping)
 Entertainment that is interactive (online games, videos, etc.)
 Social Networking
Types of Computer Networks
Division Based on the Communication Medium
 Wired Network: As we all know, “wired” refers to any physical medium
made up of cables. Copper wire, twisted pair, or fiber optic cables are all
options. A wired network employs wires to link devices to the Internet or
another network, such as laptops or desktop PCs.
 Wireless Network: “Wireless” means without wire, media that is made up
of electromagnetic waves (EM Waves) or infrared waves. Antennas or sensors
will be present on all wireless devices. Cellular phones, wireless sensors, TV
remotes, satellite dish receivers, and laptops with WLAN cards are all
examples of wireless devices. For data or voice communication, a wireless
network uses radio frequency waves rather than wires.
Division Based on Area Covered
 Local Area Network (LAN): A LAN is a network that covers an area of
around 10 kilometers. For example, a college network or an office network.
Depending upon the needs of the organization, a LAN can be a single office,
building, or Campus. We can have two PCs and one printer inhome office or it
can extend throughout the company and include audio and video devices.
Each host in LAN has an identifier, an address that defines hosts in LAN. A
packet sent by the host to another host carries both the source host’s and
the destination host’s address.
Metropolitan Area Network (MAN): MAN refers to a network that covers an
entire city.For example: consider the cable television
network.
Wide Area Network (WAN): WAN refers to a network that connects countries or
continents. For example, the Internet allows users to access a distributed system
called www from anywhere around the globe. WAN interconnects connecting
devices such as switches, routers, or modems.
A LAN is normally privately owned by an organization that uses it. We see two
distinct examples of WANs today: point-to-point WANs and Switched WANs.
 Point To Point: Connects two connecting devices through transmission
media.
 Switched: A switched WAN is a network with more than two ends.
Based on Types of Communication
 Point To Point networks: Point-to-Point networking is a type of data
networking that establishes a direct link between two networking nodes. A
direct link between two devices, such as a computer and a printer, is known
as a point-to-point connection.
 Multipoint: is the one in which more than two specific devices share links. In
the multipoint environment, the capacity of the channel is shared, either
spatially or temporally. If several devices can use the link simultaneously, it is
a spatially shared connection.

18
 Broadcast networks: In broadcast networks, a signal method in which
numerous parties can hear a single sender. Radio stations are an excellent
illustration of the “Broadcast Network” in everyday life. The radio station is a
sender of data/signal in this scenario, and data is only intended to travel in
one direction. Away from the radio transmission tower, to be precise.
Based on the Type of Architecture
 P2P Networks: Computers with similar capabilities and configurations are
referred to as peers.“Peer to Peer” is the abbreviation for “peer to peer.” The
“peers” in a peerto- peer network are computer systems that are connected
to each other over the Internet. Without the use of a central server, files can
be shared directly between systems on the network.
 Client-Server Networks: Each computer or process on the network is either
a client or a server in a client-server architecture (client/server). The client
asks for services from the server, which the server provides.Servers are high-
performance computers or processes that manage disc drives (file servers),
printers (print servers), or network traffic (network servers)
 Hybrid Networks: The hybrid model refers to a network that uses a
combination of client-server and peer-to-peer architecture. Eg: Torrent.
Types of Computer Network Architecture
Computer Network Architecture is of two types. These types are mentioned below.
1. Client-Server Architecture: It is basically the architecture where the clients
and the server are connected as two clients can communicate with each other and
the devices present work as servers in the network.
2. Peer-to-Peer Architecture: computers are connected to each other and each
computer is equally capable of working as there is no central server here. Each
evice present here can be used as a client or server.
Types of Enterprise Computer Networks
There are three main types of Enterprise Computer Networks which are mentioned
below.
1. Local Area Network (LAN): These are small-scale networks used in small
companies or as test networks. It has a limited size.
2. Wide Area Networks (WAN): These are networks that are used for a larger
area than local area networks and are used for long-distance communication.
3. Service Provider Networks: Service Provider Networks are the networks that
help in wireless communication, high-speed internet access, etc.
Network Topology
Bus Topology
Every computer and network device is connected to a single cable in a bus topolgy
network. Linear Bus topology is defined as having exactly two terminals.
Advantages
 Installation is simple.
 Compared to mesh, star, and tree topologies, the bus utilizes less cabling.
Disadvantages
 Difficulty in reconfiguring and isolating faults.
 A bus cable malfunction or break interrupts all communication.

19
Ring Topology
The topology is named ring topology because one computer is connected to
another, with the final one being connected to the first. Exactly two neighbors for
each device. A signal is passed along the ring in one direction. Each ring
incorporates a repeater.
Advantages
 Data transmission is relatively straightforward because packets only move in
one direction.
 There is no requirement for a central controller to manage communication
between nodes.
 Easy installation & Reconfiguration
 Simplified Faulty connections
Disadvantages
 In a Unidirectional Ring, a data packet must traverse through all nodes.
 All computers must be turned on in order for them to connect with one
another.

Ring Topology
Star Topology
Each device in a star topology has a dedicated point-to-point link to a central
controller, which is commonly referred to as the HUB. There is no direct connection
between the devices. Traffic between the devices is not allowed in this topology. As
an exchange, the controller is used.
Advantages
 When attaching or disconnecting devices, there are no network interruptions.
 It’s simple to set up and configure.
 Identifying and isolating faults is simple.
 Less Expensive than mesh
 Easy to install & configure
Disadvantages
 Nodes attached to the hub, switch, or concentrator is failed if they fail.
 Because of the expense of the hubs, it is more expensive than linear bus
topologies.
 More cable is required compared to a bus or ring
 Too much dependency on Hub

20
Star Topology

Mesh Topology
Every device in a mesh topology has dedicated point-to-
point connectivity to every other device. The term
“dedicated” refers to the fact that the link exclusively
transports data between the two devices it links. To
connect n devices, a fully connected mesh network
contains n *(n-1)/2 physical channels.

Advantages
 Data can be sent from multiple devices at the same time. This topology can
handle a lot of traffic.
 Even if one of the connections fails, a backup is always available. As a result,
data transit is unaffected.
 Physical boundaries prevent other users from gaining access to messages
 Point to Point links make fault transmission & fault isolation easy
Disadvantages
 The amount of cabling and the number of I/O ports that are necessary.
 The sheer bulk of wiring can be greater than the available space can
accommodate.
 It is difficult to install and reconfigure.
Example: connection of telephone regional office in which each regional office
needs to be connected to every other regional office.

Tree Topology
The topology of a tree is similar to that of a star. Nodes in a tree,
like those in a star, are connected to a central hub that manages
network traffic. It has a root node, which is connected to all other
nodes, producing a hierarchy. Hierarchical topology is another
name for it. The number of Star networks is connected via Bus in
Tree Topology.
Advantages
 Network expansion is both possible and simple.
 We partition the entire network into pieces (star networks) that are easier to
manage and maintain.
 Other segments are unaffected if one segment is damaged.

Disadvantages

21
 Tree topology relies largely on the main bus cable because of its basic structure,
and if it fails, the entire network is handicapped.
 Maintenance becomes more challenging when more nodes and segments are
added.

Networking Devices
Basic hardware interconnecting network nodes, such as Network Interface Cards
(NICs), Bridges, Hubs, Switches, and Routers, are used in all networks. In addition, a
mechanism for connecting these building parts is necessary, which is usually
galvanic cable and optical cable are less popular (“optical fiber”)The following are
the network devices :
 NIC (Network Interface Card): A network card, often known as a network
adapter or NIC (network interface card), is computer hardware that enables
computers to communicate via a network. It offers physical access to
networking media and, in many cases, MAC addresses serve as a low-level
addressing scheme. Each network interface card has a distinct identifier. This
is stored on a chip that is attached to the card.
 Repeater: A repeater is an electrical device that receives a signal, cleans it
of unwanted noise, regenerates it, and retransmits it at a higher power level
or to the opposite side of an obstruction, allowing the signal to travel greater
distances without degradation. In the majority of twisted pair Ethernet
networks, Repeaters are necessary for cable lengths longer than 100 meters
in some systems. Repeaters are based on physics.
 Hub: A hub is a device that joins together many twisted pairs or fiber optic
Ethernet devices to give the illusion of a formation of a single network
segment. The device can be visualized as a multiport repeater. A network
hub is a relatively simple broadcast device. Any packet entering any port is
regenerated and broadcast out on all other ports, and hubs do not control
any of the traffic that passes through them. Packet collisions occur as a result
of every packet being sent out through all other ports, substantially impeding
the smooth flow of communication.
 Bridges: Bridges broadcast data to all the ports but not to the one that
received the transmission. Bridges, on the other hand, learn which MAC
addresses are reachable through specific ports rather than copying messages
to all ports as hubs do. Once a port and an address are associated, the bridge
will only transport traffic from that address to that port.
 Switches: A switch differs from a hub in that it only forwards frames to the
ports that are participating in the communication, rather than all of the ports
that are connected. The collision domain is broken by a switch, yet the switch
depicts itself as a broadcast domain. Frame-forwarding decisions are made
by switches based on MAC addresses.
 Routers: are networking devices that use headers and forwarding tables to
find the optimal way to forward data packets between networks. Arouter is a
computer networking device that links two or more computer networks and
selectively exchanges data packets between them. A router can use address
information in each data packet to determine if the source and destination
are on the same network or if the data packet has to be transported between
networks. When numerous routers are deployed in a wide collection of
interconnected networks, the routers share target system addresses so that
each router can develop a table displaying the preferred pathways between
any two systems on the associated networks.
 Gateways: To provide system compatibility, a gateway may contain devices
such as protocol translators, impedance-matching devices, rate converters,
fault isolators, or signal translators. It also necessitates the development of

22
administrative procedures that are acceptable to both networks. By
completing the necessary protocol conversions, a protocol
translation/mapping gateway joins networks that use distinct network
protocol technologies.

Internet
This is a larger network that allows computer networks controlled by enterprises,
governments, colleges, and other organizations all over the world to communicate
with one another. As a result, there is a tangle of cables, computers, data centers,
routers, servers, repeaters,satellites, and Wi-Fi towers that allow digital data to go
around the world.
The Internet is a vast network of networks that functions as a networking
infrastructure. It links millions of computers throughout the world, creating a
network in which any computer can talk with any other computer as long as they
are both linked to the Internet.
The Internet is a global network of interconnected computers that communicate and
share information using a standardized Internet Protocol Suite.

23
Software and its Types
Software is a collection of instructions, data, or computer programs that are used to
run machines and carry out particular activities. It is the antithesis of hardware,
which refers to a computer’s external components. A device’s running programs,
scripts, and applications are collectively referred to as “software” in this context.
What is Software?
In a Computer system, the software is basically a set of instructions or commands
that tell a computer what to do. In other words, the software is a computer program
that provides a set of instructions to execute a user’s commands and tell the
computer what to do. For example like MS-Word, MS-Excel,MS-Powerpoint, etc.
Types of Software
It is a collection of data that is given to the computer to complete a particular task.
The chart below describes the types of software:

Above is the diagram of types of software. Now we will briefly describe each type
and its subtypes:
1. System Software
 Operating System
 Language Processor
 Device Driver
2. Application Software
 General Purpose Software
 Customize Software

24
 Utility Software
System Software
System Software is software that directly operates the computer hardware and
provides the basic functionality to the users as well as to the other software to
operate smoothly. Or in other words, system software basically controls a
computer’s internal functioning and also controls hardware devices such as
monitors, printers, and storage devices, etc. It is like an interface between hardware
and user applications, it helps them to communicate with each other because
hardware understands machine language(i.e. 1 or 0) whereas user applications are
work in human-readable languages like English, Hindi, German, etc. so system
software converts the human-readable language into machine language and vice
versa.
Types of System Software
It has two subtypes which are:
1. Operating System: It is the main program of a computer system. When the
computer system is ON it is the first software that loads into the computer’s
memory. Basically, it manages all the resources such as computer
memory ,CPU ,Printer , hard disk, etc., and provides an interface to the user, which
helps the user to interact with the computer system. It also provides various
services to other computer software. Examples of operating systems are Linux,
Apple macOS, Microsoft Windows, etc.
2. Language Processor: As we know that system software converts the human-
readable language into a machine language and vice versa. So, the conversion is
done by the language processor. It converts programs written in high-level
programming languages like Java , C ,
C++, Python etc(known as source code), into sets of instructions that are easily
readable by machines(known as object code or machine code).
3. Device Driver: A device driver is a program or software that controls a device
and helps that device to perform its functions. Every device like a printer, mouse,
modem, etc. needs a driver to connect with the computer system eternally. So,
when you connect a new device with your computer system, first you need to install
the driver of that device so that your operating system knows how to control or
manage that device.
Features of System Software
Let us discuss some of the features of System Software:
 System Software is closer to the computer system.
 System Software is written in a low-level language in general.
 System software is difficult to design and understand.
 System software is fast in speed(working speed).
 System software is less interactive for the users in comparison to application
software.
Application Software
Software that performs special functions or provides functions that are much more
than the basic operation of the computer is known as application software. Or in
other words, application software is designed to perform a specific task for
endusers. It is a product or a program that is designed only to fulfill end-users’
requirements. It includes word processors, spreadsheets, database management,
inventory, payroll programs, etc.
Types of Application Software
There are different types of application software and those are:
1. General Purpose Software: This type of application software is used for a
variety of tasks and it is not limited to performing a specific task only. For example,
MS-Word, MS-Excel, PowerPoint, etc.

25
2. Customized Software: This type of application software is used or designed to
perform specific tasks or functions or designed for specific organizations. For
example, railway reservation system , airline reservation system, invoice
management system, etc.
3. Utility Software: This type of application software is used to support the
computer infrastructure. It is designed to analyze, configure, optimize and
maintains the system, and take care of its requirements as well. For example,
antivirus , disk fragmenter, memory tester, disk
repair, disk cleaners, registry cleaners, disk space analyzer, etc.
Features of Application Software
Let us discuss some of the features of Application Software:
 An important feature of application software is it performs more specialized
tasks like word processing, spreadsheets, email, etc.
 Mostly, the size of the software is big, so it requires more storage space.
 Application software is more interactive for the users, so it is easy to use and
design.
 The application software is easy to design and understand.
 Application software is written in a high-level language in general.
Difference Between System Software and Application Software:
Now, let us discuss some difference between system software and application
software: Now, let us discuss some difference between system software and
application software:

System Software Application Software


1 It is designed to manage the 1 It is designed to fulfil the requirements
resources of the computer system, of the user for performing specific
like memory and process tasks.
management, etc.
2 Written in a low-level language. 2 Written in a high-level language.
3 Less interactive for the users. 3 More interactive for the users.
4 System software plays vital role for 4 Application software is not so
the effective functioning of a system. important for the functioning of the
system, as it is task specific.
5 It is independent of the application 5 It needs system software to run.
software to run.

Software and Its Type – FAQs


1. What is difference between a software and a program?
Both are for enabling the computer to perform specific task. The software is the
collection of programs. we have create a program to perform the task and they
compiled if there is no error in program then program sent to create a software.
Program is the set of instructions that are written by programmer in a language
while the software is a collection of program that will enable the system to perform
the specific task.
2. What is an example of Software?
You need software in order for the computer to operate effectively. It is a collection
of data that is given to the computer to complete a particular task. three main
categories of software are application software, programming software, and system
software. All these three are important for the particular task to be performed.
Below are some software examples.
 Management Tools
 Compression Tools

26
 Internet Explorer
 ERP( Enterprise Resource Planning )
 BI ( Business Intelligence)
 Customer Support Systems
3. Which software is used to control the operations of a computer?
There are two types of software system software and application software. System
Software is used to control the operations and also controls a computer’s internal
functioning and hardware devices.
4. Which software is designed to solve a specific problem or to do a
specific task
Application Software is designed to solve a specific problem or to do a specific task
Because a software that performs special functions or provides function which are
much more than basic operation of the computer are application software.

Operating System
An Operating System (OS) is a software that acts as an interface between computer
hardware components and the user. Every computer system must have at least one
operating system to run other programs. Applications like Browsers, MS Office,
Notepad Games, etc., need some environment to run and perform its tasks.
The OS helps you to communicate with the computer without knowing how to speak
the computer’s language. It is not possible for the user to use any computer or
mobile device without having an operating system.

History Of OS
 Operating systems were first developed
in the late 1950s to manage tape storage
 The General Motors Research Lab
implemented the first OS in the early
1950s for their IBM 701
 In the mid-1960s, operating systems
started to use disks
 In the late 1960s, the first version of the
Unix OS was developed
 The first OS built by Microsoft was DOS.
It was built in 1981 by purchasing the 86-
DOS software from a Seattle company
 The present-day popular OS Windows
first came to existence in 1985 when a GUI was created and paired with MS-
DOS.
Types of Operating System (OS)

27
Following are the popular types of OS (Operating System):
 Batch Operating System
 Multitasking/Time Sharing OS
 Multiprocessing OS
 Real Time OS
 Distributed OS
 Network OS
 Mobile OS
Batch Operating System
Some computer processes are very lengthy and time-consuming. To speed the
same process, a job with a similar type of needs are batched together and run as a
group. The user of a batch operating system never directly interacts with the
computer. In this type of OS, every user prepares his or her job on an offline device
like a punch card and submit it to the computer operator.
Multi-Tasking/Time-sharing Operating systems
Time-sharing operating system enables people located at a different terminal(shell)
to use a single computer system at the same time. The processor time (CPU) which
is shared among multiple users is termed as time sharing.
Real time OS
A real time operating system allots time interval to process and respond to inputs
which is very small. Examples: Military Software Systems, Space Software Systems
are the Real time OS example.
Distributed Operating System
Distributed systems use many processors located in different machines to provide
very fast computation to its users.
Network Operating System
Network Operating System runs on a server. It provides the capability to serve to
manage data, user, groups, security, application, and other networking functions.
Mobile OS
Mobile operating systems are those OS which is especially that are designed to
power smartphones, tablets, and wearables devices. Some most famous mobile
operating systems are Android and iOS, but others include BlackBerry, Web, and
watch OS.
Functions of Operating System
Some typical operating system functions may include managing memory, files,
processes, I/O system & devices, security, etc. Below are the main functions of
Operating System:

28
Functions of Operating System
1. Process management: Process management helps OS to create and delete
processes. It also provides mechanisms for synchronization and communication
among processes.
2. Memory management: Memory management module performs the task of
allocation and deallocation of memory space to programs in need of this resources.
3. File management: It manages all the file-related activities such as organization
storage, retrieval, naming, sharing, and protection of files.
4. Device Management: Device management keeps tracks of all devices. This
module also responsible for this task is known as the I/O controller. It also performs
the task of allocation and deallocation of the devices.
5. I/O System Management: One of the main objects of any OS is to hide the
peculiarities of that hardware devices from the user.
6. Secondary-Storage Management: Systems have several levels of storage
which includes primary storage, secondary storage, and cache storage. Instructions
and data must be stored in primary storage or cache so that a running program can
reference it.
7. Security: Security module protects the data and information of a computer
system against malware threat and authorized access.
8. Command interpretation: This module is interpreting commands given by the
and acting system resources to process that commands.
9. Networking: A distributed system is a group of processors which do not share
memory, hardware devices, or a clock. The processors communicate with one
another through the network.
10. Job accounting: Keeping track of time & resource used by
various job and users.
11. Communication management: Coordination and assignment of
compilers, interpreters, and another software resource of the various
users of the computer systems.

Advantage of Operating System


 Allows you to hide details of hardware by creating an abstraction
 Easy to use with a GUI
 Offers an environment in which a user may execute programs/applications
 The operating system must make sure that the computer system convenient
to use
 Operating System acts as an intermediary among applications and the
hardware components
 It provides the computer system resources with easy to use format
 Acts as an intermediary between all hardware and software of the system
What is Kernel in Operating Systems?
The kernel is the central component of a computer operating system. The only job
performed by the kernel is to manage the communication between the software and
the hardware. A
Kernel is at the
nucleus of a
computer. It makes
the

29
communication between the hardware and software possible. While the Kernel is
the innermost part of an operating system, a shell is the outermost one.

Major Operating systems :

Name Name Features


stands for Microsoft Disk Operating system.
does not take much space for installation ( about 8MB).
MS-DOS gives more control to the processes as it has a command-line user
interface.
single-user, single-tasking operating system.
has limited graphics features.
not compatible with current browsers and the Internet.
was developed in 1969 by Ken Thompson, Dennis Ritchie and thers
at AT & T Bell Laboratories.
Unix was earlier known as UNICS [ Uniplexed Information and
Computing Service].
Was rewritten in C language. This made the OS portable.
one may use either the CUI that gives more control or flexibility or
GUI which makes it simple.
very flexible and can be installed on micro , mini , mainframe and
supercomputers.
very reliable, secured and robust.
developed by Linus Torvalds in 1992.
Unix-like OS and is available free.
Linux like DOS, Linux is a command-line user interface.
It also gives GUI interfaces called desktop environments like
GNOME and K Desktop Environment ( KDE ).
multi-user, multi-tasking OS.
reliable and secured OS.
Windows first version of Windows was developed by Microsoft Corporation in
1985.
has a graphical user interface and is thus user-friendly.
Multi-tasking OS.
supports digital audio and video , CD and DVD drives .
contains built-in networking, which allows users to share files and
applications with each other, if the computers are connected in a
network. can support a variety of application software.
MAC It is a series of graphical user interface-based OS developed by
Apple Inc. for their Macintosh line of computer systems.
extremely visually appealing.
multi-user, multi-tasking OS.
requires a low level of maintenance with fewer occurrence of
worms, viruses and spyware.

30
Mobile Operating Systems :

Name Features
OS for mobile devices such as smart phones and tablet PCs.
Android developed by the Open Handset Alliance led by Google.
based on the Linux kernel and most applications are written in Java.
has an integrated browser based on the open source Webkit engine.
gives media support for common audio , video and image formats.
Was purchased by google in 2005.
OS for mobile devices such as smartphones. originally developed by
Symbian Symbian Ltd but is currently
manintained by Nokia.
has a graphics toolkit known as AVKON.
was the first mobile platform to make use of WebKit browser.
most applications are written in C++, though Symbian devices can
be programmed using Python , Java ME , Flash Lite , .NET and so on.
It is a proprietary mobile OS.
BlackBerry has been developed by Research In Motion for the BlackBerry line of
smartphones.
multitasking mobile OS.
supports specialised input devices like trackwheel ,
trackball ,trackpad, and touchscreen.
BlackBerry platform is best known for its native support for corporate
email.
Windows has been developed by Microsoft.
Internet Explorer Mobile is the default browser.
Mobile contains Office Mobile- a suite of mobile versions of Microsoft Office.
based on Windows CE 5.2 kernel.
Internet Explorer Mobile 11 is the browser now used in Windows
Mobile and new browser Microsoft Edge replaced IE in Windows 10
mobile.

Computer Storage
The storage unit is a part of the computer system which is employed to store the
information and instructions to be processed. A storage device is an integral part of
the computer hardware which stores information/data to process the result of any
computational work. Without a storage device, a computer would not be able to run
or even boot up. Or in other words, we can say that a storage device is hardware
that is used for storing, porting, or extracting data files. It can also store
information/data both temporarily and permanently.
Types of Computer Memory
1. Primary Memory
2. Secondary Memory
3. Tertiary Memory

31
1. Primary Memory: It is also known as internal memory and main memory. This
is a section of the CPU that holds program instructions, input data, and intermediate
results. It is generally smaller in size. RAM (Random Access Memory) and ROM(Read
Only Memory) are examples of primary storage.
2. Secondary Memory: Secondary storage is a memory that is stored external to
the computer. It is mainly used for the permanent and long-term storage of
programs and data. Hard Disks, CDs, DVDs, Pen/Flash drive, SSD, etc, are examples
of secondary storage.
3. Tertiary Memory: Tertiary Memory is a type of Memory that is rarely used in
personal computers and due to this, tertiary memory is not considered to be an
important one. Tertiary memory works automatically without human intervention.
Types of Computer Storage Devices
Now we will discuss different types of storage devices available in the market.
These storage devices have their own specification and use. Some of the commonly
used storage devices are:
1. Primary Storage Devices
2. Magnetic Storage Devices
3. Flash memory Devices
4. Optical Storage Devices
5. Cloud and Virtual Storage
1. Primary Storage Devices

 RAM: It stands for Random Access Memory. It is used to store information


that is used immediately or we can say that it is a temporary memory.
Computers bring the software installed on a hard disk to RAM to process it
and to be used by the user. Once, the computer is turned off, the data is
deleted. With the help of RAM, computers can perform multiple tasks like
loading applications, browsing the web, editing a spreadsheet, experiencing
the newest game, etc. It allows you to modify quickly among these tasks,
remembering where you’re in one task once you switch to a different task. It
is also used to load and run applications, like your spreadsheet program,
answers commands, like all edits you made within the spreadsheet, or toggle
between multiple programs, like once you left the spreadsheet to see the
email. Memory is nearly always actively employed by your computer. It
ranges from 1GB – 32GB/64GB depending upon the specifications. There are
different types of RAM, and although they all serve the same purpose, the
most common ones are :
 SRAM: It stands for Static Random Access Memory. It consists of circuits that
retain stored information as long as the powersupply is on. It is also known as
volatile memory. It is used to build Cache memory. The access time of SRAM
is lower and it is much faster as compared to DRAM but in terms of cost, it is
costly as compared to DRAM.
 DRAM: It stands for Dynamic Random Access Memory. It is used to store
binary bits in the form of electrical charges that are applied to capacitors. The
access time of DRAM is slower as compared to SRAM but it is cheaper than
SRAM and has a high packaging density.
 SDRAM: It stands for Synchronous Random Access Memory. It is faster than
DRAM. It is widely used in computers and others. After SDRAM was
introduced, the upgraded version of double data rate RAM, i.e., DDR1, DDR2,
DDR3, and DDR4 was entered into the market and widely used in home/office
desktops and laptops.
 ROM: It stands for Read Only Memory. The data written or stored in these
devices are non-volatile, i.e, once the data is stored in the memory cannot be
modified or deleted. The memory from which will only read but cannot write

32
it. This type of memory is non-volatile. The information is stored permanently
during manufacture only once. ROM stores instructions that are used to start
a computer. This operation is referred to as bootstrap. It is also used in other
electronic items like washers and microwaves. ROM chips can only store a
few megabytes (MB) of data, which ranges between 4 and 8 MB per ROM
chip.
There are two types of ROM:
 PROM: PROM is Programmable Read Only Memory. These are ROMs that can
be programmed. A special PROM programmer is employed to enter the
program on the PROM. Once the chip has been programmed, information on
the PROM can’t be altered. PROM is non-volatile, that is data is not lost when
power is switched off.
 EPROM: Another sort of memory is the Erasable Programmable Read Only
Memory. It is possible to erase the info which has been previously stored on
an EPROM and write new data onto the chip.
 EEPROM: EEPROM is Electrically Erasable Read Only Memory. Here, data can
be erased without using ultraviolet light, with the use of just applying the
electric field.
2. Magnetic Storage Devices
 Floppy Disk: Floppy Disk is also known as a floppy diskette. It is generally
used on a personal computer to store data externally. A Floppy disk is made
up of a plastic cartridge and secured with a protective case. Nowadays floppy
disk is replaced by new and effective storage deviceslike USB, etc.
 Hard Disk: Hard Disk is a storage device (HDD) that stores and retrieves
data using magnetic storage. It is a non-volatile storage device that can be
modified or deleted n number of times without any problem. Most computers
and laptops have HDDs as their secondary storage device. It is actually a set
of stacked disks, just like phonograph records. In every hard disk, the data is
recorded electromagnetically in concentric circles
or we can say track present on the hard disk, and with the help of a head just
like a phonograph arm(but fixed in a position) to read the information present
on the track. The read-write speed of HDDs is not so fast but decent. It
ranges from a few GBs to a few and more TB.
 Magnetic Card: It is a card in which data is stored by modifying or
rearranging the magnetism of tiny iron-based magnetic particles present on
the band of the card. It is also known as a swipe card. It is used like a
passcode(to enter the house or hotel room), credit card, identity card, etc.
 Tape Cassette: It is also known as a music cassette. It is a rectangular flat
container in which the data is stored in an analog magnetic tape. It is
generally used to store audio recordings.
 SuperDisk: It is also called LS-240 and LS-120. It is introduced by Imation
Corporation and it is popular with OEM computers. It can store data up to 240
MB. 3. Flash Memory Devices It is a cheaper and more portable storage
device. It is the most commonly used device to store data because is more
reliable and efficient as compared to other storage devices. Some of the
commonly used flash memory devices are:
Pen Drive: It is also known as a USB flash drive that includes flash memory with an
integrated USB interface. We can directly connect these devices to our computers
and laptops and read/write data into them in a much faster and more efficient way.
These devices are very portable. It ranges from 1GB to 256GB generally.
 SSD: It stands for Solid State drive, a mass storage device like HDD. It is
more durable because it does not contain optical disks inside like hard disks.
It needs less power as compared to hard disks, is lightweight, and has 10x
faster read and writes speed as compared to hard disks. But, these are costly

33
as well. While SSDs serve an equivalent function as hard drives, their internal
components are much different. Unlike hard drives,SSDs don’t have any
moving parts and thus they’re called solid-state drives. Instead of storing
data on magnetic platters, SSDs store data using non-volatile storage. Since
SSDs haven’t any moving parts, they do not need to “spin up”. It ranges from
150GB to a few more TB.
 SD Card: It is known as a Secure Digital Card. It is generally used with
electronic devices like phones, digital cameras, etc. to store larger data.It is
portable and the size of the SD card is also small so that it can easily fit into
electronic devices. It is available in different sizes like 2GB, 4GB,8GB, etc.
 Memory Card: It is generally used in digital cameras. printers, game
consoles, etc. It is also used to store large amounts of data and is available in
different sizes. To run a memory card on a computer you require a separate
memory card reader.
 Multimedia Card: It is also known as MMC. It is an integrated circuit that is
generally used in-car radios, digital cameras, etc. It is an external device to
store data/information.
4. Optical Storage Devices
Optical Storage Devices is also secondary storage device. It is a removable storage
device. Following are some optical storage devices:
 CD: It is known as Compact Disc. It contains tracks and sectors on its surface
to store data. It is made up of polycarbonate plastic and is circular in shape.
CD can store data up to 700MB. It is of two types:
 CD-R: It stands for Compact Disc read-only. In this type of CD, once
the data is written can not be erased. It is read-only.
 CD-RW: It stands for Compact Disc Read Write. In this type of CD, you
can easily write or erase data multiple times.
 DVD: It is known as Digital Versatile Disc. DVDs are circular flat optical discs
used to store data. It comes in two different sizes one is 4.7GB single-layer
discs and another one is 8.5GB double-layer discs. DVDs look like CDs but the
storage capacity of DVDs is more than as compared to CDs. It is of two types:
 DVD-R: It stands for Digital Versatile Disc read-only. In this type of DVD,
once the data is written can not be erased. It is readonly. It is generally used
to write movies, etc.
 DVD-RW: It stands for Digital Versatile Disc Read Write. In this type of DVD,
you can easily write or erase data multiple times.
 Blu-ray Disc: It is just like CD and DVD but the storage capacity of blu ray is
up to 25GB. To run a Blu-ray disc you need a separate Blu-ray reader. This
Blu-ray technology is used to read a disc from a blue-violet laser due to which
the information is stored in greater density with a longer wavelength.
5. Cloud and Virtual Storage
Nowadays, secondary memory has been upgraded to virtual or cloud storage
devices. We can store our files and other stuff in the cloud and the data is
stored for as long as we pay for the cloud storage. There are many
companies that provide cloud services largely Google, Amazon, Microsoft,
etc. We can pay the rent for the amount of space we need and we get
multiple benefits out of it. Though it is actually being stored in a physical
device located in the data centers of the service provider, the user doesn’t
interact with the physical device and its maintenance. For example, Amazon
Web Services offers AWS S3 as a type of storage where users can store data
virtually instead of being stored in physical hard drive devices. These sorts of
innovations represent the frontier of where storage media goes.
Characteristics of Computer Storage Devices

34
 Data stored in the Memory can be changed or replaced in case of a
requirement, because of the mobility of the storage devices.
 Storage Devices validate that saved data can be replaced or deletedas per
the requirements because the storage devices are easily readable, writeable,
and rewritable.
 Storage Devices are easy and convenient to access because they do not
require much skill set to handle these resources.
 The storage capacity of these devices is an extra advantage to the system.
 Storage Devices have better performance and data can be easily transferred
from one device to another.
Binary Information and Representation: Bits, Bytes, Nibbles, Octets and
Characters
 The fundamental building block of computer information is the bit (a
contraction of binary digit). Every bit can be either 0 or 1. Making the value of
a bit 1 is commonly called setting the bit; changing it to 0 is resetting or
clearing it.
 Of course, bits represent only a very small amount of information: a single
fact or value. We must make collections of these bits so we can use them to
store large amounts of information and more complex data types. The most
common grouping is to take eight bits and reference them as a single unit. A
collection of eight bits is technically called an octet, but is more commonly
called a byte. (More on that in a moment.)
 “Byte” is a jocular play on the term “bit”. Over time, other sizes of “bit
collections” have also been defined. Some geek comedian decided that if
eight bits made a “byte”, then four bits must be a “nybble” (or “nibble”).
Table 1: Binary Information Group Representations and Terms
Number of Bits Common Representation
Terms
1 Bit / Digit / Flag
4 Nybble / Nibble
8 Byte / Octet / Character
16 Double Byte / Word
32 Double Word / Long Word
64 Very Long Word

 A few of these terms are worth special mention. Bit and byte we have already
discussed, of course. A bit is also sometimes called a flag; this term is most
often heard when a bit is used by itself to represent a particular information
state. For example, a computer might use a “changed flag” to represent
whether a particular file has been modified; this is an analogy to a flag either
being raised or lowered to indicate a condition. These “flags” are often seen
in networking message formats.
 The term character is also used to express a set of eight bits. This use comes
from the fact that computers often store alphanumeric characters, such as
letters and numbers, one to a byte. The 16-bit word is fairly often used, but
not nearly as much as “byte”. The larger collections of bits, such as double
word and so on, are not often encountered in every-day parlance; they are
used to represent chunks of data in technical fields such as hardware design
or programming.

35
Binary Information Representations and Terms
Number System
The technique to represent and work with numbers is called Number system.
Decimal number system is the most common number system. Other popular
number systems include binary number system, octal number system, hexadecimal
number system, etc.
Decimal Number System
Decimal number system is a base 10 number system having 10 digits from 0 to 9.
This means that any numerical quantity can be represented using these 10 digits.
Decimal number system is also a positional value system. This means that the value
of digits will depend on its position. Let us take an example to understand this.
Say we have three numbers – 734, 971 and 207. The value of 7 in all three numbers
is different−
 In 734, value of 7 is 7 hundreds or 700 or 7 × 100 or 7 × 10
 In 971, value of 7 is 7 tens or 70 or 7 × 10 or 7 × 10
 In 207, value 0f 7 is 7 units or 7 or 7 × 1 or 7 × 10
The weightage of each position can be represented as follows –

In digital systems, instructions are given through electric signals; variation is done
by varying the voltage of the signal. Having 10 different voltages to implement
decimal number system in digital equipment is difficult. So, many number systems
that are easier to implement digitally have been developed. Let’s look at them in
detail.
Binary Number System
The easiest way to vary instructions through electric signals is two-state system –
on and off. On is represented as 1 and off as 0, though 0 is not actually no signal
but signal at a lower voltage. The number system having just these two digits – 0
and 1 – is called binary number system.
Each binary digit is also called a bit. Binary number system is also positional value
system, where each digit has a value expressed in powers of 2, as displayed here.

In any binary number, the rightmost digit is called least significant bit (LSB) and

36
leftmost digit is called most significant bit (MSB).

And decimal equivalent of this number is sum of product of each digit with its
positional value.
11010 = 1×2 + 1×2 + 0×2 + 1×2 + 0×2
2 4 3 2 1 0

= 16 + 8 + 0 + 2 + 0
= 26 10

Computer memory is measured in terms of how many bits it can store. Here is a
chart for memory capacity conversion.
1 Nibble = 4 bits
1 byte (B) = 8 bits
1 Kilobytes (KB) = 1024 bytes
1 Megabyte (MB) = 1024 KB
1 Gigabyte (GB) = 1024 MB
1 Terabyte (TB) = 1024 GB
1 Exabyte (EB) = 1024 PB
1 Zettabyte = 1024 EB
1 Yottabyte (YB) = 1024 ZB

Octal Number System


Octal number system has eight digits – 0, 1, 2, 3, 4, 5, 6 and 7. Octal number
system is also a positional value system with where each digit has its value
expressed in powers of 8, as shown here −

Decimal equivalent of any octal number is sum of product of each digit with its
positional value.
726 = 7×8 + 2×8 + 6×8
8 2 1 0

= 448 + 16 + 6
= 470 10

Hexadecimal Number System


Octal number system has 16 symbols – 0 to 9 and A to F where A is equal to 10, B is
equal to 11 and so on till F. Hexadecimal number system is also a positional value
system with where each digit has its value expressed in powers of 16, as shown
here −

37
Decimal equivalent of any hexadecimal number is sum of product of each digit
with its positional value.
27FB = 2×16 + 7×16 + 15×16 + 10×16
16 3 2 1 0

= 8192 + 1792 + 240 +10


= 10234 10

ASCII
Besides numerical data, computer must be able to handle alphabets, punctuation
marks, mathematical operators, special symbols, etc. that form the complete
character set of English language. The complete set of characters or symbols are
called alphanumeric codes. The complete alphanumeric code typically includes −
 26 upper case letters
 26 lower case letters
 10 digits
 7 punctuation marks
 20 to 40 special characters
Now a computer understands only numeric values, whatever the number system
used. So all characters must have a numeric equivalent called the
1 0 alphanumeric code. The most widely used alphanumeric code is
True False American Standard Code for Information Interchange (ASCII).
High Low ASCII is a 7-bit code that has 128 (27) possible codes.
ON OFF
ISCII
ISCII stands for Indian Script Code for Information Interchange. IISCII was developed
to support Indian languages on computer. Language supported by IISCI include
Devanagari, Tamil, Bangla, Gujarati, Gurmukhi, Tamil, Telugu, etc. IISCI is mostly
used by government departments and before it could catch on, a new universal
encoding standard called Unicode was introduced.
Unicode
Unicode is an international coding system designed to be used with different
language scripts. Each character or symbol is assigned a unique numeric value,
largely within the framework of ASCII. Earlier, each script had its own encoding
system, which could conflict with each other.
Boolean Operators
What Is Boolean Logic?
Boolean logic refers to the form of algebra where the variables have only 2 unique
values i.e. TRUE or FALSE or ON and OFF. These values are often used as 1 or 0 in
binary language or High and low logic respectively.

Boolean Function
A Boolean function is a logical operation of one or more than one variables whose
resultant is a single binary bit. It can only be either TRUE or FALSE. Boolean
functions are based on Boolean logic.
What is a Digital Logic Gate?
A digital logic gate is an electronic component which implements a Boolean
function. these logic gates may have two or more than two binary inputs and
provides a single binary output. Some of these basic logic gates are given below:

38
Types of Basic Logic Gates
 NOT Gate
NOT gate is a basic digital logic gate. This logic gate inverts its
input logic i.e LOW into HIGH and HIGH into LOW. It is also known
as logic Inverter & is also sometimes referred to as negation buffer. NOT gate is
a single input single output gate. The logical operator for NOT is ‘!’ and it inverts
its operand’s value. The Truth table for NOT gate is:
Input Output
1 0
0 1

AND Gate

AND function’s operator, the logical conjunction is denoted by ‘Λ’ or ‘.’. AND gate
has a minimum of two inputs and a single output. The truth table for AND gate is:
Input 1 Input 2 Output
0 0 0
0 1 0
1 0 0
1 1 1

OR Gate:
Digital logic OR Gate implements the logical OR function. Logical
OR function gives TRUE output if any of its operands are TRUE.
Thus, the output of OR gate is True if any of its Input is TRUE.

OR logic function is also known as inclusive disjunction. And its operator is ‘∨’ or
‘+’. OR gate has a minimum of two inputs and a single output. The truth table for
OR gate is:
Input Input Output
1 2

39
0 0 0
0 1 1
1 0 1
1 1 1

NAND Gate:
NAND Gate is a digital logic gate which performs negative AND
function. As its name suggests, NAND (NOT of AND) operation inverts
the output of AND operation. In other words, the output of the NAND
gate is Low only when all of its inputs are high.
NAND gate has a minimum of two inputs and a single output.
NAND gate’s truth table is:
Input Input Output
1 2
0 0 1
0 1 1
1 0 1
1 1 0

NOR Gate:
The digital NOR gate is a Negative-OR gate. The operation of NOR is
negation or NOT of logical OR gate. In other words, the output of
NOR gate is LOW when any of its input is HIGH and vice versa.
It has a minimum of two inputs and a single output.
The truth table of NOR gate is:

Input Input Output


1 2
0 0 1
0 1 0
1 0 0
1 1 0

XOR GATE:
Exclusive-OR or XOR gate is a digital logic gate used as a parity
checker. XOR gate provides output TRUE when the numbers of TRUE
inputs are odd. For a twoinput XOR gate, the output is TRUE if the
inputs are different. Otherwise, the gate will produce FALSE output.
The truth table of XOR gate is following:
Input Input Output
1 2
0 0 0
0 1 1
1 0 1
1 1 0

XNOR GATE:
XNOR gate or Exclusive NOR gate is the negative or inverse of XOR
gate. Generally, XNOR gate give output TRUE if it has EVEN number
of TRUE inputs.
The output of two-input XNOR gate is TRUE if the inputs are same.
When the inputs are different, the 2-input XNOR gate produces
FALSE output.
The following is the Truth table for XNOR gate:

40
Input Input Output
1 2
0 0 1
0 1 0
1 0 0
1 1 1

Concept of Algorithm and Flowchart


The algorithm and flowchart are two types of tools to explain the process of a
program. Algorithms and flowcharts are two different tools that are helpful for
creating new programs, especially in computer programming. An algorithm is a
step-by-step analysis of the process, while a flowchart explains the steps of a
program in a graphical way.
Writing a logical step-by-step method to solve the problem is called the algorithm.
In other words, an algorithm is a procedure for solving problems. In order to solve a
mathematical or computer problem, this is the first step in the process.
An algorithm includes calculations, reasoning, and data processing. Algorithms can
be presented by natural languages, pseudocode, and flowcharts, etc.
A flowchart is the graphical or pictorial representation of an algorithm with the help
of different symbols, shapes, and arrows to demonstrate a process or a program.
With algorithms, we can easily understand a program. The main purpose of using a
flowchart is to analyze different methods. Several standard symbols are applied in a
flowchart:
Common Abbreviations Used in flowchart :

41
Terminal Box - Start / End

Input / Output

Process / Instruction

Decision

Connector / Arrow

The symbols above represent different parts of a flowchart. The process in a


flowchart can be expressed through boxes and arrows with different sizes and
colors. In a flowchart, we can easily highlight certain elements and the relationships
between each part.
Difference between Algorithm and Flowchart
If you compare a flowchart to a movie, then an algorithm is the story of that movie.
In other words, an algorithm is the core of a flowchart. Actually, in the field of
computer programming, there are many differences between algorithm and
flowchart regarding various aspects, such as the accuracy, the way they display,
and the way people feel about them. Below is a table illustrating the differences
between them in detail.
Algorithm
 It is a procedure for solving problems.
 The process is shown in step-by-step instruction.
 It is complex and difficult to understand.
 It is convenient to debug errors.
 The solution is showcased in natural language.
 It is somewhat easier to solve complex problem.
 It costs more time to create an algorithm.
Flowchart
 It is a graphic representation of a process.
 The process is shown in block-by-block information diagram.
 It is intuitive and easy to understand.
 It is hard to debug errors.
 The solution is showcased in pictorial format.
 It is hard to solve complex problem.
 It costs less time to create a flowchart.
Example 1: Print 1 to 20:
Algorithm:

42
 Step 1: Initialize X as 0,
 Step 2: Increment X by 1,
 Step 3: Print X,
 Step 4: If X is less than 20 then go back to step 2.
Flowchart:

Example 2: Convert Temperature from Fahrenheit (℉) to Celsius (℃)


Algorithm:
 Step 1: Read temperature in Fahrenheit,
 Step 2: Calculate temperature with formula C=5/9*(F-32),
 Step 3: Print C.
Flowchart:

43
Example 3: Determine Whether A Student Passed the Exam or Not:
Algorithm:
 Step 1: Input grades of 4 courses M1, M2, M3 and M4,
 Step 2: Calculate the average grade with formula
"Grade=(M1+M2+M3+M4)/4"
 Step 3: If the average grade is less than 60, print "FAIL", else print "PASS".

Flowchart:

44
Basics of Computer Programming
Programming Language
As we know, to communicate with a person, we need a specific language, similarly
to communicate with computers, programmers also need a language is called
Programming language.
Before learning the programming language, let's understand what is
language?
What is Language?
Language is a mode of communication that is used to share ideas, opinions with
each other. For example, if we want to teach someone, we need a language that is
understandable by both communicators.
What is a Programming Language?
A programming language is a computer language that is used by programmers
(developers) to communicate with computers. It is a set of instructions written in
any specific language ( C, C++, Java, Python) to perform a specific task. A
programming language is mainly used to develop desktop applications, websites,
and mobile applications.
Types of programming language
1. Low-level programming language
Low-level language is machine-dependent (0s and 1s) programming language. The
processor runs low- level programs directly without the need of a compiler or
interpreter, so the programs written in low-level language can be run very fast.
Low-level language is further divided into two parts -
i. Machine Language
Machine language is a type of low-level programming language. It is also called as
machine code or object code. Machine language is easier to read because it is
normally displayed in binary or hexadecimal form (base 16) form. It does not
require a translator to convert the programs because computers directly understand
the machine language programs. The advantage of machine language is that it
helps the programmer to execute the programs faster than the high-level
programming language.
ii. Assembly Language
Assembly language (ASM) is also a type of low-level programming language that is
designed for specific processors. It represents the set of instructions in a symbolic
and human-understandable form. It uses an assembler to convert the assembly
language to machine language.
The advantage of assembly language is that it requires less memory and less
execution time to execute a program.
2. High-level programming language
High-level programming language (HLL) is designed for developing user-friendly
software programs and websites. This programming language requires a compiler
or interpreter to translate the program into machine language (execute the
program).

45
The main advantage of a high-level language is that it is easy to read, write, and
maintain.
High-level programming language includes Python, Java, JavaScript, PHP, C#, C++,
Objective C, Cobol, Perl, Pascal, LISP, FORTRAN, and Swift programming language.
A high-level language is further divided into three parts -
i. Procedural Oriented programming language
Procedural Oriented Programming (POP) language is derived from structured
programming and based upon the procedure call concept. It divides a program into
small procedures called routines or functions.
Procedural Oriented programming language is used by a software programmer to
create a program that can be accomplished by using a programming editor like IDE,
Adobe Dreamweaver, or Microsoft Visual Studio.
The advantage of POP language is that it helps programmers to easily track the
program flow and code can be reused in different parts of the program. Example: C,
FORTRAN, Basic, Pascal, etc.
ii. Object-Oriented Programming language
Object-Oriented Programming (OOP) language is based upon the objects. In this
programming language, programs are divided into small parts called objects.
It is used to implement real-world entities like inheritance, polymorphism,
abstraction, etc in the program to makes the program resusable, efficient, and
easy-to-use.
The main advantage of object-oriented programming is that OOP is faster and
easier to execute, maintain, modify, as well as debug. Example: C++, Java, Python,
C#, etc.
iii. Natural language
Natural language is a part of human languages such as English, Russian, German,
and Japanese. It is used by machines to understand, manipulate, and interpret
human's language. It is used by developers to perform tasks such as translation,
automatic summarization, Named Entity Recognition (NER), relationship extraction,
and topic segmentation.
The main advantage of natural language is that it helps users to ask questions in
any subject and directly respond within seconds.
3. Middle-level programming language
Middle-level programming language lies between the low-level programming
language and high-level programming language. It is also known as the
intermediate programming language and pseudo-language.
A middle-level programming language's advantages are that it supports the
features of high-level programming, it is a user-friendly language, and closely
related to machine language and human language. Example: C, C++, language
Most commonly used Programming Language
As we all know, the programming language makes our life simpler. Currently, all
sectors (like education, hospitals, banks, automobiles, and more ) completely
depend upon the programming language.
There are dozens of programming languages used by the industries. Some most
widely used programming languages are given below -
1. Python
Python is one of the most widely used user-friendly programming languages. It is an
open-source and easy to learn programming language developed in the 1990s. It is
mostly used in Machine Learning, Artificial Intelligence, Big Data, GUI based desktop
applications, and Robotics.
 Python is easy to read, easy to understand, and easy to write.
 It integrates with other programming languages like C, C++, and Java.
 Python executes code line-by-line, so it is easy for the programmer to find the
error that occurred in the code.

46
 Python is platform-independent means you can write code once and run it
anywhere.
Disadvantages
 Python is not suitable for developing mobile applications and games.
 Python works with the interpreter. That's why it is slower than other
programming languages like C and C++.
2. Java
Java is a simple, secure, platform-independent, reliable, architecture-neutral high-
level programming language developed by Sun Microsystems in 1995. Now, Java is
owned by Oracle. It is mainly used to develop bank, retail, information technology,
android, big data, research community, web, and desktop applications.
Advantages
 Java is easy to write, compile, learn, and debug as compared to other
programming languages.
 It provides an ability to run the same program on different platforms.
 It is a highly secured programming language because in java, there is no
concept of explicit pointers.
 It is capable of performing multiple tasks at the same time.

Disadvantages
 Java consumes more memory and slower than other programming languages
like C or C++.
 It does not provide a backup facility.
3. C
C is a popular, simple, and flexible general-purpose computer programming
language. Dennis M Ritchie develops it in 1972 at AT&T. It is a combination of both
low-level programming language as well as a high-level programming language.
It is used to design applications like Text Editors, Compilers, Network devices, and
many more.
Advantages
 C language is easy to learn.
 It is fast, efficient, portable, easy to extend, powerful, and flexible programming
language.
 It is used to perform complex calculations and operations such as MATLAB.
 It provides dynamic memory allocation to allocate memory at the run time.
Disadvantages
 In the C programming language, it is very difficult to find the errors.
 C does not support the concepts of constructors, destructors, abstraction,
polymorphism, encapsulation, and namespace like OOPs.
4. C++
C++ is one of the thousands of programming languages that we use to develop
software. C++ programming language is developed by Bjarne Stroustrup in 1980. It
is similar to the C programming language but also includes some additional features
such as exception handling, object-oriented programming, type checking, etc.
Advantages
 C++ is a simple and portable structured programming language.
 It supports OOPs features such as Abstraction, Inheritance, Encapsulation.
 It provides high-level abstraction and useful for a low-level programming
language, and more efficient for general-purpose.
 C++ is more compatible with the C language.
Disadvantages
 C++ programming language is not secured as compared to other programming
languages like Java or Python.
 C++ can not support garbage collection.

47
 It is difficult to debug large as well as complex web applications.
5. C#
C# (pronounced as C sharp) is a modern, general-purpose, and object-oriented
programming language used with XML based Web services on the .NET platform. It
is mainly designed to improve productivity in web applications. It is easier to learn
for those users who have sufficient knowledge of common programming languages
like C, C++, or Java.
Advantages
 C# is a modern, type-safe, easy, fast, and open-source programming language
that is easily integrated with Windows.
 The maintenance of C# (C sharp) is lower than the C++ programming language.
 C# is a pure object-oriented programming language.
 C# includes a strong memory backup facility. That's why it avoids the problem of
memory leakage.
Disadvantages
 C# is less flexible because it is completely based on Microsoft .Net framework.
 In C#, it is difficult to write, understand, debug, and maintain multithreaded
applications.
6. JavaScript
Javascript is a type of scripting language that is used on both client-side as well as a
server-side. It is developed in the 1990s for the Netscape Navigator web browser. It
allows programmers to implement complex features to make web pages alive. It
helps programmers to create dynamic websites, servers, mobile applications,
animated graphics, games, and more.
Advantage
 JavaScript helps us to add behavior and interactivity on the web page.
 It can be used to decrease the loading time from the server.
 It has the ability to create attractive, dynamic websites, and rich interfaces.
 JavaScript is a simple, versatile, and lightweight programming language.
 JavaScript and its syntax are easy to understand.
Disadvantage
 JavaScript is completely based on the browser.
 It does not support multiple inheritance.
 It is less secure compared to other programming languages.
7. R
Currently, R programming is one of the popular programming languages that is
used in data analytics, scientific research, machine learning algorithms, and
statistical computing. It is developed in 1993 by Ross Ihaka and Robert Gentleman.
It helps marketers and data scientists to easily analyze, present, and visualize data.
Advantages
 R programming provides extensive support for Data Wrangling.
 It provides an easy-to-use interface.
 It runs on any platform like Windows, Linux, and Mac.
 It is an open-source and platform-independent programming language.
Disadvantages
 R programming does not support 3D graphics.
 It is slower than other programming languages.
8. PHP
PHP stands for Hypertext Preprocessor. It is an open-source, powerful server-side
scripting language mainly used to create static as well as dynamic websites. It is
developed by Rasmus Laird in 1994. Inside the php, we can also write HTML, CSS,
and JavaScript code. To save php file, file extension .php is used.
Advantages
 PHP is a more secure and easy-to-use programming language.

48
 It supports powerful online libraries.
 It can be run on a variety of operating systems such as Windows, Linux, and
Mac.
 It provides excellent compatibility with cloud services.
Disadvantages
 PHP is not capable of handling a large number of applications and not suitable
for large applications.
 It is quite difficult to maintain.
9. Go
Go or Golang is an open-source programming language. It is used to build simple,
reliable, and efficient software. It is developed by Robert Griesemer, Rob Pike, and
Ken Thompson in 2007.
Advantages
 Go language is easy-to-learn and use.
 It comes with the in-built testing tools.
 Go is a fast programming language.
Disadvantages
 Go language does not support generics.
 It does not support error handling.
 It supports a lack of frameworks.
10. Ruby
Ruby is an open-source, general-purpose, and pure object-oriented programming
language released in 1993. It is used in front-end and back-end web development.
It is mainly designed to write CGI (Common Gateway Interface) scripts.
Advantages
 Ruby supports various GUI (Graphical User Interface) tools like GTK and OpenGL.
 It is used to develop both internet as well as intranet applications.
 The code written in Ruby is small and contains less number of lines.
Disadvantages
 Ruby is slower than other programming languages.
 It is very difficult for programmers to debug the code written in Ruby.
Difference Between Procedural and Object Oriented Programming
Parameter Procedural Programming Object Oriented Programming
This programming language This programming language uses
makes use of a step by step objects and classes for creating
approach for breaking down a models based on the real-world
task into a collection of environment.
Definition routines (or subroutines) and This model makes it very easy for
variables by following a a user to modify as well as
sequence of instructions. It maintain the existing code while
carries out each step new objects get
systematically in order so that created by inheriting the
a computer easily gets to characteristics of the present
understand what to do. ones.
Procedural Programming does Hiding data is possible with
not offer any method of hiding Object Oriented Programming due
Security data. Thus, it is less secure to the abstraction. Thus, it is more
when compared to Object secure than the Procedural
Oriented programming. Programming.
The main program gets divided It involves the concept of
into minute parts on the basis classes and objects. Hence,
Method of the functions. It then treats it divides the program into
them as separate programs for minute chunks known as

49
smaller programs individually. objects. These are actually
instances of classes.
Division of Procedural Programming Object Oriented Programming
Program divides divides the program into small
the program into small parts and refers to them as
programs and refers to them objects.
as functions.
Movement Available data is capable of The objects are capable of moving
of moving freely within the and communicating with each
Data system other through the member
from one function to another. functions.
Approach The Procedural Programming The Object Oriented Programming
follows a Top-Down approach. follows a Bottom-Up approach.
This programming model does This programming model gives
not give importance to data. It importance to the data rather than
Importance prioritizes the functions along functions or procedures. It is
with the sequence of actions because it
that needs to follow. works on the basis of the real
world.
Orientation It is Structure/Procedure It is Object Oriented.
oriented.
The main focus in Procedural The main focus in Object Oriented
Basis Programming is on how to do Programming is on data security.
the task, meaning, on the Hence, it only permits objects to
structure or procedure of the access
program. the class entities.
Type of It divides any large program It divides the entire program into
Division into small units called objects.
small units called functions.
Inheritance It does not provide any It achieves inheritance in three
inheritance. modes- protected, private, and
public.
Virtual There is no concept of virtual The concept of virtual functions
Classes classes. appears at the time of inheritance.
The case of overloading isn’t Overloading is possible in the form
Overloading possible in the case of of operator overloading and
Procedural Programming. function
overloading in the case of Object
Oriented Programming.
Reusability No feature of reusing codes is Object Oriented Programming
of present in Procedural offers the feature to reuse any
Code programming. existing codes in it by utilizing a
feature known as
inheritance.
Most It prioritizes function over It prioritizes data over function.
Important data.
Attribute
The Procedural Programming The Object Oriented Programming
Modes of offers no specific accessing offers three accessing
Access mode for accessing functions modesprotected,
or attributes in a program. private, and public. These, then,
serve as a share to access
functions of attributes.

50
Size of It is not very suitable for It is suitable for solving any
Problems solving big or complex problems.
any big or complex problems.
Addition of It is not very easy to add new It is very easy to add new
New functions and data in the functions and data in the Object
Function Procedural Programming. Oriented
and Data Programming.
In the Procedural In the Object Oriented
Programming, Programming, the present data
Access to most of the functions use cannot easily move
Data global easily from one function to
data for sharing. They can another. One can keep it private
access freely from one or even public. Thus, a user can
function control the data
to another in any given access.
system.
It shares the global data It shares data among the objects
Data among through its member functions.
Sharing the functions present in the
program.
No proper way is available for It can hide data in three modes-
Data Hiding hiding the data. Thus, the data protected, private, and public. It
remains insecure. increases the overall data
security.
Basis of The Procedural Programming The Object Oriented programming
World follows an unreal world. follows the real world.
Any class or function is capable of
Friend It doesn’t involve any concept becoming a friend of any other
Classes or of class that contains the keyword
Friend friend function. “friend.”
Functions Note – The keyword “friend”
only works for C++.
Examples Some common examples of The examples of Object Oriented
Procedural Programming are C, Programming languages are Java,
Fortran, VB, and Pascal. C++, VB.NET, Python, and
C#.NET.

Compiler and Interpreter


The Compiler and Interpreter, both have similar works to perform. Interpreters and
Compilers convert the Source Code (HLL) to Machine Code (understandable by
Computer). In general, computer programs exist in High-Level Language that a
human being can easily understand. But computers cannot understand the same
high-level language, so for computers, we have to convert them into machine
language and make them readable for computers. In this article, we are going to
see the differences between them.
Compiler
The Compiler is a translator which takes input i.e., High-Level Language, and
produces an output of low-level language i.e. machine or assembly language. The
work of a Compiler is to transform the codes written in the programming language
into machine code (format of 0s and 1s) so that computers can understand.
 A compiler is more intelligent than an assembler it checks all kinds of limits,
ranges, errors, etc.

51
 But its program run time is more and occupies a larger part of memory. It has a
slow speed because a compiler goes through the entire program and then
translates the entire program into machine codes.
Role of a Compiler
For Converting the code written in a high-level language into machine-level
language so that computers can easily understand, we use a compiler. Converts
basically convert high-level language to intermediate assembly language by a
compiler and then
assembled into
machine code by an
assembler.

Advantages of Compiler
 Compiled code runs faster in comparison to Interpreted code.
 Compilers help in improving the security of Applications.
 As Compilers give Debugging tools, which help in fixing errors easily.
Disadvantages of Compiler
 The compiler can catch only syntax errors and some semantic errors.
 Compilation can take more time in the case of bulky code.
Interpreter
An Interpreter is a program that translates a programming language into a
comprehensible language. The interpreter converts high-level language to an
intermediate language. It contains pre-compiled code, source code, etc.
 It translates only one statement of the program at a time.
 Interpreters, more often than not are smaller than compilers.
Role of an Interpreter
The simple role of an interpreter is to translate the material into a target language.
An Interpreter works line by line on a code. It also converts high level language to
machine language.

Advantages of Interpreter
 Programs written in an Interpreted language are easier to debug.
 Interpreters allow the management of memory automatically, which reduces
memory error risks.
 Interpreted Language is more flexible than a Compiled language.
Disadvantages of Interpreter
 The interpreter can run only the corresponding Interpreted program.
 Interpreted code runs slower in comparison to Compiled code.
Difference Between Compiler and Interpreter
Compiler Interpreter
Steps of Programming: Steps of Programming:

52
 Program Creation.  Program Creation.
 Analysis of language by the compiler  Linking of files or generation of
and throws errors in case of any Machine Code is not required by
Incorrect statement. Interpreter.
 In case of no error, the Compiler  Execution of source statements one
converts the source code to Machine by one.
Code.
 Linking of various code files into a
runnable program.
 Finally runs a Program.
The compiler saves the Machine The Interpreter does not save the
Language in form of Machine Code on Machine
disks. Language.
Compiled codes run faster than Interpreted codes run slower than
Interpreter. Compiler.
Linking-Loading Model is the basic The Interpretation Model is the basic
working model of the Compiler. working
model of the Interpreter.
The compiler generates an output in the The interpreter does not generate any
form of (.exe). output.
Any change in the source program after Any change in the source program
the during the
compilation requires recompiling the translation does not require retranslation
entire code. of the
entire code.
Errors are displayed in Compiler after Errors are displayed in every single line.
Compiling together at the current time.
The compiler can see code upfront which The Interpreter works by line working of
helps in running the code faster Because Code,
of performing Optimization. that’s why Optimization is a little slower
compared to Compilers.
It does not require source code for later It requires source code for later
execution. execution.
Execution of the program takes place Execution of the program happens after
only after the whole program is every
compiled. line is checked or evaluated.
Compilers more often take a large In comparison, Interpreters take less
amount of time for analyzing the source time for
code. analyzing the source code.
CPU utilization is more in the case of a CPU utilization is less in the case of a
Compiler. Interpreter.
The use of Compilers mostly happens in The use of Interpreters is mostly in
Production Environment. Programming and Development
environments.
Object code is permanently saved for No object code is saved for future use.
future use.
C, C++, C# etc are programming Python , Ruby, Perl, SNOBOL, MATLAB,
languages etc are programming languages that are
that are compiler-based. interpreter based.

53

You might also like