Professional Documents
Culture Documents
Software and Its Need, Types of Software- System Software, Application Software, System Software-
Operating System- definition & function, Device Drivers & Utility Programs, Introduction & Features of
DOS, Windows. Programming Languages- Machine, Assembly, High Level, 4GL, their Merits and
Demerits, Uses of Assemblers, Compilers and Interpreter.
Application Software and its Types- Word Processing, Spreadsheet, Presentation Graphics, Data Base
Management, Desktop Publishing, communication, Educational, Graphics & Multimedia, Business
Accounting, MIS, Gaming and ERP Software etc. Computer coding system-ASCII, ISCII and Unicode,
Number system of compute Binary, Octal, Decimal, Hexadecimal their conversion.
Software -
Software refers to a set of programs that tell a computer or other electronic device what to do. Software
provides the instructions and algorithms that enable computers to carry out tasks such as running
applications, browsing the web, playing games, editing documents, and more.
It is an essential component of modern computing and is used in a wide range of industries, including
education, entertainment, healthcare, finance, and more.
Automation: Software can automate repetitive and tedious tasks, freeing up time and resources for
more important work.
Accuracy: Software can perform tasks with greater accuracy than humans, reducing the risk of errors.
Customization: Software can be customized to meet the specific needs of businesses or individuals,
allowing for greater flexibility and control.
Scalability: Software can be designed to handle large amounts of data and scale as the business
grows.
Cost savings: Software can reduce the cost of performing certain tasks, such as accounting or
inventory management, by eliminating the need for manual labor.
Innovation: Software enables us to develop new products and services, providing innovative
solutions to complex problems.
Overall, software is an essential component of modern technology, without software, many of the tasks
we take for granted today would be much more challenging, time-consuming, and less efficient.
Types of Software -
Software is classified into different types based on its purpose and functionality, and each type plays a
critical role in modern technology. Here are some common types of software:
System software: This type of software is designed to manage and operate the computer hardware
and provide a platform for other software to run on. Examples include operating systems like Windows,
macOS, and Linux.
Application software: This type of software is designed to perform specific tasks for end-users,
such as word processing, graphic design, or accounting. Examples include Microsoft Office, Adobe
Creative Suite, and QuickBooks.
System Software -
System software is a type of software that provides a platform for other software applications to run on
and manages the computer hardware. It is designed to control and coordinate the activities and
functions of a computer system, including the operating system, device drivers, utilities, and
programming tools. Here are some examples of system software:
Operating systems: An operating system (OS) is the most important type of system software, as it
provides the foundation for all other software applications to run on. The operating system is the most
important type of system software in a computer system, and it is responsible for managing the
computer's resources, including the CPU, memory, and storage devices.
Device drivers: These are software programs that allow the operating system to communicate with
hardware devices such as printers, scanners, and sound cards. When you connect a hardware device to
your computer, the operating system needs a device driver to interact with that device and perform the
necessary operations. A device driver acts as an interface between the operating system and the
hardware device.
Device drivers are essential for the proper functioning of hardware devices, and they need to be
installed and updated regularly to ensure that the device and the operating system work together
correctly.
Utilities: Utilities software is designed to improve the performance, efficiency, and overall
functionality of a computer system. These are system software programs that perform various tasks
such as file management, disk formatting, and system maintenance.
Antivirus software - Protects the computer system from viruses, malware, and other threats.
Disk cleanup and optimization tools - Removes temporary files, junk files, and other unnecessary
data from the hard disk to free up space and optimize performance.
Compression software - Allows users to compress files and folders to reduce their size and store
them for easy sharing.
Programming tools: These are software programs used by developers to create and maintain
other software programs. Examples include compilers, debuggers, and integrated development
environments (IDEs).
Virtualization software: This type of system software allows multiple operating systems to run
on the same physical machine simultaneously. Examples include VMware and VirtualBox.
Overall, System software plays a critical role in managing and coordinating the activities of a computer
system, providing a platform for other software applications to run on, and enabling users to interact
with computer hardware in a more efficient and effective way.
Single-tasking: DOS was a single-tasking operating system, which means that it could only run one
program or task at a time. Users had to close one program before starting another.
File management: DOS provided basic file management functions, such as creating, renaming,
moving, copying, and deleting files and folders.
Memory management: DOS had limited memory management capabilities, and users had to
manage memory manually by using memory-resident programs.
Compatibility: DOS was designed to be compatible with a wide range of hardware devices, and it
could run on a variety of computer systems.
Despite its limitations, DOS was a groundbreaking operating system that paved the way for modern
operating systems like Windows and Linux. DOS was also popular for its simplicity, and many users still
prefer it for its speed and reliability.
Multi-tasking: Windows is a multi-tasking operating system, which means that it can run multiple
programs and tasks simultaneously.
File management: Windows provides advanced file management functions, such as creating,
renaming, moving, copying, and deleting files and folders.
Memory management: Windows manages memory automatically, and users do not have to
manage memory manually.
Device drivers: Windows has a large library of device drivers, and most hardware devices are
supported out of the box.
Compatibility: Windows is designed to be compatible with a wide range of hardware devices and
software programs.
Networking: Windows provides advanced networking capabilities, including support for wired and
wireless networks, remote access, and sharing files and printers over a network.
Security: Windows includes built-in security features, such as Windows Defender, firewall, and user
account control, to protect the system from viruses, malware, and other security threats.
Overall, Windows is a powerful and flexible operating system that has become the standard for personal
computers. Its user-friendly interface, advanced features, and compatibility with a wide range of
hardware and software make it a popular choice for both home and business users.
Programming Language -
The language which is used to give instructions to the machine to solve a particular problem is called
programming language.
Simply, The languages that are used to write a program or set of instructions are called “Programming
languages”.
In other words, A programming language is a set of vocabulary and grammatical rules for instructing a
computing device or machine to perform specific tasks.
The computer cannot understand anything except 0 and 1. All instructions have to be given through
these 0 and 1. It is called mechanical language. Machine language is the mother tongue of computer.
This language is difficult for people to understand. So later different types of programming languages
have emerged. The programming languages such as BASIC, C, C++, COBOL, Java, FORTRAN, Ada, Pascal
etc.
Ada Loveless (daughter of Lord Byron, a London-based poet) wrote the first program to solve various
problems. That’s why Ada Augusta is considered the world’s first computer programmer.
Also known as machine language, the language in which only 0 and 1 are used to write a program is
called machine language. This is the basic language of computers or any computing devices. Machine
language is the only language a computer is capable of understanding. Using this language, it is possible
to communicate with computers directly.
Machine language is first generation and low-level programming language. This language is called low-
level language because it is directly related to hardware. The program written in machine language is
called object program.
1. It is directly understood by the computer. That’s why it is possible to communicate with computers
directly.
2. The main advantage is that program of machine language run very fast because no translator program
is required for the CPU.
1. It is very difficult to learn and program in machine language as only 0 &1 are used.
3. It takes more time to write a program in machine language and It is difficult to debug the program.
4. This language is machine dependent. That means a program written for one computer might not run
in other computers with different hardware configuration.
5. The programmer has to know details of hardware to write a program in machine language.
Second-generation programming languages (2GL): The language in which different mnemonics are
used to write a program is called assembly language. In this language alphanumeric symbols are used
to write programs instead of 0’s and l’s.
These alphanumeric symbols are known as mnemonic codes and can combine in a maximum of five-
letter combinations e.g. ADD for addition, SUB for subtraction, DIV for division, MUL for multiplication
etc. Because of this feature, assembly language is also known as ‘Symbolic Programming Language.
Assembly language is second-generation language and low-level language. It was mostly used
programming language for second generation computers. Although this language is more developed
than machine language, it is not equivalent to high-level language, so assembly language is called low-
level language. A translator program is required to translate the Assembly Language to machine
language. This translator program is called `Assembler’.
1. Assembly language is easier to understand and write a program as compared to machine language.
1. One of the major disadvantages is that assembly language is machine dependent. A program written
for one computer might not run in other computers with different hardware configuration.
2. Since it is machine dependent, the programmer also needs to understand the hardware.
Third-generation programming languages (3GL): High-level programming languages mean that the
languages are easily understandable and close to human language. These languages are similar to
human language like English and machine independent that’s why these languages are called high level
programming language.
These languages are easy to understand for people but computers cannot understand directly. So, it
needs to convert the program written in high level language into machine language using a translator
program.
Some examples of high-level programming languages are Fortran, Basic, Pascal, Cobol, C, C++, Visual
Basic, Java, Oracle, Python etc.
Today almost all programs are developed using a high-level programming language. We can develop a
variety of applications using high level language. They are used to develop desktop applications,
websites, system software’s, utility software’s and many more.
1. High level languages are programmer friendly. They are easy to learn as well as easy to write and
maintain the program.
1. The problem with high-level languages is that they cannot communicate directly with the hardwares
or computers.
2. It needs translator program and It takes additional translation times to translate the source to
machine code.
3. High level programs are comparatively slower than low level programs.
4. Compared to low level programs, they need more memory space to run.
Merits of 4GL:
1. User-Friendly: 4GL is designed to be easy to use and understand, even for non-technical users. This
makes it easier for non-programmers to create programs, which is useful in situations where the end-
users are not programmers.
2. Productivity: 4GL languages can be more productive than lower-level programming languages
because they often require fewer lines of code to perform a task. This means that developers can write
programs faster and with fewer errors.
3. Platform Independence: 4GL languages are often platform-independent, which means they can run
on multiple operating systems without needing to be recompiled.
4. Reduced Complexity: 4GL languages often simplify programming by reducing the amount of low-level
coding required. This can lead to fewer bugs and easier maintenance.
5. Integration with Databases: Many 4GL languages are designed to work seamlessly with databases,
making it easier to write programs that manipulate data.
Demerits of 4GL:
1. Limited Functionality: While 4GL languages are good for creating simple programs, they may not have
the full range of functionality required for complex applications.
2. Performance: Because 4GL languages often run at a higher level of abstraction (the language that
provides a more simplified and user-friendly way to express a programming concept, by hiding lower-level details
of the system), they can be slower and less efficient than lower-level languages.
3. Cost: Many 4GL languages require specialized development environments or software, which can be
expensive.
4. Lack of Control: Because 4GL languages abstract away many of the low-level details of programming,
they may not give developers the same level of control over their programs as lower-level languages.
Fifth-generation programming languages (5GL): Fifth Generation Language is also called natural
language. Fifth generation languages are designed to make the computer solve a given problem without
the programmer. Fifth-generation languages are used mainly in artificial intelligence research, to
manufacture artificial intelligence (AI) based devices or machines and expert systems. Intelligent
Compiler is used to translate the program written in 5GL to machine language. Examples include
Mercury, OPS5, Prolog, and Natural languages.
Merits of 5GL:
1. Natural language programming: 5GLs allow developers to write programs using natural language,
which can make it easier for non-technical users to create programs.
2. High-level abstractions: 5GLs provide high-level abstractions that allow developers to focus on the
problem they are trying to solve rather than the details of how to solve it.
3. Automated code generation: 5GLs often include tools for automated code generation, which can
reduce the amount of time and effort required to create complex programs.
4. Integration with other systems: 5GLs are often designed to work with other systems and
technologies, such as databases, web services, and mobile devices.
Demerits of 5GL:
1. Limited adoption: 5GLs are not widely used and are often considered experimental or research-
oriented.
2. Limited control over code: 5GLs often generate code automatically, which can make it difficult for
developers to fine-tune the code to meet their specific requirements.
3. Limited flexibility: 5GLs are designed to solve specific types of problems and may not be flexible
enough to handle more complex or varied problems.
4. Limited debugging tools: 5GLs often generate code automatically, which can make it more difficult
to debug problems in the code.
It's worth nothing that some people may have slightly different definitions or classifications for
programming language generations, but these five are the most commonly recognized.
An interpreter, on the other hand, is a program that reads the source code and executes it line by
line, without first translating it into machine code. Interpreted code is typically slower than compiled
code because the source code must be interpreted every time it is executed.
An assembler is a program that converts assembly language code into machine code. Assembly
language is a low-level programming language that is used to directly communicate with the computer
hardware. Assembly code is generally less readable and less maintainable than high-level programming
languages, but it allows for precise control over the computer's hardware.
1. Word processing software is an application software used to create, edit, format, and print
documents. It is one of the most commonly used types of application software, and is essential
for creating and editing text-based documents such as letters, memos, reports, and other forms
of written communication. Some of the key features of word processing software include Text
formatting, Spell check, AutoCorrect, Graphics and multimedia etc. Examples of word
processing software include Microsoft Word, Google Docs, and Apple Pages.
5. Desktop publishing software is an application software used to create, design, and publish
printed and digital materials, such as books, magazines, brochures, flyers, and newsletters. This
is an essential tool for graphic designers, publishers, and businesses. It enables users to combine
text, graphics, and images to create professional-quality publications. The most popular desktop
publishing software is Adobe InDesign, but there are other popular options such as Microsoft
Publisher, QuarkXPress, and Scribus.
Email clients: Email clients such as Microsoft Outlook, Gmail, and Yahoo Mail allow users to
send and receive email messages.
Instant messaging apps: Instant messaging apps such as WhatsApp, Facebook Messenger, and
Telegram allow users to send text, voice, and video messages in real-time.
Video conferencing apps: Video conferencing apps such as Zoom, Google Meet, and Microsoft
Teams allow users to hold virtual meetings with colleagues or clients.
Social media apps: Social media apps such as Twitter, Instagram, and LinkedIn allow users to
connect with others, share updates, and communicate through direct messaging.
Voice over Internet Protocol (VoIP) apps: VoIP apps such as Skype and Viber allow users to
make voice and video calls over the internet.
File sharing apps: File sharing apps such as Dropbox and Google Drive allow users to share files
and collaborate on documents in real-time.
7. Educational software refers to computer programs designed to help students learn and
teachers teach. Educational software can be used in a variety of settings, such as in classrooms,
at home, and for self-study. Educational software can be used to supplement traditional
classroom instruction, provide individualized learning, and facilitate distance learning. Some
popular educational software applications include Blackboard, Canvas, Moodle, Rosetta Stone,
Duolingo, and Khan Academy.
8. Graphics and multimedia software refers to computer programs that enable users to create,
edit, and manipulate various types of digital media, such as images, graphics, audio, and video.
Graphics and multimedia software can be used in a variety of industries, such as advertising,
marketing, entertainment, and education. Some popular graphics and multimedia software
applications include Adobe Photoshop, Illustrator, Premiere Pro, After Effects, Autodesk Maya,
Blender, Pro Tools, and Unity.
9. Business accounting software is computer software designed to help businesses manage their
financial transactions, record-keeping, and accounting operations. Business accounting
software can be used by small businesses, large corporations, and accountants to manage their
finances, create financial reports, and comply with tax regulations. Some popular business
accounting software applications include QuickBooks, Xero, FreshBooks, Wave, Sage 50cloud,
and NetSuite.
10. MIS (Management Information System) software refers to computer programs that provide
tools for managing and processing data related to business operations. MIS software can be
used in various industries, such as manufacturing, retail, healthcare, and finance, to collect,
store, analyze, and report data. Some popular MIS software applications include SAP, Oracle,
11. Gaming software refers to computer programs designed for the creation and playing of video
games. Gaming software can range from game engines that provide tools for developing games
to game clients that allow players to connect and play games online. Some popular gaming
software applications include Unity, Unreal Engine, Adobe Creative Suite, Steam, Roblox, and
Minecraft.
12. ERP (Enterprise Resource Planning) software is a suite of integrated applications that
organizations use to manage their core business processes, such as accounting, finance, human
resources, inventory management, and customer relationship management. ERP software
provides a centralized database that allows different departments to access and share data in
real-time, improving communication and collaboration. Some popular ERP software
applications include SAP, Oracle, Microsoft Dynamics, NetSuite, and Infor.
Overall, communication application software has become an essential tool for individuals,
businesses, and organizations to connect and collaborate with others in a variety of ways. It enables
users to communicate effectively and efficiently, no matter where they are located.
computer coding system - ascii, iscii and Unicode : ASCII, ISCII, and Unicode
are all computer coding systems that are used to represent text characters in digital form. Here is a brief
overview of each:
ISCII (Indian Script Code for Information Interchange) is a character encoding system
developed in the 1980s by the Indian government to represent the various writing systems used in India.
ISCII supports a wide range of Indic scripts, including Devanagari, Bengali, Gujarati, Tamil, and Telugu.
ISCII uses 8 bits to represent each character, which allows for 256 possible characters.
Unicode (Universal Code) is a universal character encoding system that was developed in the
1990s to address the limitations of ASCII and other character encoding systems. Unicode uses a variable-
length encoding scheme that can represent up to 1,114,112 characters, including characters from all
major scripts of the world. Unicode is widely used today in software and operating systems, particularly
for multilingual applications and the World Wide Web.
Overall, Unicode has become the dominant coding system used in modern computer systems, as it
offers a more comprehensive and flexible approach to representing text characters from all languages
and scripts.
Number System, its Type and conversion : The number system or the numeral
system is the system of naming or representing numbers. In simple terms, for representing the
information, we use the number system in the digital form.
Types of Number System : In the digital computer, there are various types of number
systems used for representing information.
Binary Number System: Generally, a binary number system is used in the digital computers. In
this number system, it carries only two digits, either 0 or 1. There are two types of electronic pulses
present in a binary number system. The first one is the absence of an electronic pulse representing
'0'and second one is the presence of electronic pulse representing '1'. Each digit is known as a bit. A
four-bit collection (1101) is known as a nibble, and a collection of eight bits (11001010) is known as a
byte. The location of a digit in a binary number represents a specific power of the base (2) of the number
system.
Characteristics:
Decimal Number System: The decimal numbers are used in our day to day life. The decimal
number system contains ten digits from 0 to 9(base 10). Here, the successive place value or position,
left to the decimal point holds units, tens, hundreds, thousands, and so on.
The position in the decimal number system specifies the power of the base (10). The 0 is the minimum
value of the digit, and 9 is the maximum value of the digit. For example, the decimal number 2541
consist of the digit 1 in the unit position, 4 in the tens position, 5 in the hundreds position, and 2 in the
thousand positions and the value will be written as:
Octal Number System: The octal number system has base 8(means it has only eight digits
from 0 to 7). There are only eight possible digit values to represent a number. With the help of only
three bits, an octal number is represented. Each set of bits has a distinct value between 0 and 7. Below,
we have described certain characteristics of the octal number system:
Characteristics:
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Characteristics:
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
conversion : As, we have four types of number systems so each one can be converted into the
remaining three systems. There are the following conversions possible in Number System,
Binary to Decimal Conversion: The process of converting binary to decimal is quite simple. The
process starts from multiplying the bits of binary number with its corresponding positional weights. And
lastly, we add all those products. Let's take an example to understand how the conversion is done from
binary to decimal.
Example 1: (10110)2
We multiplied each bit of (10110)2 with its respective positional weight, and last we add the products of
all the bits with its weight.
(10110)2=(1×24)+(0×23)+(1×22)+(1×21)+(0×20)
(10110)2=(1×16)+(0×8)+(1×4)+(1×2)+(0×1)
(10110)2=16+0+4+2+0+0+0
(10110)2=(22 )10
Binary to Octal Conversion: The base numbers of binary and octal are 2 and 8, respectively. In
a binary number, the pair of three bits is equal to one octal digit. There are only two steps to convert a
binary number into an octal number which are as follows:
1. In the first step, we have to make the pairs of three bits on both sides of the binary point. If
there will be one or two bits left in a pair of three bits pair, we add the required number of zeros
on extreme sides.
2. In the second step, we write the octal digits corresponding to each pair.
Example 1: (111110101011)2
1. Firstly, we make pairs of three bits on both sides of the binary point.
On the right side of the binary point, the last pair has only one bit. To make it a complete pair of three
bits, we added two zeros on the extreme side.
(111110101011)2=(7653)8
Binary to Hexadecimal Conversion: The base numbers of binary and hexadecimal are 2 and
16, respectively. In a binary number, the pair of four bits is equal to one hexadecimal digit. There are
also only two steps to convert a binary number into a hexadecimal number which are as follows:
AD
1. In the first step, we have to make the pairs of four bits on both sides of the binary point. If there
will be one, two, or three bits left in a pair of four bits pair, we add the required number of zeros
on extreme sides.
2. In the second step, we write the hexadecimal digits corresponding to each pair.
Example 1: (10110101011)2
1. Firstly, we make pairs of four bits on both sides of the binary point.
On the left side of the binary point, the first pair has three bits. To make it a complete pair of four bits,
add one zero on the extreme side.
(011110101011)2=(7AB)16
Decimal to Binary Conversion: For converting decimal to binary, we perform the division
operation on the integer with the base of binary(2).
Example 1: (152)10
Divide the number 152 and its successive quotients with base 2.
152/2 76 0 (LSB)
76/2 38 0
38/2 19 0
19/2 9 1
9/2 4 1
4/2 2 0
2/2 1 0
1/2 0 1(MSB)
(152)10=(10011000)2
Decimal to Octal Conversion: For converting decimal to octal, we perform the division
operation on the integer with the base of octal(8).
Example 1: (152)10
Divide the number 152 and its successive quotients with base 8.
152/8 19 0
19/8 2 3
2/8 0 2
(152)10=(230)8
Lakshya Institute of Technology and Management
Gufa Mandir Road, Near Bank of Baroda, Lalghati, Bhopal, MP, For More Call 9425015475
19
FUNDAMENTAL OF COMPUTERS AND INFORMATION TECHNOLOGY 1PGDCA2/1DCA2
UNIT – 3
Example 1: (152)10
Divide the number 152 and its successive quotients with base 16.
152/16 9 8
9/16 0 9
(152)10=(98)16
Octal to Decimal Conversion: The process of converting octal to decimal is the same as binary
to decimal. The process starts from multiplying the digits of octal numbers with its corresponding
positional weights.
Example 1: (152)8
(152)8=(1×82)+(5×81)+(2×80)
(152)8=64+40+2
(152)8=64+40+2
(152)8=106
Octal to Binary Conversion: The process of converting octal to binary is the reverse process of
binary to octal. We write the three bits binary code of each octal number digit.
Example 1: (152)8
Octal to hexadecimal conversion: For converting octal to hexadecimal, there are two steps
required to perform, which are as follows:
1. In the first step, we will find the binary equivalent of number 152.
2. Next, we have to make the pairs of four bits. If there will be one, two, or three bits left in a pair
of four bits pair, we add the required number of zeros on extreme sides and write the
hexadecimal digits corresponding to each pair.
Example 1: (152.25)8
Step 1:
Step 2:
1. Now, we make pairs of four bits on both sides of the binary point.
0 0110 1010
Example 1: (152A)16
(152A)16=(1×163)+(5×162)+(2×161)+(A×160)
(152A)16=(1×4096)+(5×256)+(2×16)+(10×1)
(152A)16=4096+1280+32+10
(152A)16=5418
Example 1: (152A)16
Hexadecimal to Octal Conversion: For converting hexadecimal to octal, there are two steps
required to perform, which are as follows:
1. In the first step, we will find the binary equivalent of the hexadecimal number.
2. Next, we have to make the pairs of three bits on both sides of the binary point. If there will be
one or two bits left in a pair of three bits pair, we add the required number of zeros on extreme
sides and write the octal digits corresponding to each pair.
Example 1: (152A)16
Step 2:
(001010100101010)2=(12452)8