You are on page 1of 30

www.covenantuniversity.edu.

ng

Computer Software

Lecture Note (Week Two)

1
Learning Objectives
 Understand the categories of software and their
applications
 Explore the generation of programming languages

2
What is Software?
 It is a set of instructions that causes the hardware
to function in a desired way.
 This set of instructions is often referred to as a
program

3
Types of Software
 Computer software can be split into two major
categories:
– System software
– Application Software

4
www.covenantuniversity.edu.ng

System Software

5
Role of Systems Software

Figure 1: The Role of Systems Software

6 6
Introduction
 System software is
– The interface between the user and hardware
– The interface between application software and hardware
 System software can be classified into three:
– Operating System
– Translators
– Utility programs
7
1. Operating System (OS)
 It is the software that manages the resources of a
computer system and schedules its operations.
 It acts as the interface between the hardware and other
user programs and facilitates the execution of programs
– UNIX
– MS-DOS
– Windows
8
2. Translators
 Computer can understand instructions only when they
are written in their own language, i.e. machine
language.
 Therefore a program written in any other language
should be translated into machine language
 The software that translates the instructions of
different languages is known as translator
9
2. Translators (Cont’d)
 There are two types of translators namely:
– Compilers
– Interpreters

10
2. Translators (Compiler)
 A compiler checks the entire user – written program (known
as source program) and if it is error free, produces a complete
program in machine language (known as object program)
– The source program is retained for possible modifications and
corrections and the object program is loaded into the computer for
execution
 If the source program contains errors, the compilers produce
a list of errors at the end of the execution of the program
11
2. Translators (Interpreter)
 An interpreter does a similar job to the compiler but in a
different style
– The interpreter translates one statement at a time and if it is
error-free, executes.
 Thus an interpreter translates and executes the first
instruction before it goes to the second, while a
compiler translates the whole program before execution
12
3. Utility Programs
 Help to perform maintenance and correct problems
with a computer system. For example
– Hardware utilities
– Virus-detection and recovery utilities
– File-compression utilities
– Spam and pop-up blocker utilities

13
www.covenantuniversity.edu.ng

Application Software

14
Introduction
 There are two types of application software
namely:
 Application programs (proprietary or open source)
 General purpose packages (off-the-shelf software)

15
1. Application Programs
• These are user written programs to do a specific job
which can be changed to meet the individual needs.
• These programs can be written in different languages
such as BASIC or C or by using database packages
like Oracle.
• Examples: Inventory management, Payroll, Billing,
Airline Reservation etc.
16
2. General Purpose Packages
• These packages are developed to suit the needs of research
workers/scientists in different fields.
• They can be categorized as follows:
• Data Analysis: SPSS
• Word Processing: MS-Word
• Spreadsheet and Accounting: MS-Excel, Sage
• Graphics & Presentation: MS-PowerPoint, Prezi, Corel Draw etc.
• Databases: Oracle
• Programming languages: Visual Basic, C/C++, Python, Java
17
www.covenantuniversity.edu.ng

Evolution and History of


Programming Languages

18
History Timeline

19
The Evolution of Programming Languages

 Programming languages fall into three broad


categories:
– Machine language
– Assembly language
– Higher-level languages

20
First Generation Languages
 Machine languages are the first generation
languages.
 They consist of strings of numbers (i.e. 0s and 1s)
the computer’s hardware can use.
 Different types of hardware use different machine
code
21
Second Generation Languages
 Assembly languages can be regarded as the second-
generation languages
 They are easier to work with than machine languages
 To create programs in assembly language, developers use
cryptic English-like phrases to represent strings of numbers
– The code is then translated into object code, using a translator
called an assembler

22
Assembly
code

Assembler
Object code
23
www.covenantuniversity.edu.ng

Higher-Level Languages

24
Introduction
 Higher-level languages are more powerful than
assembly language and allow the programmer to work
in a more English-like environment
 They can be sub-divided into:
– Third-generation languages
– Fourth-generation languages
– Fifth-generation languages
25
Third Generation Languages (3GLs)
 They are the first to use true English-like phrasing
making them easier to use than previous languages
 They are portable, meaning the object code created for
one type of system can be translated for use on a
different type of system
 Examples include:
– FORTRAN, COBOL, Pascal, BASIC, C, C++, Java
26
Fourth Generation Languages (4GLs)
 These are easier to use than 3GLs.
 4GLS may use a text-based environment (like a
3GL) or may allow the programmer to work in a
visual environment, using graphical tools.
 Examples include:
– Visual Basic, Visual C++ etc.
27
Fifth Generation Languages (5GLs)
 These high-level languages use artificial
intelligence to create software.
 They can be used to solve problems using
constraints rather than algorithms
 Example includes:
– Prolog
28
Language Generations
Generation Classification
1st Machine languages
2nd Assembly languages
3rd Procedural/High-level languages
4th Query and Database languages
5th Artificial Intelligence
6th Neural Networks, others…

29
Assignment
 Find out other generations of programming
languages with examples
– Maximum of 1 Page

30

You might also like