Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

ABUBAKAR TAFAWA BALEWA UNIVERSITY BAUCHI, BAUCHI STATE

FACULTY OF TECHNOLOGY EDUCATION


DEPARTMENT OF SCIENCE EDUCATION

CSE 111

INTRODUCTION TO COMPUTER SCIENCE (I)

Lecture note
CSE 111: Introduction to Computer Science I (3 Units)
Historical Development of Digital Computers: The contributions of Pascal, Leibniz, Joseph
Jacquard, Charles Babbage, Herman Hollerith etc. Progression of computer electronics: ENIAC
and EDVAC, technological innovation during wartime. Computer Generations: 1st – 5th
generation, the major features of each generation. Classification of computer based on size,
purpose and capability. Computer Architecture: Von Neumann Architecture; Explanation on
storage, input and output units of computer system. Definition and explanation on hardware
component of a computer. System software: Operating systems, Operating system functions,
Types of operating systems, Stand-alone operating systems, Network operating systems,
embedded operating systems. Utility programs. Language Translators; Compiler, Interpreter,
Assembler. Application software: Productivity software, Developing a document, Graphics and
multimedia software, Software for home, personal, and educational use, Software for
communications. Applications on the Web, Learning aids and support tools within an
application. The Network & Internet: Meaning of internet, internet protocols. Network Types,
Network Topologies. Communications channel, Physical transmission media, Wireless
transmission media. Communications software, Telephone network, Network Communication
devices (switches, routers, hub, Modem etc), Uses of communications technologies. The Search
engines. Computer security; risks and safeguards, How viruses work and how to prevent them,
Internet and network security, Information privacy.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 2 of 21


1.0 INTRODUCTION TO COMPUTERS

The word Computer comes from the word “compute” which means to calculate. The urge of
olden day man to count made him invent computer. The olden day man uses his fingers, toes to
count. After exhausting these two options the olden day man uses stones and as the numbers
continue to grow, man decided to device other means for counting and calculating.
A computer may be defined as a device that operates upon data or information. A computer can
store, process and retrieve data as and when desired. Hence it may, be referred to as data
processor. As a data processor a computer may gather data from different incoming data sources,
merge them (process of mixing or putting together), sort them (arrange them in desired fashion)
and finally print them in the desired format. None of them is an arithmetic operation.
Hence, we can finally define computer “as an electronic data processing device that accepts
data as input through input device from external world, processes the same data internally,
stores the same data on storage device and generates the output via output device in user’s
desired fashion.”

1.0.1 Characteristics of Computer


The following are some of the characteristics why people use computer

1. Speed: Computer is a very fast device. It can operate on large volume of data in few
seconds when compared with human beings, most especially when perform mathematical
operations. It processes millions of instructions per second. The time taken by computers
for their operations is microseconds and nanoseconds.
2. Accuracy: The accuracy of a computer is consistently high and this is dependent on the
design of a particular computer. Errors do occur in computers but it is due human
imprecise thinking and analysis which results in data inconsistence.
3. Diligence: Unlike humans, computers are free from monotony, tiredness and lack of
concentration. Therefore, they can work for hours without creating any errors or feel
fatigued.
4. Versatility: Computer is capable of performing different task simultaneously with same
accuracy and efficiency, provided such task is reduced to a series of logical steps. This is
one of the most wonderful characteristics of computer. One moment it may be preparing
the result sheet of an examination, another moment it may be playing an audio, in the
next moment it may be helping someone with searching and editing of a letter.
5. Retrieval: Computer can recall any amount of information as long as it is desired by the
user. Even after several years, the information would be as accurate as when it was fed

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 3 of 21


into the computer. A computer forgets and loses certain information only when it is asked
to do so, hence, its power of remembering is human dependent.
6. Memory capacity (Storage): Computer has large memory capacity which enables it
store information. This can either be built-in memory called primary memory or
removable memory known as secondary memory.
7. Automation: A computer can perform any task at unthinkable speed and accuracy
without manual intervention. But it still possesses no intelligence of its own and is
commonly referred to as an “Idiot Box” because it has zero I.Q (Intelligence Quotient). It
acts based on commands fed in by the user, this led to the term Garbage In Garbage Out
(GIGO)
8. Memory: Computers are devoid of feelings and emotions. They have no instincts and
feelings, as they are machines. Computers cannot make judgments on their own; their
judgments are based on the instructions given to them in form of programs written by
humans.

1.1 EVOLUTION OF COMPUTERS


The evolution of computer can also be thought of in order of contributors. It refers to the great
minds that led to the invention of computer or the founders of computer. The earliest device or
rather the most primitive device that qualifies as a computer is “abacus” or “soroban.” This
device permits the users to represent the numbers by positions of beads on a rock. Simple
addition and subtraction can be carried out rapidly and efficiently by positioning the beads
appropriately. Another manual calculating device was designed in early 17th century, known to
be John Napier’s cardboard multiplication calculator commonly called Napier’s Bone. Their
upgrade versions were in use even till around 1890.

Thereafter, Blaisé Pascal invented the first mechanical adding machine in 1642. In like manner,
in 1671, Baron Gottfried Wilhelm Von Leibniz of Germany invented the first calculator for
multiplication. This brought about keyboard machines, which originated in United States around
1880 and is extensively used till today.

Around this period, only Dr. Herman Hollerith came up with the concept of punched cards and
Census Machine that read those cards. These cards were extensively used as an input media in
primitive digital computers. Business machines and calculators made their appearance in Europe
and America towards the end of 19th century.
Charles Babbage, a Professor at Cambridge University in 19th century is considered to be the
father of modern digital computers. During his period, mathematical and statistical tables were

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 4 of 21


prepared manually by clerks who after much precaution contained many errors. So, Babbage
started thinking of building a machine that could compute tables guaranteed to be error free. In
this process Babbage designed a prototype called “Difference Engine” in the year 1822 which
could produce reliable tables. In the year 1842, Babbage came out with the new idea of
“Analytical Engine” that was intended to be completely automatic. It was to be capable of
performing basic arithmetic functions for any mathematical problems at an average speed of 60
additions per minute. Unfortunately, Babbage could not produce the working model of this
machine because precision engineering required to manufacture these machines were unavailable
that time. But his efforts established a number of principles which have been the fundamental
steps towards the designing of any digital computer.

1.1.1 Progression of Some Computer Electronics


This refers to progression in the electronic components that makes of computer over years. They
are as follows:
a) The ENIAC (1943 – 1946): This is also called Electronic Numeric Integrator And
Calculator. It enjoys the prestige of being termed as the first all-electronic computers. It was
constructed at the Moore School of Engineering of University of Pennsylvania, USA by a
design team led by Prof. J. Presper Eckert and John Mauchly. The ENIAC was developed as
result of military need. It took a wall space 20x40 sq. ft. room and used 18,000 vacuum
tubes. The addition of two numbers was performed in 200 microseconds and multiplication
in 2000 microseconds.
b) The EDVAC (1946 – 1952): also known as Electronic Discrete Variable Automatic
Computer was primarily developed to overcome the problems of programs utilizing
wiring boards as it was in ENIAC. It was the first computer to be used for storing
program concept that is based on EDVAC. The concept of the “stored programs” was
proposed by John Von Neumann. The basic idea behind the stored program concept was
that sequence of instructions as well as data can be stored in the memory of the computer
for the purpose of automatically directing the flow of operations.

1.2 GENERATION OF COMPUTERS


Generation in computers refer to steps in technological advancements. Originally, it was used to
distinguish between varying hardware technologies. But nowadays it has been extended to
include both the hardware and the software which together makes up the entire computer system.
The history of computer development is often, referred to in reference to the different
generations of computing devices. Each generation of computer is characterised by a major

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 5 of 21


technological development that fundamentally changed the way computers operate, resulting in
increasingly smaller, cheaper, more efficient and reliable devices. These generations are as
follows;

i) First Generation Computers (1942 – 1955: Vacuum Tubes)


Some of the very early computers like ENIAC, EDVAC, BENDIX and EDSAC come under this
category. These machines use vacuum tubes for circuiting and magnetic drums for memory. This
made them used a great deal of electricity and generated a lot of heat, which was often the cause
of malfunction. First generation computers relied on machine language to perform operation and
they could only solve one problem at a time. Input was based on punch cards and paper tape,
with output displayed on printouts.

Advantages Disadvantages
1. Vacuum tubes were the only 1.They were too bulky in size, one computer can fill a room
electronic components available 2. They were totally unreliable devices.
during those days. 3. It generated lot of heat, which as a result led to malfunction.
2. Vacuum tube technology made 4. Due to the emission of large amount of heat, air conditioning
possible the advent of electronic was required.
digital computers. 5. It was prone to frequent hardware failures.
3. These computers were the fastest 6. It required constant maintenance.
calculating devices of their time. 7. They were not portable.
They could perform computation 8. It required manual assembly of individual components into
in milliseconds. functioning units.
9. Their commercial production was difficult and very costly.
10. It had a very limited commercial usage.

ii) Second Generation Computers (1955 – 1964: Transistors)


The “transistor,” a small and more reliable successor to vacuum tubes was invented in 1947.
However, the computers that used transistors in their architecture came into picture a decade
after its invention. The second generation emerged with transistor being the brain of the
computers. The transistors were far superior to the vacuum tube, allowing computers to be
smaller, faster, cheaper, more energy-efficient and more reliable than first generation
predecessors. Though the transistors still generated a great deal of heat that subjected the
computers to still rely on punched cards for input and printouts for output. Second generation
computer moves from cryptic binary machine language to symbolic, or assembly languages

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 6 of 21


which allowed programmers to specify instructions in words. It also sees the development of
High-level language, such as early version of COBOL, and FORTRAN. These were also the first
computers that stored their instructions in their memory, which moved from magnetic drum to
magnetic core technology.

Advantages Disadvantages
1. Smaller in size as compared to first 1. Air conditioning required
generation computers. 2. Frequent maintenance required.
2. They were more reliable. 3. Manual assembly of individual components into a
3. Lesser heat was generated from them functioning unit was required.
4. These computers were able to reduce the 4. Commercial production was difficult and costly as
computing time from milliseconds to many thousands of individual components had to be
microseconds. assembled manually into functioning circuits.
5. Less prone to hardware failure. 5. The manual assembly of individual components and
6. Better Portability cost of labour involved at this assembly stage made the
7. Wider commercial use. commercial production of these computers difficult
and costly.

iii) Third Generation Computers (1964 – 1971: Integrated Circuits)


Advances in electronics technology continued and the advent of “microelectronics” technology
made it possible to integrate large number of circuit elements in a very small (less than 5 sq.
mm) surface of silicon known as “Chips” This new technology was termed as “Integrated
Circuits” or “ICs.” The third-generation computers were based on IC technology and computers
that were built using IC were called third generation computers. Jack Kilby created the first
integrated circuit at Texas Instruments to prove that resistors and capacitors could exist on the
same piece of semiconductor material. His circuit consisted of a sliver of germanium with five
components linked by wires. Instead of punch cards and printouts, users interacted with third
generation computers through keyboards, monitors and interfaced with an operating system,
which allowed the device run many different applications at one time with a central program that
monitored the memory. Computers for the first time became accessible to a mass audience
because they were smaller and cheaper than their predecessors.

Advantages Disadvantages
1. They were smaller in size as compared to previous generation 1. Air conditioning was still a
computers. prime requirement.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 7 of 21


2. They were even more reliable than second generation computers. 2. Highly sophisticated
3. Even lesser heat generated than second generation computers. technology was required for
4. These computers were able to reduce the computational time from manufacturing of the ICs.
microseconds to nanoseconds.
5. Maintenance cost was low as hardware failure was less.
6. They were easily portable.
7. They were designed for totally general-purpose usage. Widely used
for various commercial applications all over the world.
8. They had less power requirement than previous generation computers.
9. Manual assembly of individual components into a functioning unit not
required. Thus, human labour and cost involved at assembly stage
reduced drastically.
10. Commercial production of these machines was easier and cheaper.

iv) Fourth Generation Computers (1971- Present: Microprocessors)


Initially the integrated circuit contained only 10-20 components. This technology was termed as
Small-Scale Integration (SSI). Later with the advancement in technology for manufacturing ICs,
it became possible to integrate up to 100 components on a single Chip. This technology was
called Medium Scale Integration (MSI), after, came the era of Large-Scale Integration (LSI)
where it became possible to integrate over 30,000 components onto a single chip. Efforts
continued for further miniaturization which resulted in incorporation of millions of components
onto a single chip. This technology which is still in use till date is termed a VLSI (Very Large
Scale Integration). The fourth generation computers had the VLSI chips that formed the brain of
this generation of machines and is called Microprocessor.

Advantages Disadvantages
1. They were smallest in size because of the high component 1. They required highly
density. sophisticated technology for
2. They were very reliable. the manufacturing of VLSI
3. The heat generated by these systems is negligible so no specific chips.
requirement of air conditioning systems is there except if
desired by users for their comforts.
4. They were much faster in computation than their previous
generation counterparts.
5. The hardware failure is minimal in these machines.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 8 of 21


6. They required very less maintenance than their predecessors.
7. They were easily portable because of their small size.
8. These were totally general-purpose machines and could be used
in any disciplines.
9. They involved minimal labour and cost involved at the
assembly stage.
10. They were cheapest among all generations.

v) Fifth Generation Computers (Present Era and Beyond: Artificial Intelligence)


Scientists are now working on the fifth-generation computer which is a promise but not yet a
reality. They aim to bring machines with a genuine I.Q. and the ability to reason logically and
with real knowledge of the world. Thus, unlike the last four generations which naturally
followed its predecessor, the fifth generation will be totally different, totally novel and new.
The goal of this generation is to develop devices that respond to natural language input and are
capable of learning and self-organisation.

1.3 CLASSIFICATION OF COMPUTERS


Computers can be classified under three headings, namely:
a) According to operations performed
b) According to purpose
c) According to size
i) Classification based on Operations: This classification is made on the basis of how they
process the data. This is divided into three: Digital, Analog, and Hybrid.
a) Analog Computer: The Analog computers are those which continuously measure
physical magnitude through transducers viz. pressure, temperature, voltage, and speed
etc. The Analog computers do not operate directly on numbers and these computers are
used for scientific engineering application.
b) Digital Computer: Digital computers operate directly on number expressed in binary
numbering system. They possess certain characteristics and abilities that are peculiar to
them. They can:
▪ Perform complex and repetitive calculations rapidly and accurately.
▪ Store large amount of data.
▪ Provide information in textual and graphical manner.
c) Hybrid Computer: These are combination of analog and digital Computers. Hence, they
perform dual operations.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 9 of 21


ii) Classification based on Purpose: This classification is based on the kind of task the
computer is expected to perform. It could be general purpose or specific purpose.
iii) Classification based on Size: Depending upon the cost and performance capability of
machines, the computers may also be classified as follows; Microcomputer, Minicomputer,
Mainframe and Supercomputer.
a) Microcomputer: A microcomputer is the smallest general purpose processing system
that can execute program instructions to perform a variety of tasks. They are further
classified as Personal Computers (PCs) and Home Computers. Typical of the PC category is
the IBM-PC which has become the world standard for Personal Computers in the office.
b) Minicomputers: A minicomputer may be defined as a small general-purpose computer that
is capable of handling large amount of data from multiple users working simultaneously.
Today’s mini systems are costlier and have large storage capacity speed of arithmetic
operations, and ability to support a greater variety of faster operating peripheral devices as
compared to PCs. Further, while most PC systems remain oriented toward single users, mini
systems are usually designed to simultaneously handle the processing needs of multiple
users.
c) Mainframes: A computer that is more powerful than a mini is called a mainframe
computer. Mainframe computers are capable of handling a large number of application
programmers. Most of the application packages designed in the past by the larger software
development firms have been written for mainframe computers. All popular high-level
programming languages can be used on available for mainframes, and their operating
system programs offer very high level of sophistication.
d) Supercomputers: Supercomputers are the most powerful and the most expensive
computers so far made. Only few of these computers are produced each year, because only
few organizations need their processing capabilities. Supercomputers are a national
resource. The calculations needed in some scientific research and development areas simply
cannot do without Supercomputers. These computers are used in energy sector, space
exploration, medicine, industry, and other critical areas.

1.4 COMPUTER ARCHITECTURE


This is the style of construction and organization of many part of the computer system.
Computer architecture represents the means of interconnectivity for a computer’s hardware
components as well as the mode of data transfer and processing exhibited. The basic architecture
has the Central Processing unit at the core with a main memory and input/output system on
either side of the CPU. There are basically two main levels of computer architecture; Hardware

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 10 of 21


and Software levels. Software sits above hardware, controlling and using it. While hardware
supports the software by providing the operations the software requires. Therefore, the levels are
further seen as a multi-layered machine as shown below.
7 Software level Application Layer
6 Higher Order Software Level
5 Operating System Layer
4 Hardware Level Machine Layer
3 Micro programmed Layer
2 Digital Logic Layer
1 Physical Device

• Physical Layer: is the electrical and electronic layer of computer. It falls under computer
technology. Most sophisticated component of computer are built from transistors,
capacitors and resistors
• Digital Logic Layer: All basic operations of the machine are provided at this level, data
can be stored, manipulated and transmitted inform of simple binary representation. The
digital logic elements are often referred to as gate.
• Micro programmed layer: Computers interpret machine language instruction from the
machine layer and directly causes the digital logic elements to perform the required
operation. These program instructions are called microcode and the control program is
called microprogram.
• Operating system layer: Controls the way in which all software uses the underlying
hardware. It also hides the complexities of the hardware from other software by
providing its own facilities which enables software to use the hardware more simply
• High order software layer: This covers all the programs in languages other than
machine language which requires translation into machine code before they can be
executed. Such programs when translated rely upon the underlying operating system
facilities as well as the machine code instruction.
• Application layer: Is the language of the computer as seen by the end-user.

1.4.1 Von Neumann Architecture


Computer architecture has undergone incredible changes over the past two decades from the
numbers of circuits that can be integrated onto silicon wafers to the degree of sophistication with
which different algorithms can be mapped directly to a computer’s hardware. One element has

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 11 of 21


remained constant throughout the years, however, and that is the Von Neumann concept of
computer design. The basic concepts behind John Von Neumann architecture as the ability to
store program instructions in memory along with the data on which those instructions operate.
Until his design was proposed, each computing machine was designed and built for a single
predetermined purpose. All programming of the machine required the manual rewiring of
circuits, a tedious and error prone process. If mistakes were made, they were difficult to detect
and hard to correct. Von Neumann Architecture is composed of three distinct components (or
sub-systems), namely: Central Processing Unit (CPU), Memory and Input/output (I/O)
interfaces.

Fig. 1: Von Neumann Architecture

The architecture above runs programs in what is known as the von Neumann execution cycle
(also called the fetch-decode-execute cycle), which describes how the machine works. One
iteration of the cycle is as follows:
• The control unit fetches the next program instruction from the memory, using the
program counter to determine where the instruction is located.
• The instruction is decoded into a language the ALU can understand.
• Any data operands required to execute the instruction are fetched from memory and
placed into registers within the CPU.
• The ALU executes the instruction and places the results in registers or memory

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 12 of 21


1.4.1.1 Characteristics of Von Neumann Architecture
• A central processing unit (CPU) with a control unit, an arithmetic logic unit (ALU),
registers (small storage areas), and a program counter; a main-memory system, which
holds programs that control the computer’s operation; and an I/O system.
• Capacity to carry out sequential instruction processing
• Contains a single path, either physically or logically, between the main memory system
and the control unit of the CPU, forcing alternation of instruction and execution cycles.
This single path is often referred to as the von Neumann bottleneck.

1.4.2 The Computer hardware


The hardware is the physical equipment associated with the computer system. Computer
hardware refers to the physical parts or components of a computer such as the monitor, mouse,
keyboard, computer data storage, hard drive disk (HDD), system unit (graphic cards, sound
cards, memory, motherboard and chips), etc. all of which are physical objects that can be
touched.

2a (General hardware components)

2b (Motherboard of the computer found in the system unit)

Fig.2: Basic Hardware component

• Input devices accept data in a form that the computer can use; they then send the data to
the processing unit.
• The processor, more formally known as the central processing unit (CPU), has the
electronic circuitry that manipulates input data into the information people want. The
central processing unit executes computer instructions that are specified in the program.
• Output devices show people the processed data-information in a form that they can use.
• Storage usually means secondary storage. Secondary storage consists of devices, such as
diskettes, which can store data and programs outside the computer itself. These devices

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 13 of 21


supplement the computer's memory, which, as we will see, can hold data and programs
only temporarily.
1.4.3 The Computer Software
This is the backbone of the computer without which the computer system is useless. It is made
up of two categories: System software and application software.
1.4.3.1 System software: System software or systems software is computer software designed
to provide a platform to other software(s). Examples of system software
include computational science software, game engines, industrial automation
and software as a service applications. It is further divided into three subdivisions:
Operating system, utility and translators

Fig.3: Overview of an Operating System

A) Operating System (OS): An operating system is a program that acts as an interface


between the user and the computer hardware. It controls the execution of all kinds of
programs. An operating system is a software which performs all the basic tasks like file
management, memory management, process management, handling input and output, and
controlling peripheral devices such as disk drives and printers. Some popular Operating
Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX,
z/OS, etc. Below is a diagrammatic representation of an operating system acting as an
interface between the user and the hardware.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 14 of 21


Memory
Management

Device Operating File


Management System Management

Processor
Management

Fig.4: Functions of Operating System


(i) Memory Management: Memory management refers to management of Primary Memory or
Main Memory. Main memory is a large array of words or bytes where each word or byte has
its own address. Main memory provides a fast storage that can be accessed directly by the
CPU. For a program to be executed, it must in the main memory. An Operating System does
the following activities for memory management:
• Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are
not in use.
• In multiprogramming, the OS decides which process will get memory when and how
much.
• Allocates the memory when a process requests it to do so.
• De-allocates the memory when a process no longer needs it or has been terminated.
(ii) Processor Management: In multiprogramming environment, the OS decides which process
gets the processor when and for how much time. This function is called process scheduling.
An Operating System does the following activities for processor management:
• Keeps tracks of processor and status of process. The program responsible for this task is
known as traffic controller.
• Allocates the processor (CPU) to a process.
• De-allocates processor when a process is no longer required.
(iii) Device Management: An Operating System manages device communication via their
respective drivers. It does the following activities for device management:
• Keeps tracks of all devices. The program responsible for this task is known as the I/O
controller.
• Decides which process gets the device when and for how much time.
• Allocates the device in the most efficient way.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 15 of 21


• De-allocates devices.
(iv) File Management: A file system is normally organized into directories for easy navigation
and usage. These directories may contain files and other directions. An Operating System
does the following activities for file management:
• Keeps track of information, location, uses, status etc. The collective facilities are often
known as file system.
• Decides who gets the resources.
• Allocates the resources.
• De-allocates the resources.

Types of Operating Systems

(1) Network Operating System: A Network Operating System runs on a server and provides
the server the capability to manage data, users, groups, security, applications, and other
networking functions. The primary purpose of the network operating system is to allow
shared file and printer access among multiple computers in a network, typically a local area
network (LAN), a private network or to other networks. Examples of network operating
systems include Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX,
Linux, Mac OS X, Novell NetWare, and BSD.
The advantages of network operating systems are as follows:
• Centralized servers are highly stable.
• Security is server managed.
• Upgrades to new technologies and hardware can be easily integrated into the system.
(2) Embedded Operating System: An embedded operating system is a specialized operating
system for use in the computers built into larger systems. An embedded system is a
computer that is part of a different kind of machine. Examples include computers in cars,
traffic lights, digital televisions, ATMs, airplane controls, point of sale terminals.
The advantages of embedded operating system are as follows:
• Designed for specific applications
• Compact and efficient.
• Eliminate many unneeded features of operating system.
• Used in PDAs, cell phones, kitchen applications.
(3) Standalone Operating System: A standalone operating system is complete works on a
notebook or desktop computer. It is a complete operating program that works correctly on a
computer or laptop for that specified path. A standalone operating provides its services and

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 16 of 21


deals with just one computer at a time even if it has a connection with other computers on
the server. Some are client operating systems that work in conjunction with a server
operating system, with or without a network. Examples of standalone operating systems are
windows vista, Mac OS X, UNIX, and Linux.

B) Utility Program: A utility program, also called a utility, is a type of system software that
allows a user to perform maintenance type tasks, usually related to managing a computer,
its devices or its programs. Utility programs are built into many operating systems or can
be purchased separately. Functions provided by the utility program are:
• Managing files
• Searching for files
• Viewing Images
• Uninstalling programs
• Cleaning up disks (disk defragmentation)
• Backing up files and disks
• Setting up screen savers
• Securing a computer (antivirus)

C) Language Translators: Translators are the software programs, which can translate
programs written into source language to target language. A Translator in computer science
follows the sequence of operation that is performed by a human translator. Fortunately for
the construction of translators, for the computer languages are far simpler than any spoken
language, hence the task of writing a program that translates from source language to the
target language is far simpler from translating from French to English. Some computer
translators are:

Fig.5: Categories of Language Translators


(a) Compilers: Compilers are system programs that translate an input program in a high-
level language into its machine language equivalents checks for error optimizes the code
prepares the code for execution.

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 17 of 21


Fig.6: How Compiler works
Qualities of a Good Compiler
• The compiler itself must be bug free
• It must generate correct machine code
• The generated machine code must run fast
• The compiler itself must run fast (compilation time must be proportional to program size)
• The compiler must be portable (that is modular, supporting, separate compilation)
• It must print good diagnostics and error messages
• The generated code must work well with existing debuggers
• Must have consistent and predictable optimization

Advantages of a Compiler Disadvantages of a Compiler


• Fast in execution • Rather slow
• The object/executable code produced • No object code is produced, so a
by a compiler can be distributed or translation has to be done every
executed without having to have the time the program is running.
compiler present • For the program to run, the
• The object program can be used Interpreter must be present
whenever required without the need to
of recompilation

(b) Interpreter: An Interpreter is a program that translates high-level source code into
executable code. However, the difference between a compiler and an interpreter is that
an interpreter translates one line at a time and then executes it, no object code is
produced, and so the program has to be interpreted each time it is to be run. If the
program performs a section code 1000 times, then the section is translated into machine
code 1000 times since each line is interpreted and then executed. Whenever the
programs have to be executed repeatedly, the source code has to be executed every time.
In contrast the compiled programs create an object code and this object will be

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 18 of 21


executed. Entire source code needs to be present in memory during execution as a result
of which the memory space required is more when compared to that of a compiled code.

Fig. 7: Operations of an Interpreter


Advantages of an Interpreter Disadvantages of an Interpreter
• Good at locating errors in programs • Rather slow
• Debugging is easier since the • No object code is produced, so a
interpreter stops when it encounters an translation has to be done every time
error. the program is running.
• If an error is deducted there is no need • For the program to run, the Interpreter
must be present

(c) Assembler: An assembler is a translator for an assembly language of a computer. An


assembly language is the lowest level programming language for a computer. It is peculiar
to a certain computer system and is hence machine dependent.

Fig. 8: Operations of an Assembler

1.4.3.2 Application Software


Application software consists of programs designed to perform specific tasks for users.
Application software can be used as a productivity/business tool to assist with graphics and
multimedia projects; to support home, personal, and educational activities and to facilitate
communications.
Application Software Categories

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 19 of 21


(i) Productivity/Business Software: Helps people to be more efficient. Developing stages
(5)
• Creating
• Formatting: changing the document’s appearance (Font, Font size, Point, Font style)
• Editing: Making changes to the existing document and checking for spelling and
grammar corrections.
• Saving: Copying from memory to a storage device
• Printing: Sending a file to an output device called Printer

(ii) Graphic Design and Multimedia: Used by Power Users (engineers, architectures,
publishers, etc.)
• Computer Aided Design (CAD): Creating architectural designs – 3-D shapes
• Desktop publishing (DTP): Used for high-quality colour documents (textbooks),
Supports Page-layout, arranging text and graphics page-by-page, includes a colour
Library (standard set of colours used to ensure that colours will print as expected)
• Paint/Image Editing
• Video and audio editing
• Multimedia Authoring
• Web Page Authoring

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 20 of 21


(iii) Software Packages for Home and Personal use: Is a software that is relatively
inexpensive, user friendly and easy to use and integrated Software. It combines different
application into a single package. Examples of Integrated Software:
• Personal finance software (Quicken, Microsoft Money): Offering online banking
• Legal Software: Helping in preparing legal documents (Quicken Lawyer)
• Personal paint/image editing software: (a) Manipulating and changing images in different
formats (b) Taking the Red Eye out from a photo! (c) Online print service: Email “them”
the digital photograph -> they mail you a high-resolution printed image
• Education/ Reference/ Entertainment: (a) Education - Online learning
- Computer-based training (CBT)
❖ Independent learning
❖ Consists self-directed self-paced instructions
(b) Reference – encyclopaedias, dictionaries, medical guides, Mendeley, etc

(iv) Communication Software


• Email, Web browser (view web pages)
• Newsgroup, Instant messaging, Chat rooms,
• Groupware, Video conferencing
• FTP (uploading and downloading files)
(v) Web-based applications: Is a software application that exists on the web (free or paid)?
Examples include
• Yahoo Map, Yahoo Yellow page, Tax
• Some applications allow downloading the software: MS Web applications (.NET)
• Web based training (WBT): Online Computer-based training and distance learning (off-
campus access to lectures)
• Application service provider (ASP): A third-party organization that manages and
distributes software and services on the web
(vi) Learning aids: Online help: electronic manual, FAQ (answering common questions) and
Wizard (automated assistant helping to complete a task)

CSE 111: Introduction to Computer Science (I) – Janet F. Taiwo Page 21 of 21

You might also like