Computer Hardware and Software
Computer Hardware and Software
and Software
Platform Technologies | BSIT 2i Group ONE
What is Computer Hardware?
Computer hardware is the physical
components or the tangible parts
that a computer system requires
to function.
PHYSICAL COMPONENTS :
Input Devices
Processing Devices
Output Devices
Input/Output Devices
Communication Devices
Ports Types
Motherboards
I nput device is any hardware
device that sends data to a
computer, allowing you to interact 1 KEYBOARD
with and control it. It sends
information to a computer system for 2 MOUSE
processing, but it cannot receive data
from another device. 3 MICROPHONE
A Soviet-era technology,
GPS was originally used in the
1960s to track U.S. submarines
carrying nuclear missiles. The
Department of Defense deployed
more satellites to bolster the
burgeoning navigation system.
The sound card controls the output
of sound signals, enabling devices
like speakers and headphones to
work.
Braille is a 63 character
alphabet invented in 1824 by Louis
Braille. Braille was embossed on paper
and other materials for decades
before braille reader technology was
invented.
SGDs, also known as voice output
communication aids, generate text to
speech. A user types something and
when the command is sent, the SGD
reads the sentence out loud.
Alternatively referred to as a cd
DIGITAL VIDEO DISK
writer, CD-WO (write once), or
WORM (write once read many),
USB FLASH DRIVE
CD-R is short for Compact Disc-
Recordable. It's a writable disc
SD CARD
and drive capable of having
information written to the disc
BARCODE READER
once and read many times.
Data cannot be deleted from a
DIGITAL CAMERA
CD-R disc, and a CD-R disc
cannot be formatted. If the data
TOUCH SCREEN
is not written to the disc
properly, it cannot be corrected
HARD DRIVE
and is often jokingly referred to
as a coaster.
FLOPPY DISK DRIVE
DIGITAL CD – RW DRIVE
HARD DRIVE
HARD DRIVE
Modulation is a procedure or
method of converting the digital
signal into analog signal.
Demodulation is a process of
converting the analog signal into
digital signal.
COMMUNICATION DEVICES 1
MODEM 2
MODEM
FUNCTION
A Computer Port is an interface or a point of connection between the
computer and its peripheral devices. The main function of a computer port is
to act as a point of attachment, where the cable from the peripheral can be
plugged in and allows data to flow from and to the device.
PORT TYPES
--9.6x9.6 inches
2 APPLICATION SOFTWARE
3 PROGRAMMING SOFTWARE
4 DRIVER SOFTWARE
WHAT IS SYSTEM SOFTWARE?
A type of computer program that is
designed to run a computer's hardware
and application programs. If we think of
the computer system as a layered model,
the system software is the interface
between the hardware and user
applications. The operating system is the
best-known example
of system software. 1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
WHAT IS OPERATING SYSTEM?
The operating system is a type of
system software kernel that sits
between computer hardware and
end user. It is installed first on a
computer to allow devices and
applications to be identified and
therefore functional.
1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
WHAT IS FIRMWARE?
Enables device control and
identification. Firmware is the
operational software embedded
within a flash, ROM, or EPROM
memory chip for the OS to identify
it. It directly manages and controls
all activities of any single hardware.
1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
WHAT IS TRANSLATOR?
Translates high-level languages to
low-level machine codes. These are
intermediate programs relied on by
software programmers to translate
high-level language source code to
machine language code.
1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
FUNCTIONS OF TRANSLATOR
Identify syntax errors during
translation, thus allowing changes to be
made to the code.
Provide diagnostic reports whenever
the code rules are not followed.
Allocate data storage for the
program.
List both source code and program
details.
1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
WHAT IS UTILITY?
Ensures optimum functionality of
devices and applications. Utilities
are types of system software which
sits between system and application
software. These are programs
intended for diagnostic and
maintenance tasks for the computer.
1 OPERATING SYSTEM
2 FIRMWARE
3 TRANSLATOR
4 UTILITY
ADVANTAGES OF
SYSTEM SOFTWARE
- A gadget driver controls a particular kind
of gadget that is appended to your PC,
similar to a console or a mouse.
Their single greatest bit of leeway is
that they meet exact necessities of the
client.
- Authorized application programming gets
customary updates from engineer for Due
to security reasons authorized application
get normal update of application.
- With presentation of master frameworks,
information recently bound to a few people
are frequently appropriated and made
accessible all through an enterprise. This
may improve the working and execution of
an organization solely.
DISADVANTAGES OF
SYSTEM SOFTWARE
- There’s consistently hazard engaged
with changing existing practices to
reword an English saying “If it’s not
broken, don’t fix it!”.
- The most straightforward explanation
could be that people much same as the
look or sound of most recent
innovation and an organization needs
to be seen at “forefront” of innovation.
- All the more regularly, organizations
grow new programming frameworks as
a consequence of outer powers.
Expenses could likewise be rising and
new programming could diminish
overheads.
WHAT IS APPLICATION
SOFTWARE?
Application software is a type of computer
program that performs a specific personal,
educational, and business function. Each
program is designed to assist the user with a
particular process, which may be related to
productivity, creativity, and/or
communication.
1 SYSTEM SOFTWARE
FUNCTIONS
❖ Managing information 2 APPLICATION SOFTWARE
❖ Manipulating data
❖ Constructing visuals 3 PROGRAMMING SOFTWARE
❖ Coordinating resources
❖ Calculating figures 4 DRIVER SOFTWARE
TYPES OF APPLICATION
SOFTWARE
1. PRESENTATION SOFTWARE: Presentation software
enables you to put forth your thoughts and ideas with
ease and with good clarity by using visual information. It
lets you display the information in the form of slides.
You can make your slide more informative and more
engrossing by adding text, images, graphs, and videos. It
has three components:
❖ Text editor to input and format text
❖ nsert graphics, text, video, and multimedia files
❖ lideshow to display the information
6. SPREADSHEET SOFTWARE:
Spreadsheet software is used to perform
calculations. In this software, data is stored in a
table format. The intersecting area, called cells, are
separated to define fields such as text, date, time,
and number. It allows users to provide formulas
and functions to perform calculations. Example,
Microsoft Excel.
TYPES OF APPLICATION
SOFTWARE
7. DATABASE SOFTWARE:
Database software is used to create and manage a
database. Also known as a DBMS (Database
Management System), it helps you organize your data.
So, when you run an application, data is fetched from
the database, modified, and is stored back in the
database. Oracle, MySQL, Microsoft SQL Server,
PostgreSQL, MongoDB, and IBM Db2 are some popular
databases.
10. FREEWARE:
As the very name indicates, it is available free of cost.
You can download it from the Internet and use it
without any fee. However, this software does not allow
you to modify it or charge a fee for distributing it.
Adobe Reader and Skype are good examples of this
software.
TYPES OF APPLICATION
SOFTWARE
11. SHAREWARE:
This is distributed freely to the users on a trial basis,
usually with a limited time offer. The users are expected
to pay if they want to continue to use the software.
Some examples are WinZip and Adobe Acrobat.
2 APPLICATION SOFTWARE
3 PROGRAMMING SOFTWARE
4 DRIVER SOFTWARE
CATEGORIES OF
PPROGRAMMING LANGUAGE
1. LOW-LEVEL LANGUAGE - The low-level
language is a programming language that
provides no abstraction from the hardware, and
it is represented in 0 or 1 forms, which are the
machine instructions. The languages that come
under this category are the Machine level
language and Assembly language.
❖ Machine-level language
The machine-level language is a language that
consists of a set of instructions that are in the
binary form 0 or 1.
❖ Assembly Language
The assembly language contains some human-
readable commands such as mov, add, sub, etc.
Machine-level language Assembly language
The machine-level language comes at The assembly language comes above
the lowest level in the hierarchy, so it the machine language means that it
has zero abstraction level from the has less abstraction level from the
hardware. hardware.
It cannot be easily understood by
It is easy to read, write, and maintain.
humans.
The assembly language is written in
The machine-level language is written
simple English language, so it is easily
in binary digits, i.e., 0 and 1.
understandable by the users.
It does not require any translator as In assembly language, the assembler
the machine code is directly executed is used to convert the assembly code
by the computer. into machine code.
It is a first-generation programming It is a second-generation programming
language. language.
CATEGORIES OF
PPROGRAMMING LANGUAGE
2. HIGH-LEVEL LANGUAGE – Allows a
programmer to write the programs which are
independent of a particular type of computer.
The high-level languages are considered as high-
level because they are closer to human languages
than machine-level languages.
Advantages of a high-level language
❖ The high-level language is easy to read, write,
and maintain as it is written in English like
words.
❖ The high-level languages are designed to
overcome the limitation of low-level language,
i.e., portability. The high-level language is
portable; i.e., these languages are machine-
independent.
Low-level language High-level language
It is a machine-friendly language, It is a user-friendly language as this
i.e., the computer understands the language is written in simple English
machine language, which is words, which can be easily
represented in 0 or 1. understood by humans.
The low-level language takes more
It executes at a faster pace.
time to execute.
It requires the assembler to convert It requires the compiler to convert
the assembly code into machine the high-level language instructions
code. into machine code.
The machine code cannot run on all The high-level code can run all the
machines, so it is not a portable platforms, so it is a portable
language. language.
It is memory efficient. It is less memory efficient.
Debugging and maintenance are Debugging and maintenance are
not easier in a low-level language. easier in a high-level language.
TYPES OF
PPROGRAMMING LANGUAGE
1. Procedural Programming Language
The procedural programming language is used to
execute a sequence of statements which lead to a
result. Typically, this type of programming
language uses multiple variables, heavy loops and
other elements, which separates them from
functional programming languages.
2. Functional Programming Language
Functional programming language typically uses
stored data, frequently avoiding loops in favor of
recursive functions. The functional programing’s
primary focus is on the return values of functions,
and side effects and different suggests that storing
state are powerfully discouraged.
TYPES OF
PPROGRAMMING LANGUAGE
3. Object-oriented Programming Language
This programming language views the world as a
group of objects that have internal data and external
accessing parts of that data. The aim this
programming language is to think about the fault by
separating it into a collection of objects that offer
services which can be used to solve a specific
problem.
4. Scripting Programming Language
These programming languages are often procedural
and may comprise object-oriented language
elements, but they fall into their own category as
they are normally not full-fledged programming
languages with support for development of large
systems.
TYPES OF
PPROGRAMMING LANGUAGE
5. Logic Programming Language
These types of languages let
programmers make declarative
statements and then allow the
machine to reason about the
consequences of those statements. In a
sense, this language doesn’t tell the
computer how to do something, but
employing restrictions on what it must
consider doing.
EXAMPLES OF
PPROGRAMMING LANGUAGE
1. Python is a high-level programming language
used for general-purpose programming.
With a simple syntax, Python has automatic
memory management and dynamic features
that make it suitable to be used in a variety
of applications in the software development
companies such as gaming, web
applications, language development,
prototyping, etc.
Advantages:
❖ Consist of third-party modules
❖ Object-oriented languages
❖ Portable across operating systems
❖ Contains user-friendly data structures
❖ Widely supported and has an active
EXAMPLES OF
PPROGRAMMING LANGUAGE
2. Java is an object-oriented
programming language that can be
written on any device and can work
even on a cross-platform basis. Often
used to develop mobile applications,
Java is also the basis of the Android
operating system. The language is
preferred by the testers owing to its
ability to use even on cross-platforms.
EXAMPLES OF
PPROGRAMMING LANGUAGE
Advantages:
This language is platform-independent
in both binary and source level
User and design-friendly
Known for its feature of security and
called as the safest programming
language which can disrupt corruption or
errors
Has the added feature of Stack
allocation system which helps in data
storing and easy restoring
Java has the feature of automatic
garbage collection and memory
allocation
EXAMPLES OF
PPROGRAMMING LANGUAGE
3. RUBY - With numerous tools and libraries
available along with the language, Ruby is simple
to use the programming language that does not
require one to learn programming vocabulary or
commands.
Advantages:
❖ Fast, efficient & user-friendly
❖ Consist of easy & understandable syntax
❖ Has a large worldwide community with a lot
of online tutorials and learning resources
❖ Ruby on Rails is known to be one of the best
frameworks which help you build web apps
quickly
EXAMPLES OF
PPROGRAMMING LANGUAGE
4. C - One of the most difficult
programming languages for software
development, gaining an understanding
and knowledge of C makes it simple to
learn other languages such as C++.
Since it is a machine-level language, a
tester who has its knowledge does not
find it difficult to test a program written
in any other language as well.
EXAMPLES OF
PPROGRAMMING LANGUAGE
Advantages:
❖ It is known to be the building block
of many other languages seen
today
❖ Consists of a lot a function that
includes system-generated
functions
❖ It is portable and can be set-up fast
❖ Has the capability to arrange the
program in a clear, easy and logical
way.
EXAMPLES OF
PPROGRAMMING LANGUAGE
5. LISP - The second oldest
programming language, LISP is one of
the most preferred language in artificial
intelligence development due to its
high level of flexibility and ability to
complete a particular task as chosen.
LISP is also one of the top programming
languages for software testing as it
allows for efficient coding due to
compilers and fast prototyping
capabilities.
EXAMPLES OF
PPROGRAMMING LANGUAGE
Advantages:
❖ Can modify its own syntax for a
specific program/programming style
❖ Most important advantage is its
format od determining data is same
as that of writing code, which
makes lisp macros a natural part of
the syntax
❖ Its homo-iconic
❖ Supports functional and imperative
programs
EXAMPLES OF
PPROGRAMMING LANGUAGE
6. PERL - One of the commonly used
languages for software, hardware, and
network testing, PERL helps in ensuring
the best quality of a software product.
Its file handling techniques and
powerful file analyzing that consume
the least execution time make it one of
the most preferred languages over
other programming languages.
EXAMPLES OF
PROGRAMMING LANGUAGE
Advantages
❖ Most used programming languages
for web apps
❖ Open-source software
❖ Can integrate with different database
products via the platform
❖ Can handle HTML, XML, PDF formats
❖ With more than 500 modules
available, it can be expanded and its
flexible
❖ Supports OOP like Java and C++
EXAMPLES OF
PPROGRAMMING LANGUAGE
7. MATLAB - is one of the most
preferred languages over other
programming languages for software
testing. This language allows the testing
team to execute test algorithms
without any sort of recompilation. Its
desktop environment allows one to
work interactively with the data, which,
in turn, helps one to keep an easy track
of files and variables and hence,
simplifies the debugging process.
EXAMPLES OF
PPROGRAMMING LANGUAGE
Advantages:
❖ Has a toolbox of formats and
functional features
❖ Syntax of the program is easily
understandable
❖ Data analysis is very easy as all the
data is stored in the matrices
❖ Allows to test algorithms without any
recompilation
❖ Has the ability to process both
images and videos
❖ Helps users to keep track of data and
variables
EXAMPLES OF
PPROGRAMMING LANGUAGE
8. SQL - Is found to be an interactive
language that is on the rising path among
other programming languages. Tech
giants like Amazon, Google, IBM, Oracle,
Helix, Microsoft, etc. continue to utilize
SQL in their systems. This is considered
to be a standardized program that is
used to perform relational functions and
operations.
EXAMPLES OF
PPROGRAMMING LANGUAGE
Advantages:
❖ Modify database tables and index
structures
❖ Its high-speed functional ability can
retrieve a large number of records
from a database quickly
❖ Has well-defined standards
❖ Do not require the substantial
writing of codes
❖ It’s an open-source language which is
portable and easy to use
WHAT IS DRIVER
SOFTWARE?
Driver software is a type of system software
which brings computer devices and
peripherals to life. Drivers make it possible
for all connected components and
external add- ons to perform their
intended tasks and as directedly the
OS.
1 SYSTEM SOFTWARE
Without drivers, the
OS would not assign 2 APPLICATION SOFTWARE
any duties.
3 PROGRAMMING SOFTWARE
4 DRIVER SOFTWARE
TYPES OF DRIVER
SOFTWARE
1. Block Device Drivers - Devices
that support a file system are
known as block devices. Drivers
written for these devices are
known as block device drivers.
2. Character Device Drivers -
Character device drivers normally
perform I/O in a byte stream.
They can also provide additional
interfaces not present in block
drivers, such as I/O control (ioctl)
commands, memory mapping,
and device polling.
TYPES OF DRIVER
SOFTWARE
3. Byte-Stream I/O - The main task
of any device driver is to perform
I/O, and many character device
drivers do what is called byte-
stream or character I/O.
4. Memory Mapped Devices - For
certain devices, such as frame
buffers, it is more efficient for
application programs to have
direct access to device memory.
5. STREAMS Drivers - STREAMS is a
separate programming model for
writing a character driver.
ADVANTAGES OF DRIVER
SOFTWARE
❖ The device-driver accepts the
generic high-level commands and
breaks them into a series of low-
level device-specific commands as
required by the device being
driven.
❖ Device Drivers can provide a level
of security as they can run in
kernel-mode, thereby protecting
the operating system from
applications running in user-
mode.
DISADVANTAGES OF DRIVER
SOFTWARE
❖ Device drivers have traditionally
been a weak spot of most
operation systems, especially in
terms of accounting and control
of the resources consumed by
these software components.
❖ Each device driver’s code may run
in multiple execution contexts
which makes the resource
accounting difficult, if not
impossible.
1 MIZRAIM B. CANO