Computer Software
Computer Software
Computer software refers to electronic procedures and instructions that control the operation of the
computers.
Or
Computer Software: This refers to the set of instructions or programs that tells a computer what to do.
1. One should consider whether the software would perform a specific task.
2. One should consider whether it’s easy to use by the user (user friendly)
3. One should consider a software that makes good use of its resources
4. One should consider whether the software protects the information it is responsible for.
5. One should consider a software that can only be moved to other operating systems.
There are two major types of software
1. System software
2. Application software
CATEGORIES OF SOFTWARE
Software is broadly grouped into 2 main categories:
1) System software
2) Application software
SOFTWARE
1. It coordinates the various computer hardware components such as the printers , monitors,
keyboards etc
2. It helps the computer to configure its devices (recognise hardware that are attached or that
are working with it)
3. The operating system manages programs (it can support just one user running one program
or many users running multiple programs)
4. The operating system helps in co-ordinating tasks. It determines the order in which tasks are
processed i.e. receiving data from an input device, processing instructions, sending
information to an output device and transferring items from storage to memory.
5. The operating system monitors the performance of the computer system.
6. Helps in starting a computer (booting)
7. Helps to organise files and folders.
8. It helps users to administer computer access security by use of a user name and a password
before a user logs on a computer.
Most multi-user operating systems require each user to log on. Some operating systems also allow a
user to assign passwords to files so that only authorized users can open them.
Log on: It is the process of entering a user name and a password into the computer.
A password; is a combination of characters associated with a username that allows a user to access a
computer or a network.
NB: Do use:
At least eight characters if supported by the system
A combination of mixed case letters and digits
A password that can be typed easily without looking at the keyboard
Do not use:
Your name, birth day, ID card number or telephone number
A password of all digits or the entire same letters
Tips for safeguarding your password
Do not share your password with others
Do not write your password
Change your password frequently
9. The operating system also provides a user interface.
The User interface
Is part of the software with which you interact. It is through the user interface of an operating system
that you can communicate with the computer.
Types of the user inter face.
1. Command line Interface(CLI)
2. Graphical user Interface(GUI)
3. Menu driven Interface(MDI)
1. Command line interface.
Command Line Interface (CLI): It is an interface where the user types key words or press special
keys on the keyboard to enter data and instructions. E.g. COPY, RENAME, DEL, EXIT, Dir C:
for opening the C:\ drive or directory.
(NB: please don’t draw this. It’s just for you to understand)
My Documents
My Network places
Online services
Syntax: It is a rule of writing programming statements.
The syntax is the most important part of a Dos command name without which the computer will send an
error message i.e. it gives Bad command or file name.
Basic DOS commands.
A DOS command is an instruction that DOS executes from the command line. DOS contains internal
commands, which are built into the operating system. And external commands, which must be executed from
a file.
All Dos commands have command names which tell Dos what function is wished to be carried out or
formed as below.
COMMAND FUNCTION
Dir Lists a directory of files
TIME Changes the system time
DATE Changes the system date
DEL Deletes named files (for example: C:\del myfile.txt)
COPY Copies files or disks. To copy all files from the “my files” subdirectory to the A: floppy drive, the
command would be: Copy C:\myfiles\*.*a:
CHDIR or CD Changes the directory
CLS Clears the screen
TYPE Displays a text file
VER Displays the version of MS-DOS in use
DIR/P Views directories one page at a time
DIR/p Displays wide format in columns
1) File viewer utility: It is a utility that displays and copies the contents of a file.
2) File Compression utility: This reduces or compresses or shrinks the size of a file. A compressed file
takes up less storage on a hard disk or any other storage devices, which frees up room on the disk.
Compressed files sometimes are called zipped files because they usually have a .zip extension.
3) Diagnostic utility: This compiles technical information about a computer’s hardware and certain system
software programs and then prepares a report outlining any identified problems.
4) Disk scanner utility: It is a utility that detects and corrects both physical and logical problems on a
hard disk or floppy disk, and searches or removes unwanted files.
A physical problem is one with the media, such as a scratch on the surface of the disk.
A logical problem : It is the one with the data, such as a corrupted file.
5) Disk defragmenter utility: It is a utility that organizes the files and unused spaces on a computer’s hard
disk so that data can be accessed more quickly and programs can run faster. When the contents of a file
are scattered, the file is fragmented.
6) Uninstaller utility: It is a utility that removes an application, as well as any associated entries in the
system files.
7) Backup utility: This allows a user to copy or backup selected files or the entire hard disk onto another
disk or tape.
8) Anti-virus utility: It is a program that protects, detects and removes viruses from a computer’s memory
or storage devices, for example Norton Antivirus, Kaspersky Anti-virus, avast antivirus etc.
9) Screen saver utility: This is a utility that causes the monitor’s screen to display a moving image or blank
screen if no keyboard or mouse activity occurs for a specified period of time.
10) Data sorting utility: This involves taking in data and re-arranging it in order as specified by the user.
11) Merging: It is a utility that involves combining data from different locations in memory into one single
unit.
12) Spy ware remover utility: is a utility that detects spyware and other similar programs. Spyware is a
program placed on a computer without the user’s knowledge that secretly collects information about the
user.
13) Internet filters utility: Are utilities that remove or block certain information being sent
14) Search utility: Is a utility that attempts to locate a file on one’s computer.
Etc
PROGRAMMING LANGUAGES
A programming language is a set of instructions employed to direct the operation of a computer
.OR. Programming languages are coded instructions which are used when designing computer programs.
OR. They can also be defined as artificial languages used by programmers to write instructions (computer
programs) that can be run by the computer.
PROGRAMMING: This is the process of writing a program to solve a given problem.
Characteristics Of Programming Languages
• They are instructions for calculations
• Have instructions for data movements
• Every programming language has instructions for input and output
• Have syntax (a set of grammatical rules)
Classification Of Programming Languages
Programming Languages are classified into two categories:-
• Low Level Languages(LLL)
• High Level Languages(HLL)
1. Low Level Languages:
These are languages which the computer can easily understand and are strongly related to the processor since
they can easily be memorized.
Low level languages are machine oriented and very difficult for programmers to understand.
They are categorized into two:-
i) Assembly Languages
ii) Machine Code Languages:
Machine Code Languages:
It is a language that consists of binary numbers that represent instructions. These are first generation
languages consisting of 0s and 1s. Machine language is written in binary codes i.e. digits of 0s& 1s..
Advantages Of Machine Code Language
• Machine language is highly efficient and allows control of each operation.
Disadvantages Of Machine Code Language
• Programmers have to write computer programs using 0 and 1 which are difficult to learn, read and
debug.
• The whole process is tedious, time consuming and error prone.
• It is not user friendly at all and it is designed for specific microprocessors.
Assembly Language:
This is a language that uses a group of letters to represent a whole group of words instead of presenting a
binary operation of zeros and ones (0s& 1s). They use more English words and therefore easily understood by
the programmers. E.g. "ADD" for addition, "SUB" for subtraction.
However, each assembly language instruction is eventually translated into machine language by the compiler.
Advantages Of Assembly Languages
• It has closer control of the computer hardware.
• It is useful for writing operating systems and game programs which require the fast and efficient use of
the Central Processing Unit (CPU).
Disadvantages Of Assembly Languages
• Execution may be too slow since the language has to be translated into machine code which can easily be
understood by the computer.
• It is designed for a specific machine and specific processor thus not easily compatible with every
machine.
2. High Level Languages
These are languages which programmers can easily understand but not immediately understood by the
computer.
These languages are user-friendly and problem oriented rather than machine based. Just like machine
language, instructions in high level languages are written in English like words. E.g. phrases, symbols etc.
They consist of phrases that are closer to human language or mathematical notations. They are later translated
into low level languages for the computer to easily understand. High level languages are also referred to as
Third (3rd) Generation Languages.
Examples Of High Level Languages
BASIC: Beginners All Purpose Symbolic Instruction Code. This is used for training computer programmers.
COBOL: Common Business Oriented Language. This is an international accepted high level language used
for general commercial purposes.
FORTRAN (FORmula TRANslation)
This is a procedure oriented language used for mathematical and engineering services. It is known for its
simplicity, efficiency and accuracy.
PASCAL (Pascaline Arithmetic):
This language was named after Blaise Pascal a French mathematician who invented a mechanical calculator
commonly known as a Pascaline. It is used for fast execution for mathematical problems.
ALGOL (Algorithmic Language)
This is suitable for scientific and engineering computations; and it is suitable for scientific and engineering
computations.
ADA: This language was named after Lady AUGUSTA ADA LOVERACE. This language was used on the
first commercial computer invented by Charles Babbage at the University of Cambridge in England. It is
suitable for both scientific and commercial purposes.
C- Language: This is also a high level program oriented language used for software development.
LOGO: This was developed for educational use in which children can explore and develop concepts through
programming the movement of a pen.
Other Programming Languages include
- C++
- LISP (List Processing): This was developed in the late 1950’s by John McCarthy and it is a prominent
language used in artificial intelligence.
- PROLOG (Programming in Logic):; is a language from LISP by the Japanese and it is designed for use
with expert systems and artificial intelligence.
- DBASE etc.
What makes the language good?
• Suitability of the problem • Availability
• Clarity and simplicity • Consistency
• Efficiency
Language Translators / Language processors
These are system programs that convert assembly language and high level languages into machine
language for the computer to understand.
Examples include:
A compiler: A compiler is a program which translates a source program from high level language to low level
language which can easily be understood b the computer.
Interpreters (Translators): This is a program that translates the source program line by line while the
program is running from high level language to low level language.
Assembler: This translates assembler instructions from assembly language to machine code language or the
binary code.
Programming Tools
Debuggers: These are programming tools which help programmers to detect and correct errors in a
computer program.
Linkers: These combine compiled programs and determine where the program will be located in the
memory.