Dit 0202 - Week One

You might also like

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

DIPLOMA IN INFORMATION

TECHNOLOGY
DIT 0202: INTRODUCTION TO PROGRAMMING & ALGORITHMS
WEEEK 1
INTRODUCTION TO COMPUTER SYSTEMS
LECTURER: MR. ALVIN MDACHI
By the of this lecture you should be able to:
1. Define a computer system
2. Know the various components of a computer system and how
they work
3. Understand the different classes of computer software
4. Explain the different types of computing environments
5. Describe the differences between machine languages, symbolic
languages and high level languages and state their examples
COMPUTER SYSTEMS

• Computer systems comes from two words;


• Computer: is an electronic device that stores, manipulates and
retrieves the data.
• A System: is a group of several objects with a process.
• Eg. Educational System involves teacher, students (objects).
Teacher teaches subject to students i.e., teaching (process).
Similarly a computer system can have objects and process.
• A computer system has the following objects:
1. User ( A person who uses the computer)
2. Hardware
3. Software
• Hardware of a computer system can be referred to as anything
which we can touch and feel. Example : Keyboard and Mouse.
• The hardware of a computer system can be classified as: Input
Devices(I/P), Processing Devices (CPU), & Output Devices(O/P)
COMPUTER SOFTWARE
• Software of a computer system can be referred as anything which we can
feel and see. Eg Windows, icons
• Two broad categories:
1. system software, and
2. application software.
System software manages the computer resources .It provides the interface
between the hardware and the users. Application software, on the other hand
is directly responsible for helping users solve their problems.
System Software
• Consists of programs that manage the hardware resources of a
computer and perform required information processing tasks
• Divided into three classes:
a) the operating system: The primary purpose of this
software is to keep the system operating in an efficient
manner while allowing the users access to the system.
b) System support software: provides system utilities (such as
sort programs and disk format programs) and other
operating services (such as programs that provide
performance statistics for the operational staff and security
monitors to protect the system and data).
System Software… cont’d

c) System development software: includes the language


translators that convert programs into machine language
for execution ,debugging tools to ensure that the
programs are error free and computer –assisted software
engineering(CASE) systems.
Application software
• broken in to two classes:
1. General purpose software is purchased from a software
developer and can be used for more than one application. Eg
word processors, dbms, cad

2. Application –specific software can be used only for its


intended purpose. Eg general ledger system used by
accountants
The relationship between system and application
software

• To work with the system, the typical user uses some form of
application software. The application software in turn interacts
with the operating system, which is a part of the system
software layer.
• The system software provides the direct interaction with the
hard ware.
• The opening at the bottom of the figure is the path followed
by the user who interacts directly with the operating system
when necessary.
COMPUTING ENVIRONMENTS

• The following are the different kinds of computing environments


available:
1. Personal Computing Environment: used to satisfy the needs of
a single user, who uses the computer for the personal tasks. Eg.
Pc
2. Time-Sharing Environment:
• meant to share the processing of the computer basing on the
criteria time. all the computing must be done by the central
computer
• all the computing must be done by the central computer
• The complete processing is done by the central computer
• The computer which ask for processing are only dumb
terminals.
3. Client/Server Environment:
• involves the processing between two machines.
• A client Machine is the one which requests processing.
• A Server Machine is the one which offers the processing.
• Hence the client is Capable enough to do processing.
• A portion of processing is done by client and the
core(important) processing is done by Server.
4. Distributed Computing:
• provides a seamless integration of computing functions
between different servers and clients.
• A client is not just a requestor for processing the information
from the server but the client also has the capability to
process information.
• All the machines Clients/Servers share the processing
task. Eg. Example: Ebay on Internet
COMPUTER LANGUAGES

• Are used to write a program (tells a computer what to do) for a


computer.
Machine Language
• They were the only programming languages available in the earliest
days of computers.
• Each computer had its own machine language which is made of
streams of 0‘s and 1‘s.
• The instructions in machine language must be in binary.
Advantages: Disadvantages:
High speed execution Machine dependent
The computer can understood Programming is very difficult
instructions immediately
No translation is needed. Difficult to understand
Difficult to write bug free programs
Difficult to isolate an error
Symbolic Languages
• aka Assembly Language because it has a special program called an
Assembler that translates symbolic code into the machine language.
• First concept developed in early 1950‘s by Admiral Grace Hopper, a
mathematician and naval officer.
• It is a special computer program that would convert programs into
machine language.
• simply mirrored the machine languages using symbols or mnemonics
to represent the various language (known as symbolic languages)
instructions.
Symbolic Languages…cont’d
Advantages Disadvantages:
Easy to understand and use Machine Dependent Language
Easy to modify and isolate error Requires translator
High efficiency Difficult to learn and write
programs
More control on hardware Slow development time
Less efficient
High-Level Languages
• Developed to improve programmer efficiency and to change the
focus from the computer to the problems being solved.
• are portable to many different computer allowing the programmer
to concentrate on the application problem at hand rather than the
intricacies of the computer.

High-Level Languages… CONT’D
Advantages Disadvantages
Easy to write and understand Needs translator
Easy to isolate an error Requires high execution time
Machine independent language Poor control on hardware
Easy to maintain Less efficient
Better readability
Low Development cost
Easier to document
Portable

You might also like