KEMBAR78
Computer Software | PDF | Object Oriented Programming | Computer Programming
0% found this document useful (0 votes)
50 views16 pages

Computer Software

The document provides a comprehensive overview of computer software, categorizing it into system software, application software, and programming software, along with their functions and examples. It also covers algorithms, flowcharts, and computer languages, detailing their importance and characteristics. Additionally, it explains various utility programs and specific purpose software used in different applications.

Uploaded by

cs66lokesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views16 pages

Computer Software

The document provides a comprehensive overview of computer software, categorizing it into system software, application software, and programming software, along with their functions and examples. It also covers algorithms, flowcharts, and computer languages, detailing their importance and characteristics. Additionally, it explains various utility programs and specific purpose software used in different applications.

Uploaded by

cs66lokesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

SUMMARY SHEET

Computer Software

Computer Software

hello@edutap.co.in 1|Page http://www.edutap.co.in


Contents
1 Software ................................................................................................................................................ 4
System Software ........................................................................................................................... 4
1.1.1 Operating System .................................................................................................................. 4
1.1.2 Utility Programs .................................................................................................................... 4
1.1.3 Device Drivers ....................................................................................................................... 5
1.1.4 Language Translator.............................................................................................................. 5
Application Software..................................................................................................................... 7
1.2.1 General Purpose Software .................................................................................................... 7
1.2.2 Specific Purpose Software .................................................................................................... 8
Programming Software ................................................................................................................. 8
2 Algorithm .............................................................................................................................................. 8
Need for Algorithm ....................................................................................................................... 9
Characteristics of Algorithm ......................................................................................................... 9
How to Design an Algorithm? ....................................................................................................... 9
3 Flowcharts ............................................................................................................................................. 9
Flowchart symbols ...................................................................................................................... 10
Uses of Flowcharts in Computer Programming/Algorithms ....................................................... 10
4 Computer Language ............................................................................................................................ 11
Low level language ...................................................................................................................... 11
4.1.1 Machine language ............................................................................................................... 11
4.1.2 Assembly language.............................................................................................................. 11
High level Language .................................................................................................................... 11
4.2.1 Procedural Programming Languages .................................................................................. 12
4.2.2 Object Oriented Languages................................................................................................. 12
Elements of Programming Language .......................................................................................... 13
4.3.1 Data Type ............................................................................................................................ 13
4.3.2 Syntax .................................................................................................................................. 13
4.3.3 Variable ............................................................................................................................... 13
4.3.4 Constant .............................................................................................................................. 13
4.3.5 Statements .......................................................................................................................... 13
4.3.6 Expressions.......................................................................................................................... 14
4.3.7 Functions/Methods ............................................................................................................. 14

hello@edutap.co.in 2|Page http://www.edutap.co.in


4.3.8 Classes and Objects (Object-Oriented Programming) ........................................................ 14
4.3.9 Comments ........................................................................................................................... 14
4.3.10 Libraries and Modules......................................................................................................... 14
5 Other Important related Terms .......................................................................................................... 14

hello@edutap.co.in 3|Page http://www.edutap.co.in


1 Software
Software, which is abbreviated as SW or S/W, is a collection of instructions, data, or programs
that are designed to enable a computer system to perform specific tasks or functions. All the
programs that run the computer are software.

Software is essential for controlling and coordinating the hardware components of a computer
system, enabling users to interact with the machine and accomplish various computing tasks.
Software

System Software Application Software Programming Software

Operating System General Purpose

Utility Programs Specific Purpose

Device drivers

Language Translators

System Software
✓ The system software is the main software that runs the computer. It serves as an interface
between a computer user, computer hardware, and application software. The application
programs are also controlled by system software.
✓ Based on the functionality, there are four types of system software

1.1.1 Operating System


✓ An operating system works as an interface to enable the user to communicate with the
computer. It manages and coordinates, the functioning of the hardware and software of
the computer.
✓ The Operating System performs the following function:
• It recognizes input from the keyboard and sends output to the display screen.
• It makes sure that the program running at the same time does not interfere with each
other.
• It is also responsible for the security and ensure that unauthorized user do not access the
system.
✓ The commonly used operating systems are Microsoft Windows, Linux, and Apple Mac OS
X.

1.1.2 Utility Programs


✓ Utility Programs help to manage, maintain, and control computer resources. They are also
known as service programs.
✓ They are used to support, enhance, expand, and secure existing programs and data in the
computer.
✓ Examples of utility programs are:
hello@edutap.co.in 4|Page http://www.edutap.co.in
1.1.2.1 Disk Compression
✓ It increases the amount of information that can be stored on a hard disk by compressing
all information stored on a hard disk.
✓ This utility works automatically and the user does not need to be aware of its existence,
e.g. DiskDoubler, SuperStor Pro, DoubleDisk Gold, etc.

1.1.2.2 Disk Defragment


✓ It detects computer files whose contents are broken across several locations on the hard
disk and moves the fragments to one location to increase efficiency.
✓ It can be used to rearrange files and unused space on your hard disk. e.g. MyDefrag,
Diskeeper, Defraggler, etc.

1.1.2.3 Backup Utilities


✓ It can make a copy of all information stored on a disk and restore either the entire disk
or selected files.

1.1.2.4 Disk Cleaner


✓ It is used to find files that have not been used for a long time. This utility also serves to
increase the speed of a slow computer, e.g. Bleach Bit cleaner, etc.

1.1.2.5 Anti-virus
✓ It is the utility which is used to scan a computer for viruses and prevent the computer
system files from being corrupt, e.g. Kaspersky, AVG, McAfee, Avira, etc.

1.1.2.6 Text Editor


✓ It is a program that facilitates the creation and correction of text. It is used to type only
text which can be stored for future reference. A text editor supports special commands
for text editing, i.e. you can write, delete, find, and replace words, lines, paragraphs, etc.
e.g. MS Word, WordPad, Notepad, etc. in which Notepad is the most popular text editor.

Testing

Testing involves running the software and checking its behavior to identify any bugs or issues. This process
helps ensure that the software functions correctly and meets its requirementinto machine language know as
Object code.
1.1.3 Device Drivers
✓ A Device Driver is software that makes a device function when it is connected to the
computer. It controls a device that is attached to your computer.
✓ Every device whether it is Printers, Displays, CDROM readers, Disk drives, etc. has a driver
program associated with it for its proper functioning.

1.1.4 Language Translator


✓ Language Translator translates the high-level language program (input) into an equivalent
machine language program (output). It also detects and reports errors during translation.
✓ There are three different kinds of language translators- Assembler, Compiler, and
Interpreter.

hello@edutap.co.in 5|Page http://www.edutap.co.in


1.1.4.1 Assembler
✓ It converts assembly language programs into machine language(i.e 1 or 0).

Source Program Object Code


Assembler
(Assembly) (Machine Language)

Code

Code written into high level language or Assembly Language know as Source Code and the converted code
into machine language know as Object code.
1.1.4.2 Compiler
✓ It converts the program from a high-level language into low-level language and reports
all the errors of the program along with the line numbers. C, C++ use compilers.
Source Program Object Code
Compiler
(HLL) (Machine Language)

1.1.4.3 Interpreter
✓ It converts the programs in a high-level language to low-level language. It translates line
by line and reports the error once after completing the translation process. It gives
better error diagnostics than a compiler. Python, BASIC, and Ruby use interpreters.
Source Program Object Code
Interpreter
(HLL) (Machine Language)

Linker
A linker is a program that takes one or more object files and combines them into a single executable
program or library.

hello@edutap.co.in 6|Page http://www.edutap.co.in


Loader
It is a kind of system software responsible for loading and relocation of executable programs in the main
memory.
Essentially, a loader is responsible for loading the program residing in the disk into memory so that it can
be executed by the processor into machine language know as Object code.

Application Software
✓ Application software is a program or group of programs designed for end users. It enables
the user to complete tasks, such as creating documents, spreadsheets, databases, and
publications, doing online research, sending emails, designing graphics, etc.

1.2.1 General Purpose Software


1.2.1.1 Word Processing Software
✓ This software allows users to create, edit, format, and manipulate the text and more. It
offers lots of options for writing documents, creating images, and more. For example,
MS Word, WordPad, Notepad, etc.

1.2.1.2 Spreadsheet Software


✓ It is designed to perform calculations, store data, create charts, etc. It has rows and
columns, and the data is entered in the cell, which is an intersection of a row and
column, e.g., Microsoft Excel.

1.2.1.3 Presentation Software


✓ It is used to create presentations of slides containing text and graphics. It typically
includes three major functions – an editor that allows text to be inserted and formatted,
methods for inserting and manipulating graphic images and a slideshow system to
display the content e.g. MS PowerPoint.

1.2.1.4 Multimedia Software


✓ This software is developed to perform editing of video, audio, and text. It allows you to
combine texts, videos, audio, and images. Thus, you can improve a text document by
adding photos, animations, graphics, and charts through multimedia software. For
example, VLC player, Window Media Player, etc.

1.2.1.5 Desktop Publishing Software


✓ DTP Software is used to produce high publications at low cost. It takes in text created on
a word processor direct to the DTP system and combine this electronically with a graphic
element and the resulting completed pages are then printed using high resolution
output devices.

1.2.1.6 Database Package Software/ Database Management System


✓ Database software is a software program or utility used for creating, editing and
maintaining database files and records. This type of software allows users to store data
in the form of structured fields, tables and columns, which can then be retrieved directly
and/or through programmatic access.
hello@edutap.co.in 7|Page http://www.edutap.co.in
1.2.2 Specific Purpose Software
✓ These software are designed to perform specific tasks. This type of application software
generally has one purpose to execute. Some of the specific purpose application software
are described below

1.2.2.1 Inventory Management System and Purchasing System


✓ Inventory is a list of goods and materials available in a stock. Inventory management
system is generally used in departmental stores or in an organisation to keep the records
of the stock of all the physical resources.
✓ For example, Fishbowl, AdvancePro, etc.

1.2.2.2 Payroll Management System


✓ It is used by all modern organizations to encompass every employee of the organization
who receives regular wages or other compensation. For example, Namely, UltiPro, etc.

1.2.2.3 Hotel Management System


✓ It refers to the management techniques used in the hotel sector. These can include hotel
administration, accounts, billing, marketing, housekeeping, front office or front desk.
✓ For example, Djubo, Aatithya HMS, Hotelogix PMS, etc.

1.2.2.4 Reservation System A reservation system or Central Reservation System (CRS)


✓ It is a computerized system used to store and retrieve information and conduct
transactions related to air travel, hotels, car rental or other activities.
✓ Today, a number of websites like www.yatra.com, www.makemytrip.com provide
online booking for tourists.

1.2.2.5 Accounting Software


✓ It is an application software that records and processes accounting transactions within
functional modules such as accounts payable, accounts receivable, payroll and trial
balance

Programming Software
✓ It is a set or collection of tools that help developers in writing other software or programs. It
assists them in creating, debugging, and maintaining software or programs or applications.
✓ We can say that these are facilitator software that helps translate programming language
such as Java, C++, Python, etc., into machine language code. So, it is not used by end-users.
For example, compilers, linkers, debuggers, interpreters, text editors, etc. This software is
also called a programming tool or software development tool.
✓ Some examples of programming software include:
• Eclipse – It is a java language editor.
• Coda – It is a programming language editor for Mac.
• Notepad++ - It is an open-source editor for windows.
• Sublime text – It is a cross-platform code editor for Linux, Mac, and Windows.

2 Algorithm
The word Algorithm means a set of finite rules or instructions to be followed in calculations or
other problem-solving operations
hello@edutap.co.in 8|Page http://www.edutap.co.in
A procedure for solving a mathematical problem in a finite number of steps that frequently
involves recursive operations.

Need for Algorithm


✓ Algorithms are necessary for solving complex problems efficiently and effectively.
✓ They help to automate processes and make them more reliable, faster, and easier to
perform.
✓ Algorithms also enable computers to perform tasks that would be difficult or impossible for
humans to do manually.
✓ They are used in various fields such as mathematics, computer science, engineering, finance,
and many others to optimize processes, analyze data, make predictions, and provide
solutions to problem.

Characteristics of Algorithm

How to Design an Algorithm?


✓ To write an algorithm, the following things are needed as a pre-requisite:
• The problem that is to be solved by this algorithm i.e. clear problem definition.
• The constraints of the problem must be considered while solving the problem.
• The input to be taken to solve the problem.
• The output is to be expected when the problem is solved.
• The solution to this problem is within the given constraints.

3 Flowcharts
Flowcharts are nothing but the graphical representation of the data or the algorithm for a better
understanding of the code visually.

hello@edutap.co.in 9|Page http://www.edutap.co.in


Flowchart symbols

Uses of Flowcharts in Computer Programming/Algorithms


✓ The following are the uses of a flowchart:
• It is a pictorial representation of an algorithm that increases the readability of the
program.
• Complex programs can be drawn in a simple way using a flowchart.
• It helps team members get an insight into the process and use this knowledge to collect
data, detect problems, develop software, etc.
• A flowchart is a basic step for designing a new process or adding extra features.
• Communication with other people becomes easy by drawing flowcharts and sharing
them.

hello@edutap.co.in 10 | P a g e http://www.edutap.co.in
4 Computer Language
A Computer Language is how instructions and data are transmitted to computers. Languages are
divided into two categories:

Low level language


✓ These programming languages are more difficult to understand. It is designed to operate and
handle the entire instruction set of a computer system directly which is generally used to
write the system software.
✓ There are two types of low-level language, which are as follows:

4.1.1 Machine language


✓ In machine language programs can be developed in binary language (0 or 1). It is also
known as machine code or object code or binary language.
✓ It is a collection of binary digits (0 or 1) or bits that the computer reads and interprets.

4.1.2 Assembly language


✓ It is a low-level programming language which is used as an interface with computer
hardwares.
✓ It is known as a symbolic language. It is a low-level language programming language using
the human-readable instruction of the CPU.
✓ It uses structured commands as substitutions for numbers, allowing humans to read the
code easier than looking at binary codes.
✓ It is written as:
• move ab, cd
• move ax, 50

High level Language


✓ It is an advanced computer programming language that is not limited to one computer,
designed for a specific job and is easier to understand.
✓ Programmer can write code in simple English language. It is very user friendly as compare to
low level language. e.g.: PASCAL, FORTRAN, COBOL, BASIC, PROLOG, JAVA etc.
✓ High Level Language is divided into Procedural Programming Language and Object oriented
language.

Procedural programming Object-oriented programming

• In object-oriented programming, the


• In procedural programming, the
program is divided into small parts
program is divided into small parts
called objects.
called functions.
• Object-oriented programming follows
• Procedural programming follows a top-
a bottom-up approach.
down approach.
• Object-oriented programming has access
• There is no access specifier in procedural specifiers like private, public, protected,
programming. etc.

hello@edutap.co.in 11 | P a g e http://www.edutap.co.in
• Code reusability present in object-
• Code reusability absent in procedural
oriented programming.
programming,
• Examples: C, FORTRAN, Pascal, Basic, • Examples: C++, Java, Python, C#, etc.
etc.

4.2.1 Procedural Programming Languages


4.2.1.1 BASIC
✓ Beginner's All-purpose Symbolic Instruction Code (BASIC) was developed for students to
write simple computer programs. It was designed by John Kemeney and Thomas Kurtz
in 1963.

4.2.1.2 ALGOL
✓ ALGOL is a short form of ALGOrithmic Language. It is a family of portable programming
languages for scientific computations.

4.2.1.3 PROLOG
✓ Prolog is used widely for artificial intelligence applications, particularly expert systems.

4.2.1.4 PASCAL
✓ It is used to teach programming techniques. It was developed by Niklaus Wirth.

4.2.1.5 FORTRAN
✓ It is a programming language designed for numeric computation and scientific
computing. FORmula TRANslation is an acronym of FORTRAN.

4.2.1.6 COBOL
✓ Common Business Oriented Language is the full form of COBOL. It is used for business
and administrative purposes. It can be read like regular English.

4.2.2 Object Oriented Languages


✓ Object-oriented programming (OOP) is a software programming model built around
objects. This model classifies data into objects and describes object contents and
performance through the declaration of classes.
✓ Object-oriented programming provides data hiding so it is more secure.
✓ Simula is the first object-oriented programming language.
✓ The examples of object-oriented programming languages are Java, Python, JavaScript,
C++, C#, PHP, Perl, .NET, Ruby Curl, Visual Basic, Smalltalk, Delphi, and Eiffel.

4.2.2.1 Java
✓ Java is used for developing Mobile, Desktop, web, server-side and dynamic web
applications.

4.2.2.2 JavaScript
✓ JavaScript is designed for styling HTML Pages, interactivity to HTML Pages, Server-Side
Scripting Operation, executing query related to DB on Serve.

hello@edutap.co.in 12 | P a g e http://www.edutap.co.in
4.2.2.3 Python
✓ Python is a general-purpose programming language. It is used for developing complex
scientific, numeric applications, data analysis, and visualization.

4.2.2.4 C++
✓ C++ is a general-purpose language was designed by Microsoft to be used for developing
apps on the Microsoft platform.

4.2.2.5 PHP
✓ PHP stands for Hypertext Pre-processor. It is a scripting language used for the
development of web applications.

4.2.2.6 .Net
✓ Net is a programming framework developed by Microsoft, which can be used to build
different types of applications such as Windows, Web application and Mobile based
applications etc.

Visual Basic
Visual Basic is an approachable language with a simple syntax for building type-safe, object-oriented
apps.

Elements of Programming Language


4.3.1 Data Type
✓ In computer programming language, the term data refers to anything and everything
processed by the computer. E.g. int for integer value, char for character value.

4.3.2 Syntax
✓ The set of rules that define the structure of valid statements and expressions in the
programming language. This includes rules for keywords, identifiers, operators,
punctuation symbols, and the order in which they can appear.

4.3.3 Variable
✓ Variable is a character or group of characters assign by the programmer to a single
memory location and used in the program as the name of that memory location to
access the value stored in it. e.g. int a, char a

4.3.4 Constant
✓ It has fixed value. String constant is simply a sequence of character. The numeric
constant can be integer representing whole quantities or a number. e.g. int A=10; char
A= „hello‟;

4.3.5 Statements
✓ Instructions that perform actions or control the flow of execution within a program.
Examples of statements include variable declarations, assignments, control structures
(e.g., if statements, loops), function calls, and input/output operations.

hello@edutap.co.in 13 | P a g e http://www.edutap.co.in
4.3.6 Expressions
✓ Every computer language specify as in which various arithmetic operators are evaluated
in a given expressions. An expression may contain operators such as *, +, -, /, (), ^. e.g.
2+4*8(4-6/3)

4.3.7 Functions/Methods
✓ Named blocks of code that perform specific tasks or operations. Functions can accept
parameters (input) and return results (output), encapsulating reusable and modular
code.

4.3.8 Classes and Objects (Object-Oriented Programming)


✓ Constructs used to implement data abstraction and encapsulation in object-oriented
programming languages. Classes define blueprints for creating objects, which are
instances of a class with their own state (attributes) and behavior (methods).

4.3.9 Comments
✓ Annotations in the source code that provide explanations, documentation, or notes to
developers. Comments are ignored by the compiler or interpreter and serve to improve
code readability and maintainability.

4.3.10 Libraries and Modules


✓ Collections of reusable code that provide pre-written functions, classes, and other
components to perform common tasks. Libraries and modules facilitate code reuse and
modular programming.

5 Other Important related Terms


✓ BIOS: It stands for Basic Input Output System. It is a type of system software, which is stored
in Read Only Memory (ROM) located on the motherboard. However, in advanced computer
systems, it is stored in flash memory. BIOS is the first software that gets activated when you
turn on your computer system. It loads the drivers of the hard disk into memory as well as
assists the operating system to load itself into the memory.
✓ SMPS stands for Switched Mode Power Supply. It is a type of power supply unit that
converts electrical power efficiently and provides continuous power to a PC. SMPS units are
commonly used in desktop computers to regulate and stabilize the voltage and current
supplied to the internal components.
✓ Boot Program: Boot/Booting refers to starting up a computer. When you switch on the
computer, the commands in the ROM are executed automatically to load the boot program
into memory and execute its instructions. The BIOS program has a basic set of commands
that enables the computer to perform the basic input/output instructions to start the
computer.
• Cold Booting : When you turn the computer off and back on, you're performing what's
called a cold booting. During a cold boot, the computer runs self-tests on its hardware
and loads its operating system before it's ready for you to use.
• Warm Booting : When you restart the system without interrupting power, it's a warm
booting. We also call it a RESTART.
hello@edutap.co.in 14 | P a g e http://www.edutap.co.in
✓ Firmware: Firmware is a software program that is written to a hardware device. It allows the
hardware to be updated. The contents are saved when a hardware device is turned off or
loses its external power source.
✓ Middleware: Middleware is a software layer situated between applications and operating
systems. It enables communication and data management for distributed applications.
✓ Power On Self Test: A power-on self-test is a process performed by firmware or software
routines immediately after a computer or other digital electronic device is powered on. The
results of the POST may be displayed on a panel that is part of the device, output to an
external device, or stored for future retrieval by a diagnostic tool.
✓ Server Programs: Server programs are dedicated computer programs that run as services
and serve the needs or request of other programs. These services may run on a dedicated
hardware or on the same computer as the requesting programs.Some common example of
server programs is:
• Web Server – For hosting websites.
• Print Server – manage multiple print requests for multiple printers
• File server – manages the storage and retrieval of shared computer files
• Database Server – provide database services to another computer programs
• Mail server – managed and transfers electronic mail messages
✓ User Interface (UI): The means by which a user interacts with a software application,
typically through graphical elements such as menus, buttons, and windows.
✓ User Experience (UX): The overall experience a user has when interacting with a software
application, including usability, accessibility, and satisfaction.
✓ Open Source Software (OSS): Software with its source code made available and licensed in a
way that allows users to modify and distribute the software freely.
✓ Closed Source Software: Software whose source code is not made available to the public,
and typically requires a license or purchase to use.
✓ Freeware: Software that is available for use at no cost, but may have restrictions on
distribution or modification.
✓ Shareware: It is a software distribution model where users can try a limited version of the
software for free before purchasing the full version. It typically includes a trial period, limited
functionality during the trial, and requires users to pay for the full version if they decide to
continue using it.
✓ Beta Version: A pre-release version of software made available to a select group of users for
testing and feedback before the final release.
✓ Patch: A software update designed to fix issues or vulnerabilities in a program, typically
released after the initial software version.
✓ Upgrade: A newer version of software that provides additional features, improvements, or
fixes compared to the previous version.
✓ Software as a Service (SaaS): A software distribution model where applications are hosted
by a third-party provider and made available to customers over the internet.
✓ Software Development Kit (SDK): A set of tools and resources used by developers to create
software applications for a specific platform or framework.
✓ Integrated Development Environment (IDE): Software that provides comprehensive tools
for software development, including code editing, debugging, and project management.

hello@edutap.co.in 15 | P a g e http://www.edutap.co.in
✓ Version Control: The management of changes to documents, computer programs, large
websites, and other collections of information. It is commonly used in software development
to track and manage changes to source code.
✓ Data Structure: A data structure is a group of data which can be processed as a single unit.
This group of data may be of similar or dissimilar data types. Data Structures are very useful
while programming because they allow processing of the entire group of data as a single
unit. Data structures are of two types: Linear and Non - Linear. In a linear data structure, the
elements are stored in a sequential order. On the other hand, in a non linear data structure
no sequential order is followed. It is a sort of multilevel data structure. Arrays, lists, stacks,
queues, linked lists etc. are examples of linear data structure while tree, graph etc. is a non -
linear data structure.
• Stack: A stack is a data structure whose elements are accessed according to the Last-In
First-Out (LIFO) principle. This is because in a stack, insertion and deletion of elements
can only take place at one end, called top of the stack.
• Queue: Another most common data structure found in computer algorithm(s) is queue.
A queue is a container of elements, which are inserted and removed according to the
first-in first-out (FIFO) principle.
• Array: An array is a data structure that stores a collection of elements of the same type
in contiguous memory locations. Each element in the array is accessed using an index.

hello@edutap.co.in 16 | P a g e http://www.edutap.co.in

You might also like