COS 101 Software
COS 101 Software
Software, which is abbreviated as SW or S/W, is a set of programs that enables the hardware to
perform a specific task. All the programs that run the computer are software. The software can be
of three types: system software, application software, and programming software.
1) System Software
The system software is the main software that runs the computer. When you turn on the computer,
it activates the hardware and controls and coordinates their functioning. The application programs
are also controlled by system software. An operating system is an example of system software.
Operating System:
An operating system is the system software that works as an interface to enable the user to
communicate with the computer. It manages and coordinates the functioning of hardware and
software of the computer. The commonly used operating systems are Microsoft Windows, Linux,
and Apple Mac OS X.
Some other examples of system software include:
o 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.
o Boot Program: Boot 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.
o An assembler: It plays the role of a converter as it receives basic computer instructions
and converts them into a pattern of bits. The processor uses these bits to perform basic
operations.
o A device driver: This system software controls hardware devices connected to a computer.
It enables the computer to use the hardware by providing an appropriate interface. The
kernel of a Computer's CPU communicates with different hardware through this software.
Operating systems generally come with most of the device drivers. If the operating system
does not have a device driver for hardware, you have to install the device driver before
using that hardware device.
2) Application Software:
Application software is a set of programs designed to perform a specific task. It does not control
the working of a computer as it is designed for end-users. A computer can run without application
software. Application software can be easily installed or uninstalled as required. It can be a single
program or a collection of small programs. Microsoft Office Suite, Adobe Photoshop, and any
other software like payroll software or income tax software are application software. As we know,
they are designed to perform specific tasks. Accordingly, they can be of different types such as:
o 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.
o 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.
10
o Multimedia Software: These software are 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.
o Enterprise Software: These software are developed for business operational functions. It
is used in large organizations where the quantum of business is too large. It can be used for
accounting, billing, order processing and more. For example, CRM (Customer
Relationship Management), BI (Business Intelligence), ERP (Enterprise Resource
Planning), SCM (Supply Chain Management), customer support system, and more.
Programming Software:
Computer programmers ue programming software to write codes. It is a set or collection of tools
that help developers in writing other software or programs. It assists them to develop, write, test,
debug and maintain 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. Examples of programming software include
assemblers, compilers, debuggers, interpreters, text editors, etc. This software is also called a
programming tool or software development tool.
Debuggers: As the name suggests, the debugger is used for removing bugs from a code. It simply
allows other programs to be tested and debugged. It is used to prevent software from
malfunctioning.
Interpreters: A language processor converts a single statement from the source code into the
machine code. An interpreter is a program that executes code immediately before moving on to
the next line. If a statement contains error, the interpreter stops translating at that point and displays
an error message.
Compilers: A compiler quickly reads the entire source program in the high level language and
translates it into the equivalent program in machine language
Some examples of programming software include:
o Eclipse: It is a java language editor.
o Visual Studio: A comprehensive IDE from Microsoft for various programming languages
like C#, C++ and more.
o IntelliJ IDEA: An IDE developed by JetBrains popular for JAVA development.
o Eclipse: An open-source IDE known for its extensibility, used for JAVA and other
languages.
o Visual Studio Code: A versatile code editor with a rich set of extensions for many
programming languages.
o Coda: It is a programming language editor for Mac.
o Notepad++: It is an open-source editor for windows.
o Sublime text: It is a popular cross-platform code editor for Linux, Mac, and Windows.
o Visual Studio Debugger: Part of Visual Studio IDE . It provides a graphical interface for
debugging.
o PyCharm: A full detailed IDE that supports Python development with support for source
control and projects
o Spyder and Jupyter: There are both Open source python IDE optimized for data science
workflows, integrating well with Python data science libraries
Note: IDE (Integrated Development Environment is a programming software that provides tools
and resources to help developers write and debug code.
11
A code editor is a text editor program designed specifically for editing source code.
Difference Between IDE and Code Editors
• IDE have Graphical User Interface (GUI) while code editor does not.
• An IDE also provides tools for debugging and compiling your code. A code editor can
open files in different formats for making changes, but they lack the building and
evaluation aspects of IDE.
• IDEs are time heavy (takes long time to load) while code editors are light and easy to use.
Humanware
Humanware is the combination of hardware and software elements that make human interaction
with a device as good as possible. You can think of hardware as cooking utensils in a kitchen.
Software, meanwhile, can pertain to a recipe. The humanware component in this scenario is the
chef. All the utensils and recipes in the world will be useless if you do not have a chef to bring
food to life.
Humanware, also known as human-computer interaction, refers to the components, systems, and
processes that connect and facilitate interaction between users and technology. This includes user
interfaces, hardware and software designed to be user-friendly, and various input/output devices
geared towards improving the users’ experience. It emphasizes the significance of people’s roles in
the functioning of technology, rather than focusing solely on hardware or software.
Importance of Humanware
Humanware is a crucial term in technology as it highlights the human element involved in the
successful operation, integration, and development of technology systems.
This term encompasses the human abilities, intelligence, experience, and skills needed to collaborate
and interact with the software and hardware components of a system.
In essence, humanware emphasizes that regardless of technological advancements, human
interaction and expertise remain indispensable to derive maximum benefits and efficiency within
any technological infrastructure.
Recognizing and nurturing humanware plays an essential role in exceeding user expectations and
driving innovation by fostering synergistic relationships between humans and technology.
Explanation
Humanware, as a technological term, emphasizes the importance of the human aspect in the
development and implementation of technology. Its purpose is to cultivate a user-centric approach
while designing and creating systems, software, or hardware. By considering the needs, preferences,
and capabilities of the end-users, developers can ensure that the technology effectively integrates
with everyday human lives and activities.
Consequently, humanware prioritizes ease of use, accessibility, and ergonomics to facilitate seamless
interactions between technology and users across various platforms and devices. It encapsulates
various concepts such as training, user experience, and teamwork, among others, to foster workable
solutions that cater to diverse users’ needs, enhancing their overall productivity and satisfaction.
Humanware encompasses a range of applications and can be applied to different sectors, including
education, healthcare, business, and entertainment industries.
In educational settings, effective humanware translates into the creation of adaptable and
personalized learning platforms that cater to various learning styles and abilities. In the medical field,
it involves designing user-friendly devices and software that enhance the patient experience and
allow healthcare providers to offer personalized care solutions. In the business world, humanware
steers developers to create efficient tools and systems that streamline operations and maintain a
robust organization.
12
Ultimately, the essence of humanware lies in the acknowledgment of the critical role human factors
play in technology’s success and the continuous efforts towards optimizing these interactions for
improved user experiences.
Examples of Humanware
Humanware is a term used to describe a range of technologies designed to enhance human abilities
and improve the quality of life for individuals, particularly those with disabilities or impairments.
Here are three real-world examples of humanware technology:
BrailleNote Touch Plus: This is a cutting-edge technology designed for the visually impaired and
blind individuals. BrailleNote Touch Plus is an advanced tablet designed to support both braille input
and speech output. It allows users to read, write, browse the internet, and perform various tasks
without needing sighted assistance. It can also help students who are learning braille by providing
instant audio feedback as they write.
ReWalk Robotics Exoskeleton: Designed for individuals with spinal cord injuries, the ReWalk
Robotics Exoskeleton is a wearable robotic system that enables people with paralysis to stand, walk,
and even climb stairs. It works by using motorized leg attachments controlled by a wearable
computer and supported by crutches. This real-world humanware example demonstrates how
technology can help restore mobility to those who have lost it due to injury or illness.
Cochlear Implants: Cochlear implants are surgically implanted electronic devices that enable
individuals with severe hearing impairments or deafness to perceive sound. Unlike traditional
hearing aids, cochlear implants bypass the damaged parts of the ear and directly stimulate the
auditory nerve. As a result, users can experience a more comprehensive understanding of sounds and
speech. This humanware technology has significantly improved the quality of life for many
individuals with hearing impairments.
13
Digital Applications
Digital applications (also called an app) refer to any software or program that runs on electronic
devices, such as computers, mobile phones, tablets, among others. These applications are created
by software developers and can be downloaded and installed by users to run on their devices, with
the aim of performing a specific task, such as data processing, information storage and analysis,
process automation, among others. Digital applications can be developed for various purposes,
including entertainment, e-commerce, health, education, industry, among others. Some common
examples of digital applications are social networks, banking applications, transportation
applications, games, business management systems, among others. Most apps have a specific and
narrow function; For example, a food delivery app might only be designed for users to get food
from local restaurants delivered and can't be used for anything else, such as grocery shopping or
making restaurant reservations.
Here are some key characteristics of applications:
Types of Apps
There are a few different types of apps available for download by businesses and individuals alike.
The following are the most commonly recognized apps in use today:
14
Native app: Apps that are created for a certain mobile platform are known as native applications.
For example, an app that is made for an Apple iPhone will only be usable on Apple devices and
would not work on other types of mobile phones, such as Android. These types of apps are
primarily used to provide the highest performance on a particular mobile operating system. Native
Apps can be developed with a wide variety of programming languages from JAVA to Python to
C++. An example of a native app is the calculator application, Spotify, on the iPhone.
Hybrid Apps: A hybrid app is an app that is made to support both native and web-based
technologies and is a combination of both web-based and native applications. Instagram and Gmail
are two extremely popular examples of hybrid app. These are technically web apps, but they
behave like native apps. These apps are easier and quicker to create and only use a single code
base that can be integrated across various platforms and operating system. However, it's important
to note that hybrid apps often have a lower performance rate than native or web-based apps.
Example of hybrid apps Instagram, Uber, Gmail, Evertone, Twitter, Whatsapp, Facebook
Advantages of Hybrid Apps
1. Development is streamlined since business only need to build one version of the product
2. Easier to build, deploy, upgrade and maintain
3. Built on one code base that can be deployed across platform
4. Distributed widely via app store and google play store
5. It can function offline and updates are easier to facilitate.
Web-based app: Web based apps run on a web browser. They are accessed on a mobile device
and do not require downloading on the part of the user and can run on devices web browser using
URL. A web app can be loaded in any browser like Chrome, Safari , Firefox etc. These types of
15
apps are coded in JavaScript, HTML5 or CSS. Example of Web Apps include. Some examples of
web applications are Starbucks, Basecamp, Microsoft Office, Google Docs, Amazon, NetFlix. All
of them have web applications that you can access via a link .
16