Professional Documents
Culture Documents
ND12023 Note1
ND12023 Note1
COMPUTER APPRECIATION
A computer is a programmable electronic device that can accept, store, retrieve, process data
and give out information as output. Computers can be programmed to carry out a sequence of arithmetic
or logical operation automatically. A Computer System is a complete setup of computer hardware,
software and peripheral devices (mouse, webcam, etc.) needed for operation.
A computer hardware provides an operational environment for a software; hence, a software can not
execute any task without the existence of a computer hardware. similarly, a computer hardware is
operationally ineffective without the existence of a software.
A computer software is a set of programs, data and configuration developed to collectively execute an
array of tasks. A program is a sequence of instruction written with respect to the syntax rules of a
particular programming language, to solve a particular problem. A single software can consist of
hundreds of programs.
Brief History: Computers are developed to make complex and repetitive operations easy for humans as
they can easily retrieve stored data and process a wide range of data simultaneously by means of
software. The first existence of computer software was basically a set of instruction outlined on paper
to guide the steps in the electrical and mechanical circuit, this is because early computers were electro-
mechanical machines with multiple intricate moving parts. These machines were modified over time to
have the instructions embedded in them; these developments came in generations as explained below;
First generation (1937 – 1946): In 1937 the first electronic digital computer was built by John V.
Atanasoff and Clifford Berry. It was called the Atanasoff-Berry Computer (ABC). Other developments
continued until in 1946 when the first general-purpose digital computer, the Electronic Numerical
Integrator and Computer (ENIAC) was built. It was programmable, has storage and It is said that this
computer weighed 30 tons, and had 18,000 vacuum tubes which was used for processing. Computers of
this generation could only perform single task, and they had no operating system.
Second generation (1947 – 1962): This generation of computers used Transistors switches for
processing, which were more reliable than vacuum tubes. In 1951 the first computer for commercial use
was introduced to the public; the Universal Automatic Computer (UNIVAC 1). In 1953 the International
Business Machine (IBM) was introduced. The computers of this generation had memory and Operating
Systems. Storage media such as tape and disk were in use also, printers were used for output. Many
programming languages were developed in this generation as the computers of this generation were
programable. Some of these languages are FORTRAN (formula translator) invented by John Backus in
1957, COBOL (Common Business-Oriented Language) developed under the influence of Grace Brewster
Murray Hopper in 1959, these languages were used in programming the earlier computers.
Third generation (1963 – Present): This generation of computers used Integrated Circuits for processing
instead of transistor switches, this made computers became smaller, more powerful, reliable and they
are able to run many different programs at the same time.
Using the various available programming language, Microsoft developed the Disk Operating System (MS-
DOS) on 12th August, 1981. IBM also introduced the Personal Computer (PC) for home and office use in
2|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
1981. Microsoft later introduced the Windows Operating system in 1983. On 24th January, 1984 Apple
developed the Macintosh computer.
Most other contributions to the developments of computer softwares were made by introducing
programing languages which was easy to understand and highly effective in creating software Modern
day programming mainly makes use of high level languages such as C (developed in 1972 by Dennis
Ritchie), C++ (developed by Bjarne Stroupstrup in 1985), Java (invented by James Gosling in 1995),
Python (created by Guido Van Rossum in 1991), and further software applications in embedded systems
makes use of languages such as Arduino (created by Massimo Banzi in 2005) among others. These
languages are used in creating modern softwares and updates to the already existing software and
technology.
Due to the existence of flexible languages such as C and C++, programmers developed a GUI
(Graphical User Interface) to encourage ordinary people to use computers, these GUIs have buttons and
tabs which when clicked, engages some operations in the computer, and these GUIs are referred to as
operating systems. Earlier computers did not have any form of operating system, this made them only
operable by technically learned personnel. In today’s world, the average kid can expressly operate a
computer and perform series of tasks through the operating system. Modern ways of interacting with
computers such as voice commands have made it possible for people with disabilities to engage in
computer usage. Softwares and hardware are continuously developed daily.
Banking Management of accounts via mobile applications, wire transfers between banks, accessing loans
via mobile applications
Transportation Planning of flight schedule, booking buses and flights via mobile and web applications, real time
map location trackers.
Food Computerized refrigerators help monitor and adjust temperature according to preserve food
preservation stored in it.
Entertainment Live-streaming of videos and music, maxing of sounds and others, video gaming, social media
Industry Equipment control, equipment testing with simulation, architectural designs and animation,
electrical design and simulation and others.
3|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
Configurations
User: This refers to the human or machine that is operating the computer system. The broad operations
performed by the User on the computer are; Input data, perform computation on the data, save or
discard the computed output, retrieve as softcopy or hardcopy. Different operations of the user require
different software and hardware components to produce the desired output, below is a few examples
of the operations and required components on a computer system;
User Operation Required Hardware component Required Software Components
Hardware: This is the physical component that a computer system requires to perform its functions.
They are packaged electronic devices used to build up the computer. Hardware includes the input
devices (keyboard, mouse, I/O ports, microphone), processing components (motherboard, graphics
4|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
card, CPU and others), output devices (screens, speakers, I/O ports), storage components (Hard Disk
Drive, Solid State Drive), Ventilation fans, power supply and others.
Software: This comprises of program or group of programs, data and configurations (configs). These
components are packaged together into a single file suitable for a particular operating system. There
are two broad type of softwares which are Application software and System Software;
System Software: This is a collection of programs designed to operate, control and extend the
processing abilities of the computer itself. System softwares are generally developed by the computer
manufacturers. System software serves as the interface between the hardware and the end user.
Example of system softwares are Operating system, compilers, interpreter, assemblers, drivers, etc.
some of the features of system software are;
System softwares interact with the computer components and the firmware automatically.
They have high speed of operation due to the priority given to them when the processor tends to
allocate resources.
They are quite complex to design.
System softwares which are open-sourced are difficult to manipulate, however, most of them are
not open sourced e.g. the windows operating system.
System softwares are generally programmed in low-level language
Application Software: These type of softwares are developed with the aim of solving real-world
problems or making a repetitive task seamless for humans. Application softwares are developed by
individuals or firms who may not be the manufacture of the computer, however, they are designed to
run on specific operating systems or cross platform (web applications). Example of application software
are; Desktop applications (Microsoft word, Corel Draw, Adobe Photoshop, AutoCAD), Web applications
(payment platforms like Remita, flight booking websites bookings.com, entertainment websites such
as Netflix), Mobile Applications (Games, banking apps, educational apps (udemy, coursera), social
medial apps such as Instagram, Facebook and others).
They usually have impressive GUIs and interact more with the user.
They may be slow in speed of operation when launched on computers with low specifications.
They are designed in high level languages which are easy to learn and practise.
They provide more services to the needs users than system softwares.
Application software packages are large in size and can easily be acquired over the internet
5|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
Some differences between hardware and software are shown in the table below;
Firmware: This is a type of program found on hardware device that provides control for that specific
hardware and also provides essential instruction on how the particular hardware communicate with
other hardware. Examples of firmware are BIOS (Basic Input Output System), EFI (Extensible Firmware
Interface).
Software and firmware are both programs but while softwares are large in size (up to a few gigabytes),
firmware is usually between few kilobytes. Softwares completely run on the CPU (main processor) but
firmware runs on smaller processor known as ROM (Read Only Memory) chip. Softwares interact with
the user but firmware only interacts with the hardware it is designed to control.
6|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
Algorithm can be defined as a set of steps written in plain English text to describe the stages
involved in performing a particular task. Algorithms can be written in form of flowcharts, a numbered
list, and pseudo code.
The Input–Process–Output (IPO) Algorithm is a summarized means of describing the operation
of a computer system. This description is often represented with flow charts. Below are few flowchart
symbols and their uses;
Symbol Name Uses
Terminal/terminator Indicate start/end of flow chart
process.
The IPO Algorithm can be further explained using a case whereby a costumer pays for an item at the
checkout point of a supermarket. The flowchart and steps to solving this task are explained in class
during the lecture.
7|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
Data is referred to as a raw unprocessed form of information. Technically, data is a descriptive means
of modelling real world entities. A computer software can only solve or proffer solutions to real world
problems if the right data is fed to it for computation. Whenever we interact with a computer, we are
basically Inputting data, manipulating data or retrieving data.
Data exists in varying types; below are some data types and examples of a real-world item or event
they model;
Observing the table above, it is obvious virtually every existing entity can be described with a
combination of the data types. Whenever we input data to the computer, we are making use of one or
more data type.
Why is data type import? Data type is very import because it informs the computer the amount of
memory space to create for the variable that will hold the data value.
Storage is an essential feature of the computer. It is the means by which the computer keeps record of
data or information and retrieve them when needed by the user or an internal process. Data or
information is either stored for a brief moment or for long term.
8|INTRODUCTION TO COMPUTER SOFTWARE (EEC112) – 2023/2024
Random Access Memory (RAM): This is a volatile, electronic storage media which directly communicate
with the Central Processing Unit (CPU). Whenever a software or file is needed in a process, the Operating
system copies an instance of that file or software onto the RAM for the CPU to use. Softwares run on
the RAM, which is why it’s sometimes called Run time memory. RAM has small capacity (from kilobytes
to a few Gigabytes) hence, quicker for the CPU to search through. RAM is a chip and has no rotating
part.
System storage: This can either be a Hard Disk Drive or a Solid-State Drive.;
Hard Disk Drive (HDD): This is a fixed non-volatile storage media used by the computer to store
softwares and other files. HDD stores a large amount of data due to its large capacity (ranges from a
few gigabytes to Terabytes). Records stored in the HDD are fetched by the operating system when
needed by the processor. The HDD is made of rotating magnetic disks, data is fetched from this magnetic
disk by a read-write head which is a thin electronic arm that slightly touches the surface of the disk.
Most computers come equipped with a hard disk drive.
Solid State Drive (SSD): The Solid-State Drive is an electrostatic device which stores data on an
electronic chip. It’s sometimes referred to as flash memory. Data is fetched electronically from this
device without any mechanical movements, the SSD operates much faster than the HDD and computers
with SSD are usually slim and faster in operation, however, computers with SSD tend to be more
expensive than those with HDD.
Read-Only Memory: This is also an electronic chip which stores very little programs dedicated to control
a specific hardware in the computer. They are not designed to interact with the user by any means,
hence, programs stored on this storage cannot be altered. Firmware is stored on a ROM.
Removable/External Drives: These are storage devices which are not on-board the computer circuit.
They are plugged into the USB port where files can be read from them by the Operating System
Cloud Storage: This is a remote storage drive provided by firms for storing and retrieving of files over
the network. Files such as photos, videos, documents can be stored on a remote (distant) drive over the
network by means of uploading these files to the precise drive. These drives are physical and are kept
in a safe location where a high speed (super computers) computer is used to serve the content of the
drive to the user via the internet. Example of such drive are Google Drive, Microsoft OneDrive, Amazon
cloud, Adobe Creative Cloud, etc. The section of the drive which a file is uploaded to is identified to
the user by the means of user email, this is part of the reasons why two users can never have the same
email address.