You are on page 1of 12

E L T 1 : L I V I N G I N T H E I T E R A P a g e | 17

LESSON 4
COMPUTER SOFTWARE

I. Module Overview

You use software every time you use your desktop, notebook, or tablet computer. In
addition, you use software when you use your mobile phone, digital camera, retail and
banking machines, some home appliances, cars, some medical devices, and much more.
Software carries out your commands anytime you press buttons or touch a screen to tell a
machine what to do.

This module will discuss what is a computer software and its different categories, basic
functions and features of operating systems, and application software.

II. Desired Learning Outcomes

At the end of this topic, the students should be able to:


1. list and describe computer software categories.
2. name different examples of application and system software.
3. identify the basic functions and features of operating systems.

III. Take off/Motivation

The instructor/professor will show the user interface of some popular software in
his/her computer.
IV. Content Focus

Software - is any set of instructions that tells the hardware what to do. It is what guides the
hardware and tells it how to accomplish each task.
Some examples of software include web browsers, games, and word processors.
Categories of Software:

 Systems Software - includes the operating system and all the utilities that enable the
computer to function.

System software is used by the computer for tasks that help the computer work. For
example, you use system software to run your computer and all the programs on it.
It can diagnose a problem with your hard drive, printer, or Internet connection.

Systems Software
Operating System - An operating system
(OS) is software that starts up a
computer and keeps it running and
responding to your commands.

Image Source:DICT Digital Literacy Module 1a Computer


Essentials PowerPoint Presentation
Runs applications (useful programs
like word processors, calculators, and so on)
and enables you to interact with them.
Creates and maintains the user interface that
you see onscreen, such as the icons you click
and the dialog boxes you see.

Operating Systems Common features


thumb/e/e1/Operating_system_placement.svg/165
px-Operating_system_placement.svg.png

E L T 1 : L I V I N G I N T H E I T E R A P a g e | 18

Controls and manages the file storage system, so you can


save and open data files in your applications and manage
the files that run your applications.
Communicates with the hardware, giving it instructions to
accomplish the tasks you request, such as printing your
work.
Examples of Operating System:
Laptops, tablets, and desktop computers all run operating systems that you've
probably heard of. Some examples include versions of Microsoft Windows (like
Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP),
Apple's macOS (formerly OS X), Chrome OS, BlackBerry Tablet OS, and flavors
of Linux, an open source operating system.
Your smartphone runs a mobile operating system, probably either Apple's
iOS or Google's Android. Both are household names but you may not have
realized that they are the operating systems running on those devices.
Microsoft Windows
Microsoft Windows, also called Windows and

Windows OS , computer operating system (OS)


developed by Microsoft Corporation to run
personal computers (PCs). Featuring the first
graphical user interface (GUI) for IBM-compatible
PCs, the Windows OS soon dominated the PC
market. Approximately 90 percent of PCs run Windows XP Logo
Image Source:
some version of Windows. https://upload.wikimedia.org/wikipedia/en/thumb/e/e4/Windows_logo_
-
_2002.svg/106px-Windows_logo_-_2002.svg.png/165px
-
Operating_system_placement.svg.png

Windows 10 Desktop Screen


Image Source:
https://www.lifewire.com/thmb/SnXV83PIuzKSACLgBSpZhHs8IP0=/1440x0/filters:no_upscale():max_bytes(
150000):strip_icc():format(webp)/reset
-your-pc-complete-windows-10-56a6fadd3df78cf772913fe3.png

macOS

The Macintosh Operating System (Mac OS) is an operating system (OS)


designed by Apple Inc. to be installed and operated on the Apple Macintosh
series of computers. Introduced in 1984, it is a graphical user interface (GUI)
based OS that has since been released as multiple different versions.
Initially, Mac OS was known as System Software.
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 19

Screenshot of the macOS Catalina desktop


Image Source:
https://upload.wikimedia.org/wikipedia/en/thumb/4/42/MacOS_Catalina_Desktop.png/310px -
MacOS_Catalina_Desktop.png

Linux
Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one
of the most popular platforms on the planet, Android, is powered by the Linux
operating system.
Linux is a family of open source Unix-like operating systems based on the Linux
kernel, an operating system kernel first released on September 17, 1991, by
Linus Torvalds.
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 20

Linux Mint
Image Source:
https://www.lifewire.com/thmb/SnXV83PIuzKSACLgBSpZhHs8IP0=/1440x0/filters:no_upscale():max_bytes(
150000): strip_icc():format(we bp)/reset -your -pc -complete -windows -10 - 56 a6fadd3df78cf772913fe3.png

is an open source and Linux -


based Operating System for mobile devices such as
smartphones and tablet computers. Android was
developed by the Open Handset Alliance , led by
Google, and other companies.
Android offers a unified approach to application
development for mobile devices which means
developers need only develop for Android, and their
applications should be able to run on different
devices powered by Android.
Android 10 home screen on
Motorola G7
Image Source:
https://upload.wikimedia.org/wikipedia/commons/thum
b/2/2d/Android_10_interface.png/220px -
Android_10_interface.png

Android OS

iOS iOS is one of the most popular mobile operating system developed
and created by Apple Inc. An iOS device is an electronic gadget that runs
on iOS. Apple iOS devices include: iPad, iPod Touch and iPhone. iOS is
the 2nd most popular mobile OS after Android. Over the years, Android
and iOS devices have been competing so much for a higher market
share. iOS 13 running on an iPhone X Image Source:

https://upload.wikimedia.org/wikipedia/en/6/63/IOS_13_Homescreen_iPhone_X.png

 Applications Software - includes programs that do real work for users. For example,
word processors, spreadsheets, and database management systems.

Application software helps you carry out tasks such as sending an email, getting you
street-by-street driving directions, editing a photo, or writing a report.

 Word Processor
 Electronic Spreadsheet
 Database Management
 Graphics
 Desktop Publishing
 Statistical Analysis
 Games
 Data Communications
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 21

 Utilities

Logos of example applications


Image Source:https://theory-gu.weebly.com/uploads/3/8/3/7/38378343/8545247_orig.png

COMPUTER SOFTWARE from Wikipedia

Software
Main article: Software
Software refers to parts of the computer which do not have a material form, such as programs, data,
protocols, etc. Software is that part of a computer system that consists of encoded information or
computer instructions, in contrast to the physical hardware from which the system is built. Computer
software includes computer programs, libraries and related non-executable data, such as online
documentation or digital media. It is often divided into system software and application
software Computer hardware and software require each other and neither can be realistically used on
its own. When software is stored in hardware that cannot easily be modified, such as with BIOS ROM in
an IBM PC compatible computer, it is sometimes called "firmware".

Operating UNIX System V, IBM AIX, HP-


system /Syste Unix and BSD UX, Solaris (SunOS), IRIX, List of BSD
m Software operating systems

List of Linux distributions, Comparison of


Linux
Linux distributions

Windows 95, Windows 98, Windows


Microsoft NT, Windows 2000, Windows ME, Windows
Windows XP, Windows Vista, Windows 7, Windows
8, Windows 8.1, Windows 10

86-DOS (QDOS), IBM PC DOS, MS-
DOS
DOS, DR-DOS, FreeDOS

Macintosh Classic Mac OS, macOS (previously OS X


operating
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 22

systems and Mac OS X)

Embedded an
List of embedded operating systems
d real-time

Amoeba, Oberon–AOS, Bluebottle, A2, Plan


Experimental
9 from Bell Labs

Multimedia DirectX, OpenGL, OpenAL, Vulkan (API)

Library
Programming C standard library, Standard Template
library Library

Protocol TCP/IP, Kermit, FTP, HTTP, SMTP

Data

File format HTML, XML, JPEG, MPEG, PNG

Graphical user Microsoft


interface (WI Windows, GNOME, KDE, QNX Photon, CD
MP) E, GEM, Aqua
User interface

Text-based
Command-line interface, Text user interface
user interface

Word processing, Desktop
publishing, Presentation program, Database
Office suite management system, Scheduling & Time
management, Spreadsheet, Accounting
software

Internet Browser, Email client, Web server, Mail


Access transfer agent, Instant messaging
Application So
ftware
Computer-aided design, Computer-aided
Design and
manufacturing, Plant management, Robotic
manufacturing
manufacturing, Supply chain management

Raster graphics editor, Vector graphics


editor, 3D modeler, Animation editor, 3D
Graphics
computer graphics, Video editing, Image
processing
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 23

Digital audio editor, Audio


Audio playback, Mixing, Audio
synthesis, Computer music

Compiler, Assembler, Interpreter, Debugger, 
Text editor, Integrated development
Software
environment, Software performance
engineering
analysis, Revision control, Software
configuration management

Edutainment, Educational game, Serious
Educational
game, Flight simulator

Strategy, Arcade, Puzzle, Simulation, First-
Games person shooter, Platform, Massively
multiplayer, Interactive fiction

Artificial intelligence, Antivirus
software, Malware
Misc.
scanner, Installer/Package management
systems, File manager

Languages
There are thousands of different programming languages—some intended for general purpose, others
useful for only highly specialized applications.

Programming languages

Lists of Timeline of programming languages, List of programming languages by


programmin category, Generational list of programming languages, List of
g languages programming languages, Non-English-based programming languages

Commonly
used assem
ARM, MIPS, x86
bly
languages

Commonly
used high-
Ada, BASIC, C, C++, C#, COBOL, Fortran, PL/I, REXX, Java, Lisp, Pas
level
cal, Object Pascal
programmin
g languages

Commonly Bourne script, JavaScript, Python, Ruby, PHP, Perl


used scripti
ng
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 24

languages

Stored program architecture


Main articles: Computer program and Computer programming

Replica of the Manchester Baby, the world's first electronic stored-program computer, at the Museum of


Science and Industry in Manchester, England
This section applies to most common RAM machine–based computers.
In most cases, computer instructions are simple: add one number to another, move some data from
one location to another, send a message to some external device, etc. These instructions are read from
the computer's memory and are generally carried out (executed) in the order they were given. However,
there are usually specialized instructions to tell the computer to jump ahead or backwards to some
other place in the program and to carry on executing from there. These are called "jump" instructions
(or branches). Furthermore, jump instructions may be made to happen conditionally so that different
sequences of instructions may be used depending on the result of some previous calculation or some
external event. Many computers directly support subroutines by providing a type of jump that
"remembers" the location it jumped from and another instruction to return to the instruction following
that jump instruction.
Program execution might be likened to reading a book. While a person will normally read each word
and line in sequence, they may at times jump back to an earlier place in the text or skip sections that
are not of interest. Similarly, a computer may sometimes go back and repeat the instructions in some
section of the program over and over again until some internal condition is met. This is called the flow of
control within the program and it is what allows the computer to perform tasks repeatedly without
human intervention.
Comparatively, a person using a pocket calculator can perform a basic arithmetic operation such as
adding two numbers with just a few button presses. But to add together all of the numbers from 1 to
1,000 would take thousands of button presses and a lot of time, with a near certainty of making a
mistake. On the other hand, a computer may be programmed to do this with just a few simple
instructions. The following example is written in the MIPS assembly language:

begin:
addi $8, $0, 0 # initialize sum to 0
addi $9, $0, 1 # set first number to add = 1
loop:
slti $10, $9, 1000 # check if the number is less than 1000
beq $10, $0, finish # if odd number is greater than n then exit
add $8, $8, $9 # update sum
addi $9, $9, 1 # get next number
j loop # repeat the summing process
finish:
add $2, $8, $0 # put sum in output register

Once told to run this program, the computer will perform the repetitive addition task without further
human intervention. It will almost never make a mistake and a modern PC can complete the task in a
fraction of a second.
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 25

Machine code
In most computers, individual instructions are stored as machine code with each instruction being given
a unique number (its operation code or opcode for short). The command to add two numbers together
would have one opcode; the command to multiply them would have a different opcode, and so on. The
simplest computers are able to perform any of a handful of different instructions; the more complex
computers have several hundred to choose from, each with a unique numerical code. Since the
computer's memory is able to store numbers, it can also store the instruction codes. This leads to the
important fact that entire programs (which are just lists of these instructions) can be represented as lists
of numbers and can themselves be manipulated inside the computer in the same way as numeric data.
The fundamental concept of storing programs in the computer's memory alongside the data they
operate on is the crux of the von Neumann, or stored program [citation needed], architecture. In some cases, a
computer might store some or all of its program in memory that is kept separate from the data it
operates on. This is called the Harvard architecture after the Harvard Mark I computer. Modern von
Neumann computers display some traits of the Harvard architecture in their designs, such as in CPU
caches.
While it is possible to write computer programs as long lists of numbers (machine language) and while
this technique was used with many early computers, [102] it is extremely tedious and potentially error-
prone to do so in practice, especially for complicated programs. Instead, each basic instruction can be
given a short name that is indicative of its function and easy to remember – a mnemonic such as ADD,
SUB, MULT or JUMP. These mnemonics are collectively known as a computer's assembly language.
Converting programs written in assembly language into something the computer can actually
understand (machine language) is usually done by a computer program called an assembler.

Programming language
Main article: Programming language
Programming languages provide various ways of specifying programs for computers to run.
Unlike natural languages, programming languages are designed to permit no ambiguity and to be
concise. They are purely written languages and are often difficult to read aloud. They are generally
either translated into machine code by a compiler or an assembler before being run, or translated
directly at run time by an interpreter. Sometimes programs are executed by a hybrid method of the two
techniques.
Low-level languages
Main article: Low-level programming language
Machine languages and the assembly languages that represent them (collectively termed low-level
programming languages) are generally unique to the particular architecture of a computer's central
processing unit (CPU). For instance, an ARM architecture CPU (such as may be found in
a smartphone or a hand-held videogame) cannot understand the machine language of an x86 CPU that
might be in a PC.[103] Historically a significant number of other cpu architectures were created and saw
extensive use, notably including the MOS Technology 6502 and 6510 in addition to the Zilog Z80.
High-level languages
Main article: High-level programming language
Although considerably easier than in machine language, writing long programs in assembly language is
often difficult and is also error prone. Therefore, most practical programs are written in more
abstract high-level programming languages that are able to express the needs of the programmer more
conveniently (and thereby help reduce programmer error). High level languages are usually "compiled"
into machine language (or sometimes into assembly language and then into machine language) using
another computer program called a compiler.[104] High level languages are less related to the workings of
the target computer than assembly language, and more related to the language and structure of the
problem(s) to be solved by the final program. It is therefore often possible to use different compilers to
translate the same high level language program into the machine language of many different types of
computer. This is part of the means by which software like video games may be made available for
different computer architectures such as personal computers and various video game consoles.

Program design
This section does not cite any sources. Please
help improve this section by adding citations to reliable
sources. Unsourced material may be challenged
and removed. (July 2012) (Learn how and when to
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 26

remove this template message)

Program design of small programs is relatively simple and involves the analysis of the problem,
collection of inputs, using the programming constructs within languages, devising or using established
procedures and algorithms, providing data for output devices and solutions to the problem as
applicable. As problems become larger and more complex, features such as subprograms, modules,
formal documentation, and new paradigms such as object-oriented programming are encountered.
Large programs involving thousands of line of code and more require formal software methodologies.
The task of developing large software systems presents a significant intellectual challenge. Producing
software with an acceptably high reliability within a predictable schedule and budget has historically
been difficult; the academic and professional discipline of software engineering concentrates
specifically on this challenge.
Bugs
Main article: Software bug

The actual first computer bug, a moth found trapped on a relay of the Harvard Mark II computer
Errors in computer programs are called "bugs". They may be benign and not affect the usefulness of
the program, or have only subtle effects. But in some cases, they may cause the program or the entire
system to "hang", becoming unresponsive to input such as mouse clicks or keystrokes, to completely
fail, or to crash. Otherwise benign bugs may sometimes be harnessed for malicious intent by an
unscrupulous user writing an exploit, code designed to take advantage of a bug and disrupt a
computer's proper execution. Bugs are usually not the fault of the computer. Since computers merely
execute the instructions they are given, bugs are nearly always the result of programmer error or an
oversight made in the program's design.[105] Admiral Grace Hopper, an American computer scientist and
developer of the first compiler, is credited for having first used the term "bugs" in computing after a
dead moth was found shorting a relay in the Harvard Mark II computer in September 1947.[106]

COMPUTER SOFTWARE from Britannica

Computer software

Software denotes programs that run on computers. John Tukey, a statistician at Princeton


University and Bell Laboratories, is generally credited with introducing the term in 1958
(as well as coining the word bit for binary digit). Initially software referred primarily to
what is now called system software—an operating system and the utility programs that
come with it, such as those to compile (translate) programs into machine code and load
them for execution. This software came with a computer when it was bought or leased. In
1969 IBM decided to “unbundle” its software and sell it separately, and software soon
became a major income source for manufacturers as well as for dedicated software firms.

Business and personal software

Business software generally must handle large amounts of data but relatively little computation,
although that has changed somewhat in recent years. Office software typically includes word
processors, spreadsheets, database programs, and tools for designing public presentations.

A spreadsheet is a type of accounting program. Unlike specialized accounting programs


(e.g., payroll and office records), an important function of spreadsheets is their ability to
explore “What if?” scenarios. A spreadsheet not only holds tables of data but also defines
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 27

relationships among their rows and columns. For example, if the profit on a product is
defined in terms of various costs—materials, manufacturing, and shipping—it is easy to ask
“What if we use cheaper materials that require more manufacturing expense?”

A database is an organized collection of data, or records. Databases organize information


to answer questions such as “What companies in the Southwest bought more than 100 of
our products last year?” or “Which products made by Acme Manufacturing are in low
supply?” Such software is often integrated so that a database report or spreadsheet table
can be added to a document composed with a word processor, frequently with illustrative
graphs. Today even the most trivial data can effortlessly be glorified by presenting it in a
polychromatic bar chart with three-dimensional shading.

Scientific and engineering software

Scientific software is typically used to solve differential equations. (Differential


equations are used to describe continuous actions or processes that depend on some other
factors.) Although some differential equations have relatively simple mathematical
solutions, exact solutions of many differential equations are very difficult to obtain.
Computers, however, can be used to obtain useful approximate solutions, particularly when
a problem is split into simpler spatial or temporal parts. Nevertheless, large-scale problems
often require parallel computation on supercomputers or clusters of small computers that
share the work.
There are numerous standard libraries of equation-solving software—some commercial,
some distributed by national organizations in several countries. Another kind of software
package does symbolic mathematics, obtaining exact solutions by algebraic manipulations.
Two of the most widely used symbolic packages are Mathematica and Maple.

Scientific visualization software couple’s high-performance graphics with the output of


equation solvers to yield vivid displays of models of physical systems. As with spreadsheets,
visualization software lets an experimenter vary initial conditions or parameters. Observing
the effect of such changes can help in improving models, as well as in understanding the
original system.
Visualization is an essential feature of computer-aided engineering (CAE) and computer-
aided design (CAD). An engineer can design a bridge, use modeling software to display it,
and study it under different loads. CAE software can translate drawings into the precise
specification of the parts of a mechanical system. Computer chips themselves are designed
with CAD programs that let an engineer write a specification for part of a chip, simulate its
behaviour in detail, test it thoroughly, and then generate the layouts for the
photolithographic process that puts the circuit on the silicon.

Astronomical sky surveys, weather forecasting, and medical imaging—such as magnetic


resonance imaging, CAT scans, and DNA analyses—create very large collections of data.
Scientific computation today uses the same kinds of powerful statistical and pattern-
analysis techniques as many business applications.

Internet and collaborative software

Among the most commonly used personal Internet software are “browsers” for displaying
information located on the World Wide Web, newsreaders for reading “newsgroups”
located on USENET, file-sharing programs for downloading files, and communication
software for e-mail, as well as “instant messaging” and “chat room” programs that allow
people to carry on conversations in real time. All of these applications are used for both
personal and business activities.
E L T 1 : L I V I N G I N T H E I T E R A P a g e | 28

Other common Internet software includes Web search engines and “Web-crawling”
programs that traverse the Web to gather and classify information. Web-crawling
programs are a kind of agent software, a term for programs that carry out routine tasks for
a user. They stem from artificial intelligence research and carry out some of the tasks of
librarians, but they are at a severe disadvantage. Although Web pages may have “content-
tag” index terms, not all do, nor are there yet accepted standards for their use. Web search
engines must use heuristic methods to determine the quality of Web page information as
well as its content. Many details are proprietary, but they may use techniques such as
finding “hubs” and “authorities” (pages with many links to and from other Web sites). Such
strategies can be very effective, though the need for a Web version of card catalogs has not
vanished.

A different kind of Internet use depends on the vast number of computers connected to the
Internet that are idle much of the time. Rather than run a “screen-saver” program, these
computers can run software that lets them collaborate in the analysis of some difficult
problem. Two examples are the [email protected] project, which distributes portions
of radio telescope data for analysis that might help in the search for extraterrestrial
intelligence (SETI), and the “Great Internet Mersenne Prime Search” (GIMPS), which
parcels out tasks to test for large prime numbers.

Games and entertainment

Computer games are nearly as old as digital computers and have steadily developed in
sophistication. Chinook, a recent checkers (draughts) program, is widely believed to be
better than any human player, and the IBM Deep Blue chess program beat world
champion Garry Kasparov in 1996. These programs have demonstrated the power of
modern computers, as well as the strength of good heuristics for strategy. On the other
hand, such brute-force search heuristics have failed to produce a go-playing program that
can defeat even moderately skilled players because there are too many possible moves in
this Japanese game for simple quantification.

After board games, the earliest computer games were text-based adventures—in which
players explored virtual worlds, sought treasure, and fought enemies by reading and typing
simple commands. Such games resembled military simulation programs first used in the
early 1950s. Contemporary games, however, depend on high-performance computer
graphics. Played on arcade machines, special game computers for home use, or PCs, they
use the same capabilities as simulation and visualization programs. A related area is
computer-generated (CG) animation for films and video.

REFERENCES

J.J. Parsons, D. Oja, 2013. Understanding Computer Concepts Second Edition. DICT Digital
Literacy Module 1a_Computer Essential v2.ppt https://www.lifewire.com/operating-systems-
2625912 https://www.britannica.com/technology/Windows-OS
https://www.tutorialspoint.com/android/android_overview.htm

You might also like