0% found this document useful (0 votes)
8 views

PROGRAMMING LANGUAGES NOTES ICT and COMPUTER

The document provides an overview of elementary computer programming, defining key concepts such as programming, source code, object code, and various programming languages. It discusses the stages of program development, including problem recognition, definition, design, coding, testing, and implementation, as well as the advantages and disadvantages of low-level and high-level languages. Additionally, it covers programming control structures, algorithms, and flowcharts, emphasizing their importance in the programming process.

Uploaded by

nuwamanya anorld
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

PROGRAMMING LANGUAGES NOTES ICT and COMPUTER

The document provides an overview of elementary computer programming, defining key concepts such as programming, source code, object code, and various programming languages. It discusses the stages of program development, including problem recognition, definition, design, coding, testing, and implementation, as well as the advantages and disadvantages of low-level and high-level languages. Additionally, it covers programming control structures, algorithms, and flowcharts, emphasizing their importance in the programming process.

Uploaded by

nuwamanya anorld
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 66

ELEMENTARY COMPUTER PROGRAMING.

Computer Programming
A program – is an organized list of statements (instructions) that when
executed, cause the computer to behave in a pre-determined manner or carry
out a defined task.

Programming – Refers to the process of developing computer (instructions)


programs used to solve a particular task.
A computer program is designed using a particular programming language.
Each language has a special sequence or order of writing characters usually
referred to as syntax

Terms used in programming


Source program.
This refers to the program code that the programmer enters in the program
editor window (html editor, Java editor,php(personal home page) editor) that is
not yet translated into machine-readable form.

Object code
This refers to the program code that is in machine –readable i.e a source code
that has been translated into machine language.

Translators
These are programming tools that translates /convert the source program into
object code. E.g. Assemblers, compilers, interpreters etc.

Assembler
An assembler translates a program written in assembly language into machine
language.

Interpreter
This translates the source programs line-by-line, allowing the CPU to execute
one line before translating the next. The translated line is not stored in the
computer memory, hence every time the program is executed, it has to be
translated.

Compiler
This translates the entire source program into object code. The compiler
translates each high level instruction into several machine code instructions in
a process called COMPILATION and produces a complete independent program
that can be run by the computer as often as required without the original
source program being present.

Levels of programming languages


There are two major levels namely; -
i) Low level languages
ii) High- level languages.

1. Low-level languages.
- These languages are classified as low because they can be directly, or
easily understood by the computer with little effort to translate into
computer understandable form.
- These languages are hardware oriented and therefore they are not
portable. I.e. a program written for one computer cannot be installed
and used on other.
-
Types of low level languages
A . Machine language: First generation (languages)
- In this language, instructions are written using binary logic. Given that
data and instructions are in binary form, many lines of codes are
needed to accomplish even a simple task like adding two numbers i.e.
program written in this language look like this.
111000110 0000011 10000001
0001111 10001101
10001111 1111111 1000011
The program code is hard for humans to understand but it’s easily understood
by computers.

B. Assembly languages (second generation languages)


- This language is close to the machines vocabulary rather than the
human beings vocabulary. It was developed in order to overcome the
difficulties of understanding and using machine language. This
language helps the programmers to write programs as a set of symbolic
operation codes called mnemonics. Mnemonics are basically shortened
two or three letter words. A sample program written in Assembly
language.
Mov AX, 15 (move 15 to register AX)
SUB Ax, 10 (subtract 10 from the value Ax.
Programs written in this language require an assembler to convert them into
machine language.

2. High-level languages.
These languages are very close to the human language (English –like) and
they can be read and understood even by people who are not experts in
programming. These languages are machine independent. This means that a
programmer concentrates on problem solving during a programming session
rather than how a machine operates.

Classes of high-level languages


i) Third generation languages (3 GLS)
This generation language is also called structured or procedural languages.
A procedural language makes it possible to break a program into components
called modules. Each performing a particular task. Structured programming
has advantages because it’s flexible, easier to read and modify.

Examples of third generation programming language.


Pascal – Was developed to help in teaching and learning of structured
programming.
Fortran – Was developed for mathematics , scientists and engineers. It
enables writing of programs with mathematical expressions.
Cobol – Was designed for developing programs that solve business programs.
Basic – Developed to enable students to easily learn programming.
c- Used for developing system software e.g the operating systems. Its very
powerful high level language because of its ability to provide programmer with
powerful aspects / features of low level.
Ada – This language is situatable for developing military, industrial and real
time systems.

ii) Forth generation languages (4 GLs)

This generation make programming an even easier task than the third
generation language because they present the programmer with more
programming tools. Examples of such tools are command buttons, forms etc.
the 4 GLs are easy to learn and understand because they are user based. The
languages syntax (grammar) is natural , near English language and use
menus to prompts to guide a non-specilist or retrieve data with ease.

Examples of 4GLs
a) Visual Basic
b) Delphi Pascal
c) Visual cobol
d) C + +
iii) Fifth generation languages ( 5 G’s)
These languages are designed around the concept of solving problems by
enabling the computer to depict human like intelligence. These programs are
designed to make the computer solve the problem programmer rather than
programmer spending a lot of time to come up with the solution.

Examples of 5GL’s
a) PROLOG
b) MERCURY
c) LISP
d) OCCAM.
iv) Object oriented programming languages. (OOP)
The concept behind OOP languages is to look at a program as having various
objects instructing to make up a whole. Each object has a specific data
values that are unique to it (called state) and a set of the things it can
accomplish called (functions or behavior). This process of having data and
functions that operate on the data within an object is called Encapsulation.
Several objects can then be linked together to form a complete program OOP
has greatly contributed to development of Graphical user interface
operating systems and application programs.

Examples of OOP
a) Java
b) Simula
c) Small talk.
d) Python
e) C++
f) Visual basic.net
g) Sea sharp.

v) Web scripting languages.


These languages are used to develop or add functionalities on web pages.
Web pages are hypertext documents created in a language called Hypertext
markup languages (HTML) .the language consists of markup tags that tell the
internet browser that the file contains HTML- code information and is
distinguished by a file extension of HTML . the markup tags define the various
components of a world wide Web document such as heading , tables ,
paragraphs , lists etc. HTMl does not have the declaration part and control
structures , hence its not considered as a true programming language. Due to
its simplist, it has many limitations and can not be used alone when
developing functional websites. Some special blocks of codes called Scripts may
be inserted in HTML pages using scripting languages like JavaScript, VBScript
etc in order to add functionality to HTMl PAGES.

Advantages of Low-level languages.

1. The CPU understands machine language directly without translation.


2. They are suitable and hardly crash or breakdown once written
3. Running a program is fast, no compilation is needed.
4. They are economical in terms of the amount of memory they use.

Disadvantages Low-level languages

1. They are difficult and cumbersome to use and learn


2. Requires highly trained experts to both develop and maintain programs.
3. Debugging programs is difficult
4. They are machine dependant the programs are long.

Advantages of high-level languages


1. The programs are portable (not machine dependant)
2. They are user friendly and easy to use and learn.
3. They are more flexible
1. They provide better documentation
2. They are easy to debug
3. Require less time to code.
Disadvantages of high-level languages
i) Program executed more slowly.
ii) Require larger CPU storage capacity for compilation.
iii)They have to be translated to machine-readable form before the computer
can execute them.

Program development
There are six stages of program development. They include

Problem Documentation
recognition

Problem definition

Program design

Program coding

Program testing

Program implementation

i) Program recognition

This refers to the understanding and interpretation of a particular problem. To


understand a problem one has to look for key words such as computer,
evaluate, compare etc. a programmer identifies problems in the environment
and seeks to solve them by writing computer program that would provide the
solution.

Circumstances that can cause the programmer to identify a problem.


1. Opportunity to improve the current program .
2. Anew directive given by the management requiring a change in the status
quo.
3. Problems of undesirable solutions that prevent an individual or organization
from achieving their purpose.
Example:- Problem is Finding the area of a circle.
Programmer to develop program used to calculate area
of circle.
The equation for calculating the area of circle A=πr2

ii) Problem definition.


At this stage the programmer tries to determine or define the likely input,
processing and expected output using the key words outlined at the problem
recognition stage. The boundaries of the expected program are established
and if several methods to solve the same problem are identified the best
alternatives should be chosen. At the end of the stage requirement
documentation for the new program is written.

iii) Problem design


This is the actual development of the program’s processing or problem
solving logic called algorithm. (A limited number of logical steps that a
program follows in order to solve a problem) the programmer comes up with
an algorithm after analyzing the requirements specifications.
Some of the problems are made up of large block code. Ie they are Monolithic
while others are made of several units called modules, which work together to
form the whole program.
In modular programming each module performs a specific task. This
approach makes a program flexible, easier to read and debug. This phase
enable the programmer to come up with models of the expected program. The
model shows the flow of events and data throughout the entire program from
input of a program.

iv) Program coding


This is the actual process of converting a design model into its equivalent
program. This is done by creating the program using a particular
programming language. The end result of this stage is source programs that
can be translated into machine-readable form for the computer to execute
and solve the target problem.
v) Program Testing and Debugging.
After coding the program has to be tested and the errors detected and
corrected. Debugging refers to detection and correction of errors that may
exist in the program. Program testing involves creating test data designed to
produce predictable output.

There are two types of errors (bugs) that can be encountered when testing
i) Syntax errors – They occur as a result of improper use of language rules. e.g.
grammar mistakes , punctuation , improper naming of the variables etc.
These errors are detectable by translator and must be corrected before the
program runs.
ii) Logical errors- They are not detectable by the translator. The program rules
but gives wrong output or halts during execution.

Methods of error detection


i) Desk checking / dry-run
It involves going through the program while still on a paper before entering it
in the program editor.
ii) Using Debugging Utilities.
In the program editor, you can run the debugging utilities during translation
to detect syntax errors.
iii) Using Test Data
The programmer carries out trial runs of the new program .At each run he
enters various data variation and extremes including data with errors to test
whether the system will grid to a halt. A good program should not crash due
to incorrect data entry but should inform the user about the anomaly.

vi) Implementation and maintenance Implementation.


This is the actual delivery and installation of the new program ready for use,
creating data files and train people to use the system. The new system will
change the way things are done hence it should be reviewed and maintained.

vii) Review and maintenance


This stage is important because of the errors that may be encountered after
implementation. A program may fail due to poor use, hence proper training
and post implementation support of users will reduce chances of having them
entering invalid data that crash the program.

viii) Program documentation


This is writing of support materials explaining how the program can be used
by users, installed by operators or modified by other programmers. All stages
of development should be documented in order to help during future
modification of the program.
Types of documentation
i) User oriented documentation
These type enables the user to learn how to use the program as quickly as
possible and with little help from grammar.
ii) Operator oriented documentation
Meant for computer operators. E.g Technician. it helps them to install and
maintain the program.

Development of algorithms.
Algorithms – Refers to a limited number of logical steps that a program follows
in order to solve a problem.
Pseudo code – Refers to a set of statements written in a readable language
(English – like) but expressing the processing logic of program.
Guidelines for designing a good pseudo code.
1. The statements must be short, clear and readable.
2. Pseudo code lines should be clearly outlined and indented clearly.
3. It should show clearly the start and stop of executable statements and
control structures.
4. Statements must not have more than one meaning.

Examples of Pseudo code.


Write a pseudo code that can be used to prompt the user to enter two
numbers, calculate the sum and average of the two numbers and then
display the output on the screen.

Solution
START
Print “Enter two numbers”
Input x,y
Sum – x+y
Average = sum /2
PRINT sum
PRINT Average
STOP

Program flowcharts.
A flowchart is a diagrammatic representation of a program in algorithms. It
uses statements and symbols that have specific meaning. The symbols are of
different standard shapes linked to show the order of processing. Each shape
contains note stating what the operation is.
Guidelines for drawing a flowchart
1. There should be only one entry and one exit point of a program algorithm.
2. Use correct symbol at each stage in the flowchart.
3. Avoid a crossd flow lines.
4. Be as neat and tidy in drawing as possible.
5. Genearal direction of flow in any flowchart is from top to bottom , left to
right.

Examples of flowchart
Draw a flowchart for a program used to prompt the user to enter two number s.
the
program should find the sum, and average then display the output

Start

In put
XY

Sum = x+y
Average = z+y/2

Print
Sum,
Average

STOP

Types of flowchart
System flowchart
It’s a chart that depicts the systems as a whole with only subsystems or a major elements shown.

Program flowchart
This chart shows the sequence of operations as carried out by a computer program.
Advantages of flowchart.
1. Gives programmer good visual reference of what the program will do.
2. Serves as program or system documentation.
3. Its easy to trace through from the start to find the action resulting from a set of condition .
4.Allows programmer to test alternative solutions to a problem without over coding the program.

Disadvantages.
1. There are so many different ways to draw them.
2. Its difficult to remain neat and uncluttered if the logic is complex.
1. Constructing a flowchart is time consuming.
2. They take up considerable space.
3. They are difficult to amend without redrawing

Program control structure


They are blocks of statements that determine how statements are to be executed.
There are 3 control structures namely.
i) Sequence
In this control structure, the computer reads instructions from a program file starting from the
first top line and proceeding downwards one by one to the end. Hence sequential program
execution enables the computer to perform tasks that are arranged consecutively one after
another in the code.

Examples of how a sequential program execute


Begin {procedure name} the program file reader reads sequentially statements
Action 1 by statements to the end of the file.
Action 2
Action n
End {procedure name}

ii) Selection/decision
This structure is used to branch, depending on whether the condition returns a value of True or
False (yes or no)

For example
If < condition >
Then Action 1
Else Action 2
Endif.

There are 4 types of selection controls used in high-level programming


1. IF…………………………..THEN
This is used if only one option is available. All other options are ignored. For example if a
school wants to reward only the students who have mean mark of 80 and above, it will be reward
only those students who have attained 80% and above and ignore the rest.

General format
If < condition > Then
Statements :
Endif

If mark >80 then


Print “Reward”
Endif
IF……………………………….THEN…………ELSE
Used when there are two available options for example in a football match a player is given a
RED CARD if he does a very serious mistake otherwise he is given Yellow Card.

General Format
If < condition >THEN
Statements 1,
ELSE
Statement 2
EndIF

The algorithm will be;-


If fault = serious THEN
Print “RED CARD”
ELSE
Print “ yellow card”
EndIf.

3. Nested IF
This is used where two or more options have to be considered to make a selection. For
example, to award grade according to the marks as follows
a) 80 marks Grade A
b) 60 marks Grade B
c) 50 marks Grade C
d) 40 marks Grade D

General format
If < conditions >Then
Statement
ELSE
If < condition >Then
Statement
ELSE
If < condition >Then
Statement
ELSE
Statement
EndIf
EndIf
End
CASE SELECTION
Its an alternative to the nested IF. This selection is preffered to the Nested if in order to reduce
the many lines of codes . case selection can only be expressed using integers and alphabetic
characters only. The Boolean expression should be CASE interger OF or CASE char OF.
General format
CASE x of
Label 1: statement 1
Label 2: statement 2
:
label n: statement n-1
ELSE
Statement n
End case

Example
CASE average OF
80…100: Grade = “A”
70-79 Grade= “B”
60-69 Grade = “C”
40-49 Grade =” E”
ELSE
Grade = “F”
End case.
iii) Iteration (coping) repetition
This is designed to execute the same block of code again and again until a certain condition is
fulfilled . Itelaration is important in situations where the same operation has to be carried out
on a set of data many times.
There are three main looping controls.
i) THE – WHILE-DO LOOP
This repetitive structure tests the condition first before executing the successful code if and
only if the Boolean expression returns a true value.
Example
To withdraw money using an ATM a customer must have a balance in his/her account.

General format
While <condition >Do
Statement
End while.

Flowchart

Withdraw cash update


account

Bal yes
>o?
End loop
no

Pseudo code segment


While balance >O do
Withdraw cash
Update account
End while

Example
Pseudo code segment
REPEAT
Withdraw cash
Update account
Until balance <0:

General format
REPEAT
Statement
UNTIL <condition>

iii) REPEAT………………UNTIL LOOP


In this structure the code is executed before testing the condition. The repeat loop stops when
the Boolean statement returns a value. For example in the case of ATM of discussed above the
client can withdraw money until balance is zero.

Flowchart

Withdraw cash
update account

Yes

Bal
>o?
No

Exit loop
iii) The FOR LOOP
This structure is used where execution of the chosen statements has to be repeated a
predetermined number of times. For example if a program is to calculate the sum of ten numbers
provided by the user. The FOR LOOP can be used to prompt the user to enter the 10 numbers at
most ten times. Once the numbers are entered the program calculates and displays the sum.
Pseudo code
FOR count = 1 to 10 Do
Writeln “Enter a number (N)”
Readln N
Sum = sum +N
End FOR.

Display sum
The counter has to be set to a start value and sometimes to an end value.

General fomart of the loop


1. Fomart for the FOR loop that counts from lower limit.
For loop variables = lower limit To upper limit Do
Statements
Endfor
2. Fomart for the “for” loop that counts from upper limit down to lower limit .
for loop variable = Upper limit Down To lower Limit Do
Statements
Endfor

Flowchart for a forloop that counts upwards.

Flowchart for a FORLOOP that counts downwards


Diagram
Examples of complex pseudo codes.
1. Unshirika society pays 5% interest on shares exceeding 10,000 Ksh and 3% on share that do
not meet theis target. However no interests is paid on deposits in the members bank. Account .
Design a pseudo code for a program that would:
a) Prompt the user for shares and deposits of a particular member.
b) Calculate the interest and total savings.
c) Display the interest and total savings on the screen for a particular member.

Pseudo code
Start
Input Name, share,Deposit
If share> 10000 THEN
Intrest = 0.05 x shares
ELSE
Interest = 0.03 x shares
EndIf
Total savings = Deposit Interest + shares
Print Name., Totalsaving , Interest
Stop
Flowchart
Diagram
2. Botswana has a population of 3,000,000 but thi si filling by 4% each year . The island of
Reunion has a population of 95,000 but this is increasing by 95 each year.
a) Draw a flowchart that predicts the year in which the population of reunion will be grater than
that of Botswana if the trend continues.
Solution
Pseudo code
Start
Bts: 3,000
IR: = 95,000
Year : = 0
REPEAT
Bts = Bts – (Bts * (4/100)
IR = IR + (IR (9/100))
Year = year +1
UNTIL IR > Bts
Print year
Stop

3. Write a program that will allow the input of name of student marks obtained in 5 subjects
(Math, Engllish, Computer, Biology) .
The program should calculate the total and evearge marks for each student and assign the
grades depending on the average marks obtained as follows.
80- 100 A
70- 79 B
60- 69 C
50-59 D
Below 50 –E
The program should then display each students name , total marks and average .
Pseudo code
START
REPEAT
Print “ Enter name and subject marks”
Input Name, maths,English , Kiswahil , Computer , Biology
Sum = maths,English , Kiswahil , Computer , Biology
AVG = sum/5
If (AVG > 80) AND (AVG < 100) THEN
Grade = “A”
If (AVG > 70) AND (AVG <79) THEN
Grade = “B”
If (AVG >60) AND (AVG <69 THEN
Grade = “c”
If (AVG > 50) AND (AVG <59) THEN
Grade = “D”
ELSE
Grade = “E”
Endif
Endif
Endif
Endif
Print name, sum, AVG, Grade
Until count = Number of students.
Stop
Flowchart

PAST KCSE QUESTIONS ON THE TOPIC


1. 2002
State two types of documentation in program development and give the purpose of each .
(4 marks)
2. state any three activities that occur in a program compilation process (3 marks)
3. The following can be used to list the add numbers between 0 and 100

1. Diagram
a) write a program segment for the flowchart using a high language (7 marks)
b) What would be the output from the flowchart if the statement in the decision box is changed to
(3 marks)

i) odd = 100 ii) odd <100 iii) odd >100

2003
1 a) Distinguish between Machine and Assembly language (2 marks)
b) State the type of translator necessary for a program written in
i) High level language
ii) Assembly language
2. Briefly explain the purpose of the following types of a program documentation ( 2marks)
i) User manual
ii) Reference guide
3. State any two features of user-friendly program (2 marks)
2. Study the flowchart below and the question that follow.
a) Write a high level language program for the above flowchart ( 7 marks)
b) List the outputs of the flow chart above (5 marks)

KCSE 2004
1. Distinguish between a compiler and an interpreter ( 2 marks)
2. What is meant by the term DRY Running as used in program development (2 marks)
3. Differentiate between source program and object program (2 marks)
4. Bidii wholesaler has two categories of customers for order processing. Category “A” obtains
10% discount on all orders up to Ksh 10,000. Otherwise the discount is 20% on the entire order.
Category “B” obtains 30% discount on all orders if the debt repayment is “good” otherwise the
discount is 15% . Draw a flowchart for the order processing (15 marks)

KCSE 2005
1. Distinguish between Real, Integer and character data types a used in programming (3 marks)
Diagram

2. a) Name the control structure depicted by the flowchart above ( 1 mark)


b) Explain the following terms as used in program implementation ( 2 marks)
i) Parallel running
ii) Direct changeover
3. a) State the stages of program development in which ( 2 marks)
i) A flowchart would be drawn
ii) The program would check whether the program does as required.
iii) The user guide would be written
iv) The requirements specification would be written
b) State the output of the following segment.
Diagram
c) Draw a flowchart to computer the combined resistance ® of two resitors R1 and R2 in parallel
using the formula: ( 5 marks)
R= 1
1 1
+
R1 R2
KCSE 2006
1. a) List two examples of
i) Third generation language
ii) Object oriented languages.
2 . 2007
Write al algorithm to compute the area of a triangle (2 marks)
PRACTICE QUESTIONS ON THE TOPIC
1. Distinguish between the following
a) Compiler and interpreter.
b) Object code and source code.
2. State 3 advantages of high level languages over low level language.
3. Outline the stages of program development in their respective order
2. State two advantages of modula programming.
3. distinguish between pseudo code and Algorithm.
4. explain three types of control structures used in programming
5. write a pseudo code that will inform the user of what to waer depending on the weather . if its
raining “wear rain coat” if not “wear overcoat”
6. draw a flowchart for a program to display the name of a suspect to a crime who is aged
between 20 and 35 year and between 66 and 70 inches tall.
7. draw a flowchart to compute and print the grades for an examination. The input Data is Roll.
No and marks for six subjects out of 100 . grades are allocated on the following basis
% marks
grades
75 and above A
60 and less than 75 B
Less than 60 C
PREDICTION QUESTIONS ON THE TOPIC
1. a) What is meant by structured programming ( 1 mark)
b) State 3 advantages of using modules in program development ( 2 marks)
2. Give a reason why its necessary to have a program design (1 mark)
2. Distinguish between user documentation and operator documentation (2 marks)
3. state two advantages and two disadvantages of using flowchart in program design (4 marks)
4. using a simple sketch , illustrate the
i) REPEAT……….UNTIL control structure ( 3 marks)
ii) WHILE ………..DO control structure
iii) CASE control structure
5. Give an advantage of compiling a program rather than interpreting it ( 1 mark)

CHAPTER FOUR

SYSTEM DEVELOPMENT
A system
Is a set of items linked together to carry out a given task in order to achieve one or more
objectives . a system is described as being either soft or hard.
i) Soft system
Human activity are said to be soft systems. They are said to be soft because:
a) Their boundaries may be fluid or keep on changing
b) Their goals and objectives conflict.
c) Its difficult to precise define exact measures of performance for them.
ii) Hard systems
These are systems whose goals and objectives are clearly defined and the outcomes from the
systems processes are predictable and can be modeled accurately.

Systems classification
i) Deterministic system
These are systems whose outputs are known precisely by their input e.g a computer.

ii) Probalistic systems


These are systems whose output can only be predicted but not known precisely. e.g Business
and economic system organization

iii) Cybernetic systems.


These are self-controlling systems, which adapt to the environment and regulate their own
behavior by accessing the feedback. They access their output and adjust the input e.g. Human
beings, plants systems.

Characteristic of systems
1. Holistic thinking
In this, a system is considered as a whole. A combination of various components that makes up
a system creates a complex whole whose overall goals are more sophisticated than those of the
individual components.
2. Sub systems.
A system is made up of different components (subsystem) . Therefore a system does not exist
in solitude but it may be a component of large system.
3. Processor
This is an element of a system that does the actual transformation of input into output.
4. Objectives / purposes
Objectives of the system may be real or stated. An organisation should state objective and
operate to achieve another user must know the major objective of a system.
5. Environment
The environment is the system within an organization operates. Environment provides a reason
for the existence of the system.
6. Boundaries
System boundaries are external element whose changes in attitudes, behavior and property
affect their state and are affected respectively. Ie it’s the limit of system.
7. Independence
For a system to be effective and efficient, its components or subsystems must be co-ordinate
and linked together.
8. Feedback
A feedback is a check within a system to see whether predetermined goals are being met. The
checks are conducted on a system to determine deviation.
9. Control
This is the process by which the system adapts to changes in the environment in order to give
the expected level.
10. System Entropy
Entropy means decay. System decay naturally over time, hence it slowly becomes useless to
the user either due to improvement in technology, new management or change in user
requirements. Therefore it must be reviewed in order to improve it or develop a new one.
11. Inputs and out puts
A system communicates with its environment by receiving inputs and giving outputs.
12. Open and closed system
An open system receives input from and gives output to the environment while a closed system
does not interact with the environment so that good quality reports are produced for easy
understandings.
b) Input specification.
The input to the system is necessary because the content of their input are used to maintain the
master files. The following should be considered in input specification .
i) The contents and volume of input
ii) The mode and devices of input selected.
iii) Layout and sequence of input.

c) File / data stores


File requirement involves making an informed decision on file required to store data and
information in the system. The analyst should identify the number of files that will be needed
by the system and determine the structure of each file.
d) Hardware and software requirements.
System analyst should specify all hardware and software requirements for the new system.
He/she should consider; -
a) Economic factors e.g price
b) Operational factors e.g reliability
c) User friendliness.

4. System design
This involves detailing the physical design of the system, it’s the how of the process. Once the
logical design is outlined during the system analysis , the analyst determines the physical
design, which describes the hardware, software and operating procedures required to make a
system operational. Several tools are used for designing an information system. . Examples are
flowchart, data flow diagram, structured charts. Etc.
5. System construction.
This refers to coding, installation and testing of the molecules and their components such as
outputs, inputs and files. The purpose of the construction is to develop and test a functional
system that fulfils the business and design requirements.

Testing the system


The system is tested be entering some test data to find out whether its output are as expected.
The system is tested using the requirements specifications and the design specification to find out
whether it meets all requirements specified.

6. System implementation
This involves installing the system in the user’s computers. Testing the installed system,
converting from old system to the new one an d training the users.
System implementation involves;-
i) File creation and conversion
ii) Chang eover
iii) Staff training.

i) File creation and conversion


This involves setting up of the master files that are to be used in the support of the new
system. The setting can be either from scratch or just to convert the files that were employed
in old system.
ii) Training staff .
The training aim at ;-
a) Convincing the staff of the user department on the effectiveness of the new system.
b) Remove fear of change from them.
c) Enabling the staff to cope with processing task of the new system.

Methods of Training
 Demonstration
 Manual reference
 Group discussion
 Visits

iii) Changeover
This is the process of changing over from old system to rthe new system.

Types of changeover
a) Direct changeover
In this approach the new system commence live operation and immediately the old system is
abandoned.

Advantages of Direct changeover


 It’s a cheap method
Disadvantages of Direct changeover
 Extremely risky
 Places an organization in a do or die situation.

b) Parallel changeover
In this changeover the operation of the old system and the new system run alongside each
other.
Advantages
 Provides a method of training in the new system
 Personnel become familiar with the new system prior to actual changeover.
Disadvantages
 Costly to run two systems
 Cross checking is difficult
 Requires more staff hence more training required for additional staff.
c) Phase changeover.
In this approach implementation is done only one part of the new system at one time or a step
by step.
Advantages
 Allow the system to be implemented quickly
 Less costly
 Failure of the system are limited
 Causes minimal disruption.
Disadvantages
 Problem on ensuring that the first phase is implemented and converted.

7. System review and maintenance.


System maintenance is the adjustment and enhancement or correction or errors after the system
has been implemented. The reviewing involves going through the specification and testing the
system after implementation to find out whether it still meets the original specification.

8. System documentation
This is written graphical record of the steps taken during the system development process.
System documentation consists of
i) Report of fact-finding which outlines methods used to collect data, weakness of the current
system and recommendation of the current system.
ii) Requirements specification, which entails the output requirements, input, hardware and
software required for the new system.
iii) System flowchart, which shows the overall functionality of the proposed information system.
iv) Tables or file structures depending on the approach used in system construction.
v) Sample test data to test whether the new computerized information system is working as
expected.
vi) User manual, which helps the user work with the new system minimal guidance . The manual
contains information like.
 How to install, start the system
 The interface of the system
 How to carry out various tasks
 Error collection and how to get help.
SYSTEMS THEORY and DEVELOPMENT
A System:
A system is a set of inter-relate components/Elements set together to
perform a given task.
Information Systems (IS):
These are interrelated elements (hardware, software, users, data and
information) working together to collect, process, store, and disseminate
information for:
 Decision making
 Coordination
 Control
 Analysis
 And visualization (conceptualization/seeing complex subjects for org’nal
survival.

Types of Information systems.


Can be classified basing on;
 Behavior of the system
 Nature of work done by the system
Therefore information systems can be;
 Deterministic system: - Is a system where given the input the output
can be determined.
 Probabilistic/stochastic system. Is a system where given the input the
output cannot be successfully determined.

 Self–organizing/Adaptive/Cybernetic systems.
Systems which are highly complex. i.e. system which continuous adapt
to changes in the environment.
 Computer based information systems (CBIS): these rely on computer HW
and SW
 Formal systems: These are systems that rest on clearly fixed and
accepted data and procedures with predefined rules.
 Management Information System (MIS):
Focuses on computer based information systems aimed at organizational
management provide reports and on-line access to the orgn’s records
Are system that convert data from internal and external source into
information to be used by managers if effective decision making for planning,
Directing and control of original activities.
They include:
Executive information system (EIS) or Executive
Support system ESS.
Systems used at the strategic level of management to facilitate non-routine
decision making through illustrations and communication. They are at highest
levels of control.
EIS/ESS usually provides summarized reports.
Decision support Systems (DSS)
MISs at the organization’s mgt level combining data and complex models or
tools to facilitate decision making. Used to help manager in effective decision-
making where data is unstructured.
Unstructured data is one with very high level of uncertainty and difficulty to
making the right decision using it.
Expert System:
Systems designed to provide specialized information/data for specialized areas
or fields. E.g.
Accounting/Finance expert system.
Marketing expert system.
Human resource expert system.
Health applications
Systems can also be classified as;
 Data processing systems.
 Transaction system.
 Knowledge based system
Data processing systems (DPS):
These are systems that automate many of the routine clerical and
administrative procedures in organisation. For document processing, order
mgt, Stock control, and Routine billing of clients.
Management can not base on them for tactical and strategic decisions.
On-line Analytical Processing Systems (OLAPS):
These are real-time Interactive systems with direct connectivity between the
data source and the users.

Transaction Processing System (TPS):


Support the operation of organizations by processing transactions as they and
keeping them in master files. They work as the interface between the
organization and its customers.

Other Systems include;


Neural Network System
Artificial intelligence systems.
Fuzzy logic systems
Open systems
Closed Systems

Information system literacy:


Involves a broad based understanding of information systems given the
behavioural knowledge of orgns, individuals benefiting and using the IS, and
technical knowledge about ICTs/Computers

Benefits of ISs
 Making organisational structures flatter.
 Separation of work from location is minimised. eliminated the physical
distance
 Slowly doing away with manual work procedures as workflows get
reorganised
 Orgns are becoming increasing flexibility as they can now easily sense
and respond to challenges and changes in the work and market place.
 Redefinition of org’nal boundaries: as businesses get conducted across
boundaries.
 Managers can now coordinate, plan, supervise and control organisational
functions better on implementation of MIS
SYSTEM DEVELOPMENT
This (SD) defines the activities an organization should go through to come up with a properly
functioning information system. The most common approaches to SD are;
 System life cycle methodology
 Application software packages
 Prototyping approach

1. System life cycle: This is an approach that parcels the SD process into formal stages that
must be followed sequentially.
Logical stages:
 System/situational analysis
 System project definition
 Feasibility study
 Needs assessment or problem identify and definition.
 Specify solution
 Establishment of information system requirements
 System study. Looks at the problems of the existing system, defines the
objectives the new system is to attain, and evaluates the various alternative
solutions. Writes a system proposal report
 System design – Details how the new system is going to meat the information
requirements of the organization. It creates design specifications for the system solution.
Designs include inputs, outputs, user interface, databases, electronic processing and
manual procedures designs.
 Programming – usually done by a technical/professional programmer who translates
design specifications into program codes
 Testing: Is a thorough and exhaustive process aimed at determining as to whether the
system gives the desired results. It involves unit testing, system testing, and acceptance
testing. It also involves drawing conscious test plans.
 Installation and documentation: involves actual installation, re-testing, training of users
and writing of user’s manuals. Documentation involves a descriptive write-up about how
the new system works. It is both technical and end-user oriented
 Conversion stage: Involves switching from the old IS to the new one.
 Parallel conversion strategy
 Direct cutover
 Pilot study strategy. Where the new system is introduce to a limited
area
 Phased approach. Introduce in stages either by function or unit.
 Production: The system is being put to actual use, while being evaluated by end-users
and technical specialists.
 Maintenance stage: This is a post implementation phase involving servicing and
repair of the system, while making changes in hardware, software and documentation.

2. Application software packages:


These are sets of prewritten or coded software programs which are commercially available for
sale or lease. Some are specialized while other generalized software applications can be
customized.

3. Prototyping:
A Prototype is a preliminary working version of an information system for demonstration and
evaluation. It is an original functional model of a new product (software) that a developer can
put into the hands of potential users or customers, so that they can see it, test it and use it.

Prototyping is one the most effective ways of gauging the viability of a product (an information
system).

Dimensions of Prototypes
 Horizontal Prototype. This provides a broad view of an entire system or subsystem,
focusing on user interaction more than low-level system functionality, such as database
access. It is a common term for a User Interface Prototype
 Vertical Prototype: This is a more complete elaboration of a single subsystem or
function. It is useful for obtaining detailed requirements for a given function, with the
following benefits:

Types of Prototyping
1. Throwaway Prototyping also called close ended prototyping or Rapid Prototyping: refers
to the creation of a model that will eventually be discarded rather than becoming part of the
final delivered software.

2. Evolutionary Prototyping: - The main goal when using Evolutionary Prototyping is to


build a very robust prototype in a structured manner and constantly refine it. "The reason for
this is that the Evolutionary prototype, when built, forms the heart of the new system, and the
improvements and further requirements will be built.

3. Incremental Prototyping: This works in such a way that in Evolutionary Prototyping,


developers can focus themselves to develop parts of the system that they understand instead
of working on developing a whole system.

4. Extreme Prototyping: Extreme Prototyping as a development process is used especially


for developing web applications. Basically, it breaks down web development into three
phases, each one based on the preceding one:
The process is called Extreme Prototyping to draw attention to the second phase of the
process, where a fully-functional UI is developed with very little regard to the services other
than their contract.
The DSDM lifecycle of a prototype is to:
1. Identify Prototype: This requires the determination of the basic requirements including
the input and output information desired. Well, details, such as security, can typically be
ignored at this level.
2. Agree to a Plan: At this stage, the initial prototype is developed that includes only user
interfaces. (See Horizontal Prototype, below)
3. Create the INITIAL Prototype: At this stage, the initial prototype is developed that
includes only user interfaces. (See Horizontal Prototype, below)
4. Review the Prototype: Using the feedback both the specifications and the prototype can
be improved. Negotiation about what is within the scope of the contract/ product may be
necessary. If changes are introduced then a repeat of steps #3 and #4 may be needed.
Advantages of Prototyping
1. Reduced Time and Costs: Prototyping can improve the quality of requirements and
specifications provided to developers.

2. Improved and Increased User Involvement: Prototyping requires user involvement and
allows them to see and interact with a prototype allowing them to provide better and more
complete feedback and specifications.

Disadvantages of Prototyping

1. Insufficient Analysis: The focus on a limited prototype can distract developers from properly
analyzing the complete project.

2. User Confusion of Prototype and Finished System: Users can begin to think that a
prototype, intended to be thrown away, is actually a final system that merely needs to be finished
or polished.
3. Developer Misunderstanding of User Objectives: Developers may assume that users
share their objectives (e.g. to deliver core functionality on time and within budget), without
understanding wider commercial issues. For example, user representatives attending Enterprise
software (e.g. PeopleSoft) events may have seen demonstrations of "transaction auditing" (where
changes are logged and displayed in a difference grid view) without being told that this feature
demands additional coding and often requires more hardware to handle extra database accesses.

4. Developer Attachment to Prototype: Developers can also become attached to prototypes


they have spent a great deal of effort producing; this can lead to problems like attempting to
convert a limited prototype into a final system when it does not have an appropriate underlying
architecture.

5. Excessive Development Time of the Prototype: A key property to prototyping is the fact that
it is supposed to be done quickly.

6. Expense of Implementing Prototyping: the start up costs for building a development team
focused on prototyping may be high. Many companies have development methodologies in
place, and changing them can mean retraining, retooling, or both.

7. A common problem with adopting prototyping technology is high expectations for


productivity with insufficient effort behind the learning curve. In addition to training for the use
of a prototyping technique, there is an often overlooked need for developing corporate and
project specific underlying structure to support the technology.
SYSTEM START-UP AND CONFIGURATION
Here we shall look at;
a) Computer Booting
b) System Configuration
c) Software Installation
d) Computer Troubleshooting
COMPUTER BOOTING
 Booting refers to the process of attaining/getting the normal or operative runtime
environment of a computer system.

THE BOOTING PROCESS


There are two categories of activities involved in the booting process. i.e.;
 Activities done by the computer user
 Activities done by the computer itself.
Hence;
1. Powering the computer or PC. Involves turning on the power socket
and Uninterrupted Power Supply (UPS) if any, by Switching on the
monitor and then the system unit.
2. The system accesses the boot strap loader for setting up the basic input
and output system (BIOS)
3. The system then goes into Power-on-self test (POST) state or stage.
Here the system checks the functionality of all components connected
to it.
4. The boot strap loader or LILO Loads the Operating System (OS) into
memory. After which the OS takes over or manages the following
computer activities.
5. Log-on stage where the user inters her User name and password.
 Turn on the Power button.
 CPU pins are reset and registers are set to specific value.
 CPU jump to address of BIOS (0xFFFF0).
 BIOS run POST (Power-On Self Test) and other necessary checks.
 BIOS jumps to MBR(Master Boot Record).
 Primary Bootloader runs from MBR and jumps to Secondary Bootloader.
 Secondary Bootloaders loads Operating System.
Power source/ UPS/STABILIZER Monitor System Unit
Mains (socket)

FORMS OR TYPING OF BOOTING

• COLD OR HARD BOOTING: This involves starting a computer from a


powerless state. Usually cold booting involves a computer system going
through POST.

• WARM OR SOFT BOOTING: This refers to restarting a computer


which is already on for which the operating system is already into
memory. Warm booting can also be initiated by; » Pressing
CTRL+ALT+DEL keys at once.
» Pressing the reset button on some system cases/units
» Select restart from the shutdown menu on the startup
menu.

CONDITIONS THAT CAN LEAD TO A WARM BOOT


 When the operating system has frozen or hanged.
 When an application program hangs or refuses to run.
 When changing from one operating system (like windows 7) to another
(like Linux), in cases of computers with double or multiple Os.
 When the operating system fails to detect or interact with some peripheral
devices like keyboard, mouse, or modem.
 After installation of some software or programs.
 After installation of some device or peripheral drivers.
 When cleaning a malware (like a virus, Worm or Trojan)
 After configuring or setting up a network
 Terminating a suspected data tap or hack

TROUBLE SHOOTING

Troubleshooting is a form of problem solving aimed at fixing or servicing a failed


hardware or software process
Troubleshooting process
 Study or detect the problem or symptoms to a problem
 Save your work if the system can allow
 Shutdown the computer and consult the technical team if available
 Isolate the affected computer/s
 Do the troubleshooting if you have the technical expertise

SYSTEM FAILURE:
A System failure is a prolonged malfunction of a computer that can also cause hardware,
software, data and information loss.
COMMON CAUSES OF SYSTEM FAILURE
– Aging hardware such as hard disk.
– Natural disaster e.g. fires, floods, storms or earthquakes
– Electrical power variations. Electrical power variations can cause loss of data or
equipment. A single power disturbance can damage multiple systems in a
computer network.

COMPUTER HARDWARE PROBLEM.


Excessively low/high temperature causing:-
– -Circuit/bus cracks
– -Connection breaks.
– -Chip crapes small movement\dislocation. Effects of dust:-
– Dust builds thick coatings in slots, ports, internal chips, etc. Dust coating can
cause
– unnecessary heat, data and electric insulation. Effects of corrosion:
– Hardware comes into contact with atmospheric chemicals, food, human body,
water
etc causing rust.
MAGNETIC FIELD:
 They cause magnetic inductions, which disturb computer data movements and –
processing.
 Electrical Noise:
 This can be in form of;
 -Electronic static discharge causing short circuits.
 -Electromagnetic interference, or
 -Electro magnetic redactions traveling in space.

ELECTRICAL POWER VARIATIONS


This causes the following.
▪ Blackouts
▪ Power transit i.e. excessive low voltage.
▪ Blown out. Lowered power from the mains

Electrical Power disturbances include:


• Electronic Noise is any unwanted signal, usually varying quickly, which is
mixed with the normal voltage or data signals entering the computer.
• An under voltage occurs when the electrical supply drops i.e. below 220 volts
in Uganda
• An over voltage or power surge occurs when incoming electrical power
increases significantly above the normal 220 volts.
• A surge protector can be used to protect computer equipment against under
voltage and over voltage. Many users also connect an Uninterruptible power
supply (UPS) to the computer for additional electrical protection.
AUTOMATED TROUBLESHOOTER
 Click the Start button
 Click Control panel
 Click find and fix problems under “systems and security”

PC CONFIGURATIONS
• The hardware and software specifications required for PC or any other type of
computer is term as the computer configurations. A typical configuration is given
below;
– Micro Processor Pentium series.
– Hard disk in the range of gigabytes.
– Floppy disk drive (3.5, 1.44mb)
– 104 keyboard
– 14” or 17” colour digital monitor.
– Desktop version of an inkjet printer.
– Multimedia kit which consists of: CD ROM drive, DVD drive , Speakers,
sound card e.t.c
– 3 button mouse with a rolling button.
– System software with the latest version.
– Application software with the latest Ms Office version.
Questions
1(a) Define the term disk formatting

• Disk formatting is the process of preparing a data storage device such as a hard
disk drive, solid-state drive, floppy disk or USB flash drive for initial use.
(b) Describe the process of formatting a newly bought flash disk

• Insert the flash in the computer.


• Click start button
• Click my computer icon
• Select the flash drive
• Right click then click format
• It will display message when u format all data will be lost to format click ok or
cancel to stop.
• Click ok.

(c) Briefly describe the process of installing Microsoft office on your
computer.
– Insert a CD, flash disk or DVD into your computer’s CD or DVD drive
or USB port.
– The software will prompt you to install it click install to start the process.
– The Microsoft office will prompt you to insert the 25 character product
code.
– Insert product code and enter
– The software will prompt you either to customize or install full package
– When done it will prompt you to finish
– Finish
– Restart your computer and start using office.

2.(a) Define the term system configuration.


• Refers to the arrangement of functional computer devices according to their
nature, number and characteristics to work together.

(b) State two ways of loading an operating system into memory.


• Loading the operating system from the hard drive into memory.
• Loading of the operating system from a compact disc or digital versatile disc into
memory.

(c) Briefly state the steps taken by the computer to load an operating system into
memory.
• The first step is powering of the computer
• Power-on self test-where a computer checks all connected devices if they are
functioning well.
• From BIOS-Then a boot device is located to the I/O system which helps to
coordinate communication between hardware and software(BIOS)
• Operating system is loaded into memory.
• Now the boot process relinquishes control to the os.

3.(a) Define the concept of trouble shooting.


• Refers to the processof identifying, planning and resolving a
problem, error or fault within a software or hardware.

(b) State the steps that can be taken to solve the following problems on a computer.

(i) The computer has frozen and the program is not responding.
• You can click alt + ctrl + Del to restart the computer.
• Press the power button without releasing it until the computer goes off and then
start it again.
• Replace the operating system with a new one.

(ii) The printer is not printing

• Check if there are printing papers in the printer


• Check if there is no paper jam in the printer
• Check the power cable to ascertain if it’s is fixed properly.
• Check if the data cable is properly fixed.

(iii) The Keyboard is not working

 Check if keyboard is properly fixed in the system unit.


 Replace it with another
TRENDS IN COMPUTING
Defn
Computer Security is the protection of computing systems and the data that they store or
access.
Computer security, also known as cyber security or IT security, is the protection of computer
systems from the theft or damage to the hardware, software or the information on them, as well
as from disruption or misdirection of the services they provide.
It includes controlling physical access to the hardware, as well as protecting against harm that
may come via network access, data and code injection, and due to malpractice by operators,
whether intentional, accidental, or due to them being tricked into deviating from secure
procedures.
Digital forensics (sometimes known as digital forensic science) is a branch of forensic
science encompassing the recovery and investigation of material found in digital devices, often
in relation to computer crime. The term digital forensics was originally used as a synonym
for computer forensics but has expanded to cover investigation of all devices capable of storing
digital data.
Security is the ability of a system to protect information and system resources with respect to
confidentiality, availability and integrity.
Therefore these elements of security must be considered :-(CIA triaged
 Confidentiality is a set of rules that limits access to information or Confidentiality is the
concealment of information or resources. The need for keeping information secret arises
from the use of computers in sensitive fields such as government and industry.
 Integrity refers to the trustworthiness of data or resources, and it is usually phrased in
terms of preventing improper or unauthorized change. Integrity includes data integrity
(the content of the information) and origin integrity (the source of the data, often
called authentication).
 Availability refers to the ability to use the information or resource desired. Availability is
an important aspect of reliability as well as of system design because an unavailable
system is at least as bad as no system at all.

Importance of computer security


 Computer security is important, primarily to keep your information protected.
 It’s also important for your computer’s overall health
 Helping to prevent viruses and malware and helping programs run more smoothly.
 To help curb the increasing volume and sophistication of cyber security threats – Threats
of this nature include targeting phishing scams, data theft, and the exploitation of other
vulnerabilities in the network.

COMPUTER INTEGRITY AND SECURITY


Computer integrity refers to methods of ensuring that data is real, accurate and safeguarded
from unauthorized user modification.
(a) Software Integrity refers to methods of ensuring that software or data is real, accurate and
safeguarded from unauthorized user modification.
(b) Hardware Integrity to methods of ensuring that hardware is safeguarded from unauthorized
access and modification.
(c) Computer Intrusion refers to compromise computer system by breaking the security of such
a system or causing it to enter into an insecure state.
Computer intrusions occur when someone tries to gain access to any part of your computer
system. Computer intruders or hackers typically use automated computer programs when
they try to compromise a computer’s security. There are several ways an intruder can try to
gain access to your computer. They can:
 Access your computer to view, change, or delete information on your computer.
 Crash or slow down your computer.
 Access your private data by examining the files on your system.
 Use your computer to access other computers on the Internet.

Security threats

Purpose of Data Security


 Controlling access to machine and data resources.
 Controlling the way access rights are passed from user to user.
 person to person
 program to program
 Preventing maliciousness and errors from subverting the controls.
 Understanding the challenges/Risks involved and providing solutions.
Major Threats.

COMPUTER SYSTEM SECURITY THREATS ARE BOTH TECHNICAL AND NON-


TECHNICAL.
Technical Threats
• Nonexistent security architecture (usually due to lack of qualified IT Administrators).
Inadequate network protection results in increased vulnerability of the data, hardware,
and software, including susceptibility to malicious software malware, viruses, and
hacking.

• Un-patched Client Side Software and Applications.

• “Phishing”: attempt to acquire information such as usernames, passwords, credit card


details by masquerading as a trustworthy member of an organization.

• Internet Web sites.

• Poor Configuration Management.

• Use of mobile devices; such as laptops or handheld devices, smart phones outside
organizations.

• Cloud computing (delegating the task of protection to a third party usually through
shared resources, or remote storage and host.

• Removable media: provide a pathway for malware to move between networks or hosts.

• Botnets. Botnets are networks of compromised computers used by hackers for malicious
purposes, usually criminal in nature.

Non-Technical Threats
• Insider: an insider is defined as someone with legitimate access to the network.

• Poor Passwords. Implementing a policy on strong user passwords is critical to data


protection.

• Physical Security. Physical security is essential to preventing unauthorized access.

• Insufficient Backup and Recovery.

• Improper Destruction. Paper documents, such as reports and catalogs, may contain
sensitive data.

• Social Media. Using organization’s devices and network resources to access social
media websites poses a high data security threat. They are target for spam

• Social Engineering. Breaking into a network does not require technical skills. Caution
should be advised when communicating any account or network information

Common Threats
 Errors and Omissions

It becomes difficult to protect our systems from the people who need to use it day in and day out.
 Fraud and Theft
Employees are responsible for more successful intrusions than outsiders. It becomes very
difficult to find the source of internal attacks without alerting the attacker that you suspect him of
wrong-doing.
 Malicious Hackers

Several groups of Internet users out there that will attack information systems.
They are hackers, Crackers or phreaks.
 Hacking is the process of gaining unauthorized access into a computer system, or group
of computer systems. This is done through cracking of passwords and codes which gives
access to the systems.
 A cracker is someone who breaks into someone else's computer system, often on a
network; bypasses passwords or licenses in computer programs; or in other ways
intentionally breaches computer security. A cracker can be doing this for profit,
maliciously, for some altruistic purpose or cause, or because the challenge is there.
 A phreak is someone who breaks into the telephone network illegally, typically to make
free long-distance phone calls or to tap phone lines. The term is now sometimes used to
include anyone who breaks or tries to break the security of any network.

 Malicious Code is software/code that is designed to make a system perform any operation
without the knowledge of the system owner.
 Denial-of-Service Attacks is an attempt to make a machine or network resource
unavailable to its intended users.
 Social Engineering is the name given to a category of security attacks in which someone
manipulates others into revealing information, that can be used to steal data, access to
systems, access to cellular phones, money, or even your own identity.

Computer crimes also commonly referred to as cybercrimes refers to any crime that
involves a computer and a network.
To commit a cyber crime a user takes advantage of a computer to take or alter data, or to gain
unlawful use of computer services.
The crimes include but not limited to;
a) Tracking

b) Trespass

c) Tapping

d) Cracking

e) Privacy and Fraud

f) Sabotage

g) Spam
h) Alterations

Explanation:
a) Tracking: Monitoring computer usage in a real time environment. This is either done
remotely or during a physical session, usually used on internet users.

b) Trespass: when someone is able to access your computer and able to see or use your files
illegally.

c) Tapping: when someone gains access to information that is being transmitted via a
transmission/communication link. Users should note that any information passed over a
network is vulnerable provided security measures are not appropriate.

d) Sabotage is a computer crime which involves deliberate attacks intended to


disable computers or networks
e) Spamming is the use of electronic messaging systems like e-mails and other digital
delivery systems and broadcast media to send unwanted bulk messages indiscriminately.
An unsolicited messages is what we call spam

f) Alteration: When a system is compromised, the data stored in it can be compromised.


For example. When students break into a system and alter exam results. Bank accounts
can too be altered.

Protection Measures
 Educate users
 Encrypt all important data
 Use secure passwords
 Implement additional security checks (fingerprint, Eye scanners)
 Encrypt all important data
 Restrict Plug and Play
How to buy online safely
a) Research retailers online to make sure they’re legitimate.
b) Make sure the website is secure.(https)
c) Know your rights and the company’s returns policy.
d) Keep software and virus protection up-to-date and use strong passwords for online
accounts.
e) Don’t use public Wi-Fi. Your standard data connection is more secure.
f) Pay using a credit card. You will have more protection. Alternatively, online services like
PayPal mean scammers will not be able to get hold of your bank details.
g) Be smart. If a deal looks too good to be true, it probably is not worth taking.

How to be safe on the Internet


a) Create Complex Passwords. We know you’ve heard it before, but creating strong, unique
passwords for all your critical accounts really is the best way to keep your personal and
financial information safe.
b) Use a Firewall. Even if your network is secure, you should still use a firewall.
c) Click Smart. Now that you’ve put smart tech measures into place, make sure that you
don’t invite danger with careless clicking. Many of today’s online threats are based on
phishing or social engineering.
d) Be a Selective Sharer. These days, there are a lot of opportunities to share our personal
information online. Just be cautious about what you share, particularly when it comes to
your identity information. This can potentially be used to impersonate you, or guess your
passwords and logins.
e) Protect Your Mobile Life. Our mobile devices can be just as vulnerable to online threats
as our laptops. In fact, mobile devices face new risks, such as risky apps and dangerous
links sent by text message.
f) Practice Safe Surfing & Shopping. When shopping online, or visiting websites for online
banking or other sensitive transactions, always make sure that the site’s address starts
with “https”, instead of just “http”, and has a padlock icon in the URL field.
g) Keep up to date. Keep all your software updated so you have the latest security patches.
Turn on automatic updates so you don’t have to think about it, and make sure that your
security software is set to run regular scans.
h) Lookout for the latest scams. Online threats are evolving all the time, so make sure you know
what to look out for.
i) Keep your guard up. Always be cautious about what you do online, which sites you visit, and
what you share. Use comprehensive security software, and make sure to backup your data on a
regular basis in case something goes wrong.

How to avoid viruses, Trojans, worms and spyware


• Use updated antivirus or endpoint security software

• Block file types that often carry malware

• Subscribe to an email alert service

• Use a firewall on all computers

• Stay up to date with software patches

• Back up your data regularly

• Disable Auto Run functionality

Terminologies Related to Computer System Security


• Spyware
• Email spoofing
• Spear phishing
• Social networking websites
• Social engineering
• A root kit
• Ransom ware
• Phishing
• Autorun worms
• Boot sector malware
• Cookies
• Hoaxes
• Worms
• Key logging
• Malware
• Parasitic viruses
• Patches

• Spyware is software that permits advertisers or hackers to gather sensitive information


without your permission.

• Email spoofing is when the sender address of an email is forged for the purposes of
social engineering

• Spear phishing is targeted phishing using spoof emails to persuade people within a
company to reveal sensitive information or credentials.

• Social networking websites allow you to communicate and share information. But they
can also be used to spread malware and to steal personal information.

• Social engineering refers to the tricks attackers use to fool victims into performing an
action. Typically, these actions are opening a malicious webpage or running an unwanted
file attachment.

• A root kit is a piece of software that hides programs or processes running on a computer.
It can be used to conceal computer misuse or data theft.

• Ransom ware is software that denies you access to your files until you pay a ransom

• Phishing refers to the process of tricking recipients into sharing sensitive information
with an unknown third party.

• Patch operating systems or applications.

• Parasitic viruses, also known as file viruses, spread by attaching themselves to


programs.
• Malware is a general term for malicious software including viruses, worms, Trojans and
spyware. Many people use the terms malware and viruses interchangeably.

• Key logging is when keystrokes are secretly recorded by an unauthorized third party.

• Worms are viruses that create copies of themselves across the Internet or local networks.

• Hoaxes are reports of non-existent viruses or threats are software add-ons designed to fix
software bugs, including security.

• An exploit takes advantage of a vulnerability in order to access or infect a computer.

• Cookies are files placed on your computer that allow websites to remember details.

• Boot sector malware spreads by modifying the program that enables your computer to
start up.

• Auto run worms are malicious programs that take advantage of the Windows Auto Run
feature. They execute automatically when the device on which they are stored is plugged
into a computer.

COMPUTER ETHICS

Computer ethics are the moral guidelines that govern the use of computers and information
systems. Frequently concerned areas of computer ethics are;
- Unauthorized use and access of computer systems.
- Software piracy
- Information privacy
- Intellectual property rights
- Codes of conduct
(a) Unauthorized access and use of computer systems. Unauthorized access is the use
of a computer or a network without permission.
A cracker or a hacker is someone who tries to access a computer or a network
illegally. Some hackers break into a computer for the challenge. However, others use or
steal computer resources or corrupt a computers’ data.
Unauthorized use is the use of a computer or its data for un approved or possibly
illegal activities. Examples of unauthorized use of computers include;
 An employee using a company computer to send personal e-mail.
 Someone gaining access to a bank computer and performing an
unauthorized transfer.
One way to prevent unauthorized access and unauthorized use of computers is to utilise
access controls.
(b) Software piracy. Software piracy refers to the unauthorized and illegal duplication of
copyrighted software. Software piracy is the most common form of software theft.
Purchasing software only provides a consumer with a license agreement or the right
to use the software.
A single user license agreement or end-user license agreement is the most common
type of license included with software packages purchased by individual users. It
usually permits a consumer to;
- Install the software only once on the computer and make one copy for back up.
However, the consumer is usually not permitted to;
- Install the software on a network
- Give away copies of the software to others or
- rent or lease the software

A software site license gives the buyer the right to install the software on multiple
computers at a single site. (e.g a school computer laboratory)
A network site license allows network users to share a single copy of the software
which resides on the network server.
Risks of software piracy
 Increase the chance of spreading computer viruses.
 No technical support for the software can be received.
 Drive up the software cost for all legal users.

(c) Information piracy. Information piracy refers to the right of individuals or
organizations to deny or restrict the collection and use of information about them.
(d)
Information accuracy becomes an important issue when it is necessary to access
information by other people or companies such as that one on the internet.
Inaccurate input can result in erroneous information and incorrect decisions made
based on that information. Never assume that information provided on the web is
always correct.
(e) Intellectual property rights. Intellectual property (IP) refers to work created by
inventors, authors and artists.
Intellectual property rights are the rights to which creators are entitled for their
work.
A copyright© gives authors and artists exclusive rights to duplicate, publish and sell
their materials.
A trade mark ™ protects a company’s logos and brand names

(f) Codes of conduct. A code of conduct is a written guideline that helps determine
whether a specific action is ethical or unethical.

Sample IT codes of conduct


 Computers may not be used to harm other people.
 Users may not interfere with others’ computer work.
 Users may not meddle in others computer files.
 Computers may not be used to steal.
 Computers may not be used to bear false witness.
 Users may not copy or use software illegally.
 Users may not use others’ computers resources without authorization.
 Users may not use others output.
 Users should always use computers in a way that demonstrates
consideration and respect for other people.
The copy right law

THE COPYRIGHT AND NEIGHBOURING RIGHTS ACT, 2006.


Work eligible for copyright.
1) The following literary, scientific and artistic works are eligible for copyright in uganda
a. articles, books, pamphlets, lectures, addresses, sermons and other works of a similar
nature;
b. dramatic, dramatic-musical and musical works;
c. audio-visual works and sound recording, including cinematographic works and other
work of a similar nature;
d. choreographic works and pantomimes;
e. computer programmes and electronic data banks and other accompanying materials;
f. works of drawing, painting, photography, typography, mosaic, architecture, sculpture,
engraving, lithography and tapestry;
g. works of applied art, whether handicraft or produced on industrial scale, and works of all
types of designing;
h. illustrations, maps, plans, sketches and three dimensional works relative to geography,
topography, architecture or science;
i. derivative work which by selection and arrangement of its content, constitute original
work;
j. any other work in the field of literature, traditional folklore and knowledge, science and
art in whatever manner delivered, known or to be known in the future.

INFORMATION AND COMMUNICATION TECHNOLOGY

The study of computer studies has become too rich that it is now getting had to draw a difference
between Computer Studies and “ICT”.
Computers and communication have brought and still bringing changes in our lives. Therefore,
the following concepts are more or less becoming family names.
 Information technology
 The communication revolution/Telephone revolution
 Internet revolution
 Multimedia (data, sound & video)
 The Binary Age
 Information society
 The information super high way/ “Information” or I-way or Data-Way.
 The digital Age or Dot Age.
The need for better and best ways of doing things has triggered more and more research in the
best technologies, more reliable information, and the best communication means.
Therefore, ICT/IT relates to all means, which facilitates information or data capture, processing,
storage, and communication or output.

Old Technologies
 Newspaper Paper Printed Photographs
 Recordings Film
 Radio Televisions
New Technologies
 Satellites Fiber optic cables (for communication media)
 Cellular phones Fax machines
 Compact disk Computers
 E-mail
 Internet
 Data warehouses or data bases
 Video conferencing
NB;
ICT/IT concept is quite different from Computer Studies. Computer studies are simply a small
section of IT.
Qn.
(a) Define a telecommunication system, and list its components.
(b) Explain the functions of a telecommunication system.

IMPACT OF IT/ICTs ON SOCIETY(Teacher explains)

ICTs have had both positive and negative contributions to society.


a) BENEFITS/ADVANTAGES OF INFORMATION
TECHNOLOGY.
 Increased interaction /collaborations through e-mails, chat rooms, video
conferencing, etc
 Increased sharing and access to common databases within and outside
organizations through networking.
 Increased access to information through DBMS. Huge amounts of material on all
subjects now exist – ease research.
 Increased inventions and innovations.
 More and more technology in management fields.
 Improved and sustained quality goods and services.
 Increased efficiency and effectiveness’ leading to increased productivity (hence
less wastages & more efficient use of resources).
 Increased investment opportunities in commercial tele-centers, Internet cafes,
chart rooms, etc.
 More leisure as people get shorter working hours. Increased use of ICTS implies
higher standards of living.
 Highly skilled jobs are being created like programming, systems analysis.
Software engineering, etc.
 Many IT products for the disabled.
 Reduced costs of production through less demanding ICTs
 Improved corporate image.
b) Disadvantages
 Widens the gap between the rich and the poor as the rich producing with the help of ICTs
produce faster and flood the markets.
 Isolate older people since it is not very easy for them to cope with the many IT changes.
 Bombards (internet) people with too much information- (good and bad)
 Increased instability as people get compelled to learn new things every now and then.
 Health problems e.g. eye sight losses, repetitive strain injury, etc
 Moral problem through access of pornographic materials on the net.
 Erosion of individual privacy as more data about people is stored on databases and can be
accessed any time.
 Unemployment as less skilled people get retrenched and their roles taken over by more
effective ITs.
 Addictions to computer games plus surfing by young people
 ITs isolate man and also erode the social aspect of work as some people opt for executing
their office duties from their homes.
 Initial, maintenance and on-line IT costs are very high seggregative.
 Virus threats make data stored on computers very insecure.
 Increased crime through forgeries, piracy, etc.

AREAS OF APPLICATION FOR INFORMATION TECHNOLOGY


(I) Education and training.
Many Universities, Colleges, school and public libraries are on line with websites for
purposes of making easy access to educational information..
Education references soft ware e.g. the Infopedia, Encarta, etc are programs used for
helping people with English usage, data collection and analysis etc
(2) Information plus data storage.
ITs have got immense internal and external storage devices for storage of huge volumes
Data. Hence the common paperless society

(3) Word Processing


Word processor programs e.g. Microsoft word, word star, lotus notes etc are now on market for
use to produce professional looking documents like, letters, invoices, orders etc.
They have easy to use document edit, format, table tools etc.
(4) Business
E-Business and E-commerce facilitate the buying and selling of goods, services and works on
line.
Businesses have got websites and networked computers they use to advertise, processing of
orders, receipting of purchased products, etc.
For instance Web sites like: - www. CD-Now for buying music CDs, DVDs & VCDs, and
Interflora.com – for flowers.
Other businesses include;
 Computer Secretarial Bureau.
 Internet cafes.
 Commercial computer schools.
 On-line banking

(5) Entertainment and Leisure.


ITs offers lots of leisure and entertainment activities in form of;
 Computer games
 Computer audio music and video players
 Games on line
 Leisure centers on line.
 Leisure websites
Skynet.com for sports and manu.com, are some of the informative leisure websites.
(6) Health & Medicine.
ITs are now being used for;
 Medical tests for instance blood, cancer, Brain damage etc
 Carrying out sensitive operations on sensitive body parts like the brain,
heart, kidney, etc.
 Drug mixing and prescriptions.

7) Transport & communication


ITs are also being used for;
 Units of carriage surveyarance in logistics management.
 Sending and receiving of messages like sms (E-mail = sms over the internet), and
interactive websites.
 Reservations for units of carriage and hotels.
 etc

8) Accounting and Finance.


Software/programs are now available for producing financial reports like income statements,
Balance sheets, and cash flow statements. Such programs aid financial planning plus
management, determination of NPV, PBP, IRR, etc
Such application/programs include Pastel, Tally, Sand systems, Excels, etc
(9) Climate and Weather:
Programs have now been developed to accurately predict and report changes in climate and
weather to aid travelers and farmers.
(10) Security and military.
IT Laser guided cameras and satellites are now used for national and domestic security. Business
like Banks, supermarkets etc also use IT Laser guided cameras for customer monitoring in the
business hall.
Information technologies are also used in the military to fly and direct combat planes, locate
enemy positions and hit/shell them with minimal civilian and property losses.
(11) Manufacturing:-
In many large manufacturing and production processes robots are being used to handle tasks,
which cannot be efficiently handled by humans.
Computer Aided Design (CAD) and CAM (Computer Aided Manufacture) are also in this
category.
Other areas of application include;
 Hotel and Institutional catering.
 General Management. For instance; DSS, HRS, MKT, ESS, tele-working and tele-
commuting.
 Information technology helps in the jurisdiction of cases in courts of laws, sports and
games; iTs (video evidence) have been adduced to influence decisions.

Emerging technologies and developments in Hardware and Software

CURRENT TRENDS IN HARDWARE PLATFORMS


There are many trends in hardware platforms in recent years
 Integration of Computing and Telecommunications Platforms
 High rate of computation via network
 Integration of telephone and internet
 High computing power
 Grid Computing
 Cost saving on large infrastructures
 Smaller computer are connected to form a grid
 Increase the ability of organizations
 High speed of computing
 Cloud Computing
 Cost Saving as no capital investment is needed
 Automatic Computing
 Develop systems that can automatically download updates, Protect themselves from
hackers and intruders. Recover themselves in case of failure.
 Virtualization and Multi-core Processors
 Both reduces power consumption
 Virtualization – Accessing computing resources in multiple ways irrespective of
geographical location and physical configuration.
 Multi-core Processors – Use multi-core processors to reduce power consumption and
heat.

CURRENT TRENDS IN SOFTWARE PLATFORMS


 Linux and the open-source software movement
 Linux is one of the most widely used open source software program
 Linux is supported by almost all platforms like HP, IBM, Intel, Dell, Sun etc.
 Java Programming language that is independent of the operating system and hardware
processor.Java virtual machine has been defined.Java is compatible with any hardware
 Leading interactive programming language available for the Web is Java.
 Software for enterprise integration
 The usage of enterprise-wide software systems by firms is an important trend in last few
years.
 The goal is to achieve an integrated firm-wide information environment, reduce cost,
increase reliability, to adopt business best practices which are captured by the software.
 oftware outsourcing
 It is the prewritten software developed by a software company
 It helps the organizations from developing their own softwares.

Mobile Platform
 The growth of telecom industry especially in mobile sector has been incredible over last
few years. The service providers upgraded the mobile networks with next-Generation
services like 3G, WAP and GPRS.
 The banks are trying to capitalize this growth in the telecom sector and provide the
services to the customers through mobile. The main advantage of mobile banking over
the Internet banking is that it offers ‘Anywhere Anytime Banking’. Customers can check
their accounts, transfer funds, balance statements etc during travel without the access to a
computer. The limitations of Internet Banking are overcome in mobile banking since it
requires only a mobile which can be accessed by people of developing countries also.
 Grid Computing
The basic idea of Grid computing is that the computers are connected as a grid and the software
running in the grid gives more priority to local users, but when they become idle these computers
are used over the grid.
Providing remote access to IT resources

THE FUTURE OF COMPUTERS AND THE INTERNET

Some technological advancements and trends are recognisable and can be predicted. It is easy to
predict that the computers and related equipment will get faster in memory, smaller and cheaper.
Computer technology will find new application and manufacturers will strive to make computing
easier and cheaper. As costs decline and performance and ease of use rises, LAN’s play a bigger
role in corporate information systems.
Possible future trends in computer capabilities, physical size, price and software.
(a) Future computer capabilities. On the capabilities fronts, computers are going to
evolve. They;
o are going to have more powerful, smaller processor and faster access to memory.
o Will have operating systems that will handle real time data analysis and object
oriented.
o Will have improved user interfaces that offer users easier and more intuitive
access to information.
o Will have multi-media applications that will be fully incorporated into some
information systems because data is easy to interprete when presented as a
combination of sight, sound and motion.

(b) Physical size. Most hardware components will get smaller and faster. This means
computers will become smaller and do more.

(c) Price. As technology advances, the price of computers will go down. Every sphere
of ife will be permeated by computers, which will be common even among people of
average earning.

(d) Software. Software development will also develop to allow users easily operate
computer systems. To facilitate document, the best programming and operating
systems are moving towards object-oriented system. OS will play an integral part in
giving the user more control over how data are linked and shared. New operating
systems will focus on object linking, message passing and data sharing.

(e) Artificial intelligence. Artificial intelligence is the process of building computer


systems that simulate human thought processes and actions. The goal of artificial
intelligence is not to replace human intelligence which is not replaceable; rather it is
to help people to become more productive. In the past, computers used calculating
power to solve structured problems. This field of artificial intelligence is moving in
the mainstream of data processing.

Artificial intelligence attempts to develop computer systems that can mimic or


simulate human thought processes and actions. This include reasoning and learning
from past actions. True artificial intelligence that corresponds to human intelligence
is still a long way off. However, several tools that emulate human problem solving
and information processing have been developed. Many of these tools have practical
applications for business. They include expert systems, natural language processing,
artificial neural network and robots.
Expert systems. Expert systems are computer programs that essentially emulate the
knowledge of human experts skilled in a particular field for example of a geologist or
a medical doctor. They have both textbook knowledge and tricks of trade that an
expert acquires after years of experience as a result of the programs that can be really
complicated.
Areas of application
 Finance/Business planning
 Teaching field. They compliment teachers knowledge e.g typing tutor,
project planning and monitoring.
 Special areas. Act as substitute for retiring human experts.
 Banking

Natural language processing. Natural language processing is the capacity of


computers to “understand” human language and translate it into actions upon
which to act.
Artificial Neural Networks. Present computers and super markets are relatively
slow because of the build in structural limitations. The processor and the main
memory are physically separated.
Robots. Robots is the field of study concerned with developing and building
robots. Robots are machines that are used in factories and can be programmed to
do more than one task. Robots are used in the manufacturing industry mainly to
reduce costs and increase productivity. They are excellent in executing repetitive
tasks that human beings find boring. Robots do not get tired. They are also ideal
to replace human beings on hazardous jobs. They are different types of robots
which include;
(i) Industrial Robots. These are used in factories to perform certain
assembly tasks. Examples are machines used in automobile plants to do
welding, painting, loading and unloading. In the garment industry, robot
pattern cuts and create pieces of fabric for clothing.
(ii) Perception Robots. Some Robots imitate human senses e.g a robot with
television camera or vision system can be used for guiding machine tools
for inspecting products and for identifying and sorting parts. Other types
of perception robots rely on the sense of touch for example those used on
micro-computer assembly lines to put parts in place.
(iii) Mobile Robots. Some robots act as transporters e.g mail mobiles which
carry mail to offices following a pre-programmed route.

N.B
1. JOB REPLACEMENT. This is a situation where by certain jobs disappears in an
organization but reappears in another form requiring more and high skilled man power e.g copy
typists using typewriters are still needed in organizations but now use computers word
processors instead of typewriters. Computerization brings about elimination of jobs in most
cases but these jobs are replaced with those that have greater responsibility requiring high level
of training.

2. JOB DISPLACEMENT. This is the process of replacing man power with computerized
machines either their own or with the help of a few skilled and highly trained people. In most
cases, the eliminated jobs are those involving monotonous and unskilled labour for example
factory jobs can be displaced by machines called robots.
SYSTEM ANALYSIS

This is the process of solving computer problems and use of computer


technologies to meet the needs of an organization.

This is the first stage of the system analysis. Here the analysist makes a survey by gathering
information needed for the system and the allocation of the requirements to the software.

Here the analysist understands the nature of the information and the function of the software
which is required for the system. The analysist makes a brief survey of the requirements and tries
to analyze the performance of the system which is to be developed. He also makes sure that he
gets enough information and resources for building the appropriate system.

Here the analysist actually makes number of designs of the system on paper or on computer and
sees to it that the rough image made of the system comprises of all the requirements or not. Once
this is done, the analysis selects and finalizes a best suited design for the development of the
system.

The analysist translates the code or the programmes in such a way that they become in machine
readable form. The coding step is very time consuming and involves number of rooms for errors.

Once the analysist is through with the coding stage, he tests the system and sees to it that is
working as per the expectations. He corrects the false in the system if any.

This is one of the most vital phase. In this phase the analysist actually gives the system to the
customer and experts for a positive feed back.
This is the last stage of the system analysis. Here the analysist need s to maintain the system and
sees to it that it is working with in the standards set. He needs to maintain the system by
removing the defects of errors occurred.

CAREER OPPORTUNITIES IN INFORMATION AND COMMMUNICATION


TECHNOLOGY

Information and communications technology (ICT) has created new job tittles such as;
 Computer operators.
 Computer technicians.
 System analysts
 Computer programmers
 Software engineers
 Information system manager
 Database administrator
 Computer trainer
 Website administrator
 Computer graphics designer
 Network administrators
This section explains some responsibilities of these professionals who are generally called
information technology workers.

a) Computer technician. Given that all computers regular maintenance, upgrading as well
emergency repairs, demand for computer technicians continue to grow as more and more
computerize their work place and homes.

Responsibilities of a computer technician


 Troubleshooting computer hardware and software related problems.
 Ensuring that all computer related accessories such as printers, modems,
storage media e.t.c working properly.
 Assembling and upgrading computers and their components.
 In developed countries, technicians help hardware engineers in designing
and creating some computer components such as motherboards, storage
devices e.t.c.

b) System analyst. The is a person who is responsible for analyzing a company’s needs or
problems then designs and develops a computer based information system. A good
information systems analyst is one who has the following attributes.
o Good problem solving skills, creativity i.e must have experience in solving
problems.
o Good communication skills; the analyst must be able to communicate clearly and
precisely both in writing and in speech.
o He/she must be able to talk to different groups of people e.g managers, operators,
attendant and general public.
o Must have business knowledge; the analyst must be well trained in relevant areas
of computer science such as hardware, software and programming knowledge.

Responsibilities
 Reviewing the current manual or redundant information system and
making recommendations on how to replace it with a more efficient one.
 Working with programmers to construct and test the system.
 Coordinating training for users of the new system.

c) Computer programmer. Large organizations like insurance companies, banks,


manufacturing firms and government agencies hire programmers to work together with
system analyst in order to;
 Write in-house applications programs or system programs
 Customise commercial application package to suite the organization
needs.
 Test, debug, install and maintain programs developed or customized for
the organization.

d) Software engineer. A software engineer is one who is skilled in software development


and technical operation of computer hardware.
Responsibilities
 Developing system and application software.
 Developing user and technical documentations for the new software.
 Maintaining and updating the software to meet day to day requirements
while overcoming challenges.

e) Computer engineer. Computer and electronic engineers are coming up with more
efficient and communication technology almost daily. Since computers are electronic
devices, hardware designers must be good in electronic engineering in order to be able to;

 Design and develop computer components such as storage devices,


motherboards and other electronic components.
 Re-engineer computer components to enhance its functionality and
efficiency.
 Design and develop engineering an manufacturing computer controlled
devices such as robots.

f) Information system manager. The information system manger controls, plans, staffs,
schedules and monitors all activities of the ICT department in the organization. Using
computerized management information systems (MIS), the manger can test the impact
that an alternative course of action might have on the business.

Other responsibilities
 Making sure that all tasks in the IT department are done correctly and on
time in order to support business planning, control and decision making
processes.
 Preparing budgets for the department.
 Keeping the department inventory records up-to-date.
 Managing the human resource with in the department.

g) Computer trainer. Due to the dynamic nature of computers and information


technology, there is a high demand for qualified ICT trainers. Some of the
responsibilities of an ICT trainer are;

 Training people on how to use a computer and various application


programs.
 Developing training reference materials.
 Guide learners on how to acquire knowledge through carrying out
research.
 Advising learners on the best career opportunities in the broad field f ICT.
 Preparing learners for ICT examinations.

h) Database administrator. The major purpose of computerising organizations or


institutions is to store data in an organised way for easy access, retrieval and update. The
organization requires a person who should be responsible for updating records in an
information system database. For this reason, a database administrator is responsible for;

 Designing and developing database application for the organization.


 Setting up security measures needed to control access to data and
information.
 Keeping the database up-to-date by adding new records, modifying or
deleting unnecessary records.

i) Website administrator/ Web master. Internet is one of the areas of information and
communication technology that has drawn the interests of most people. These people are
able to exchange messages, search for information and business through the internet.

Business organizations, educational institutions and individuals put information on the


internet by developing websites. Most organizations hire the services of a web developer
who is given the role of a company’s web administrator also referred to as a web master.

Responsibilities
 Developing and testing websites.
 Maintaining, updating and modifying information on the websites to meet
new demands by the users.
 Monitoring the access and use of internet connection by enforcing security
measures
 Downloading information needed by an organization or institution from
internet websites.

POSSIBLE FUTURE TRENDS OF THE INTERNET

 The internet will continue to expand and change in several ways; faster
connections, more users, new multimedia and virtual reality services.
 More interactive services such as multimedia newspapers, livestock market
tickers, automatic notification of when pre-destinated events take place
anywhere on the internet.
 Internet as universal as a radio and television today.
 Learning will become any time anywhere.
 Impact of information technology to the society, morally unemployment
vision, laxity and entertainment.
DATABASES

Think of an address book you might buy in a bookshop. In it, you will write all your important
contacts; friends, family, relatives, companies, and other people in your circles. The address
book contains all names, addresses, location, phone numbers and whatever you need to contact
anyone at any time.

INTRODUCTION TO DATABASES
What is Data?
 Data is made up of text, numbers, symbols, images, sounds, etc. that can be processed into
information or stored by a computer.
 Information (Info) – Refers to the meaningful and processed data.

What is a Database?
 A structured collection of logically related data that is stored so that it can easily be accessed.
Logically related data comprises entities, attributes, and relationships of an organization’s
information.
In normal daily life we make frequent use of databases, and probably don’t realize it. Here are a
number of simple examples:
 Filing Cabinet
 Personal Address Book
 The Telephone Directory
 Customer Lists
 Membership Lists
 Purchases from the supermarket
 Purchases using your credit card
 Booking a holiday at the travel agents
 Using the local library
 Renting a video
 Using the Internet (Client - Server architecture involved).
Examples of Database Management software (Programs)
The following are some of the examples of Database Programs:
 Microsoft Access
 Oracle
 dBASE
 FoxPro
 Paradox
 FoxBase
 FileMaker Pro
 Lotus Approach
 Microsoft Access

COMPONENTS OF DBMS ENVIRONMENT


1. Hardware: Can range from a PC to a network of computers.
2. Software: DBMS, operating system, network software (if necessary) and also the DBAs.
What is the difference between DBMS and DBAs?
A Database Management System (DBMS) is a software system that enables users to define,
create, maintain, and control access to a database. E.g. Microsoft Access.
While
A Database Application (DBA) Program is a computer program that interacts with the database
by issuing an appropriate request to the DBMS.
A set of computer programs that provides a formal user interface to a database while managing
the internal database structures on behalf of the users.
Users interact with the database through a number of application programs that are used to create
and maintain the database and to generate information. Examples of DBAs can be conventional
batch applications or, more typically nowadays, online web applications.

3. Data: Perhaps the most important component of the DBMS environment, certainly from the
end-users’ point of view, is the data. The database contains both the operational data and the
metadata, the ‘data about data’.
4. Procedures: Instructions and rules that should be applied to the design and use of the
database and DBMS.
5. People: The users of the database including:
a) Data Administrators (DA) (responsible for the management of the data resource and
maintenance of standards, policies and procedures)
b) Database Administrators (DBA) (responsible for the physical realization of the database,
including physical database design and implementation, security and integrity control,
maintenance of the operational system, and ensuring satisfactory performance of the applications
for users. The role of the DBA is more technically oriented than the role of the DA).
c) Database Designers (Logical and Physical) The logical database designer is concerned with
identifying the data (that is, the entities and attributes), the relationships between the data, and
the constraints on the data that is to be stored in the database. The logical database designer must
have a thorough and complete understanding of the organization’s data and any constraints on
this data (the constraints are sometimes called business rules). The physical database designer
decides how the logical database design is to be physically realized.
d) Application Programmers (Responsible for implementing the application programs that
provide the required functionality for the end-users. Typically, the application developers work
from a specification produced by systems analysts. Each application contains statements that
request the DBMS to perform some operation on the database. This includes retrieving data,
inserting, updating, and deleting data.
e) End Users (naive and sophisticated) The end-users are the ‘clients’ for the database. Naïve
users are typically unaware of the DBMS. They access the database through specially written
application programs that attempt to make the operations as simple as possible. Sophisticated
end-users are familiar with the structure of the database and the facilities offered by the DBMS.
Sophisticated end-users may use a high-level query language such as SQL to perform the
required operations.
The table structure
Figure showing Domains in some attributes of the Branch and Staff tables (relations).
 The table structure is composed of the following:
 Data table / relation: The fundamental structure in Ms- access database. These contain the
data that is arranged in rows and columns ie fields and records.
 Degree: The degree of a relation is the number of attributes it contains.
 Field / Attribute. The entire named column that contains similar data items in a table.
 Record / tuple: One complete set of fields relating to the same item. Or set of entire data items
in a row.
 Cardinality The cardinality of a relation is the number of tuples it contains.
 Field name: this the title of particular column (field)
 Domain: A domain is the set of allowable values for one or more attributes.
 Data Type: This determines the kind of data you can store in a field, and tells Access how to
handle it.
 Field properties: This is the specific characteristic of a particular field
 Sort: An operation that you carry out on a table to change the order in which the records are
displayed.
 Sort Order: A way of ordering records based on field values. A sort order can be in
ascending (1 to 9, A to Z) or descending (9 to 1, Z to A) sequence.
 Primary Key: This is a field that identifies record uniquely within a table.
 Foreign Key: A field, within one table that matches the primary key of some other related
table in the database.

DATABASE TERMINOLOGIES
 Table: A collection of records that contain the same fields.
 Form :Forms are used to add, modify or even view the data in underlying data tables
 Query: Queries are used to repeatedly retrieve database records that match specific criteria
and to display them in a specific order. A Query: Is a question you ask about your data.
 Report: A document (printed or on screen) that presents information in a structured way.
 Datasheet View: A view of a database table where you see information presented in rows and
columns, with several records visible at the same time.
 Design View: A view in which you can change the organizational structure of your table. You
create an index in Design View
 Relationships: in database, a relationship is an association defined between fields in two or
more data tables
 Filtering: Is a process of reducing the amount of information displayed by Access, either by
showing fewer fields in each record, or by showing only those records that match certain criteria.
 Form View: A view in a database table that presents all or selected information from a single
record only.
 Grouped Report: A report in which information is grouped by the values in one or more
fields. Calculations may be performed on the data within each group
Schema: The general structure (or plan) of the database.
Alternative terminology
The terminology for the relational model can be quite confusing. The table below shows
alternative terminology for database terms:
Alternative 1 Alternative 2 Alternative 3
File Table Relation
Record Row Tuple
Field Column Attribute

ELECTRONIC DATABASES Vs MANUAL DATABASES


Electronic databases allow the user to carry out the same tasks as paper-based/manual
databases but with the following advantages:
 Increased speed
 Store very large amounts of data
 Allow for easy inputting and editing of data
 Automatic updating and recalculating of data
 Allow for easy searching and selection of data
 Format, arrange and present information in the way that you want it
 Share the information with other software applications/programs
 On networks, electronic databases allow you to share one set of information amongst many
users and therefore reduce duplication
 Reduction of duplication prevents the problem of keeping several copies of the same data and
easier data updates

TYPES OF ELECTRONIC DATABASES


Two types of electronic databases:
(i) Flat File Databases (FFD) and
(ii) Relational databases.

 Flat File Databases (FFD) – These are basically used for simple lists and may have
duplications of data much like a simple record card system. FFDs consist of only one table.
File based systems include Collection of application programs that perform services for the
end users (e.g. reports). Each program defines and manages its own data.

Limitations of File-Based Approach


6. Separation and isolation of data: Each program maintains its own set of data, Users of one
program may be unaware of potentially useful data held by other programs.
7. Duplication of data : Same data is held by different programs, Wasted space and potentially
different values and/or different formats for the same item.
8. Changes to an existing structure are difficult to make due to program data dependence.
9. Incompatible file formats: Programs are written in different languages, and so cannot easily
access each other’s files.
10. Fixed Queries of application programs: Programs are written to satisfy particular
functions, Any new requirement needs a new program.

(ii) Relational Databases (RDs)


These are databases where the data is held in a number of cross-referenced tables.

ADVANTAGES OF DBMS
Control of data redundancy: The database approach attempts to eliminate the redundancy by
integrating the files so that multiple copies of the same data are not stored. For example: In case
of college database, there may be the number of applications like General Office, Library,
Account Office, Hostel etc. Each of these applications may maintain the following information
into own private file applications:

It is clear from the above file systems, that there is some common data of the student which has
to be mentioned in each application, like Rollno, Name, Class, Phone_No~ Address etc. This
will cause the problem of redundancy which results in wastage of storage space and difficult to
maintain, but in case of centralized database, data can be shared by number of applications and
the whole college can maintain its computerized data with the following database:

It is clear in the above database that Rollno, Name, Class, Father_Name, Address, Phone_No,
Date_of_birth which are stored repeatedly in file system in each application, need not be stored
repeatedly in case of database, because every other application can access this information by
joining of relations on the basis of common column i.e. Rollno. Suppose any user of Library
system need the Name, Address of any particular student and by joining of Library and General
Office relations on the basis of column Rollno he/she can easily retrieve this information. Thus,
we can say that centralized system of DBMS reduces the redundancy of data to great extent but
cannot eliminate the redundancy because RollNo is still repeated in all the relations.

Data consistency: If a data item is stored only once in the database, any update to its value has
to be performed only once and the new value is available immediately to all users. If a data item
is stored more than once and the system is aware of this, the system can ensure that all copies of
the item are kept consistent.

More information from the same amount of data: With the integration of the operational data,
it may be possible for the organization to derive additional information from the same data. For
example, in the file-based system illustrated in Figure 1, in this chapter, the Contracts
Department does not know who owns a leased property. Similarly, the Sales Department has no
knowledge of lease details. When we integrate these files, the Contracts Department has access
to owner details and the Sales Department has access to lease details.

Sharing of data: Typically, files are owned by the people or departments that use them. On the
other hand, the database belongs to the entire organization and can be shared by all authorized
users. In this way, more users share more of the data.
Improved data integrity: Database integrity refers to the validity and consistency of stored
data. Integrity is usually expressed in terms of constraints, which are consistency rules that the
database is not permitted to violate.

Improved security: Database security is the protection of the database from unauthorized users.
Without suitable security measures, integration makes the data more vulnerable than file-based
systems. However, integration allows the DBA to define, and the DBMS to enforce, database
security. This may take the form of user names and passwords to identify people authorized to
use the database.

Economy of scale: Combining all the organization’s operational data into one database, and
creating a set of applications that work on this one source of data, can result in cost savings.

Improved data accessibility and responsiveness: Again, as a result of integration, data that
crosses departmental boundaries is directly accessible to the end-users. This provides a system
with potentially much more functionality that can, for example, be used to provide better services
to the end-user or the organization’s clients.
Improved maintenance through data independence

Increased concurrency: Many DBMSs manage concurrent database access, ensuring that two
or more users are allowed to access the same file simultaneously, without interfering with each
other, or resulting in loss of information or its integrity.

Improved backup and recovery services: modern DBMSs provide facilities to minimize the
amount of processing that is lost following a failure.

DISADVANTAGES OF A DBMS ENVIRONMENT

Complexity: The provision of the functionality we expect of a good DBMS makes the DBMS an
extremely complex piece of software. Database designers and developers, the data and database
administrators, and end-users must understand this functionality to take full advantage of it.
Failure to understand the system can lead to bad design decisions, which can have serious
consequences for an organization.

Size: The complexity and breadth of functionality makes the DBMS an extremely large piece of
software, occupying many megabytes of disk space and requiring substantial amounts of
memory to run efficiently.

Cost of DBMS: The cost of setting up DBMSs varies significantly, depending on the
environment and functionality provided.

Additional hardware costs: The disk storage requirements for the DBMS and the database may
necessitate the purchase of additional storage space, perhaps even a machine dedicated to
running the DBMS. The procurement of additional hardware results in further expenditure

Cost of conversion: This includes the cost of converting existing applications to run on the new
DBMS and hardware plus the cost of training staff to use these new systems, and possibly the
employment of specialist staff to help with the conversion and running of the system.

Performance: Typically, a file-based system is written for a specific application, such as


invoicing. As a result, performance is generally very good. However, the DBMS is written to be
more general, to cater for many applications rather than just one. The effect is that some
applications may not run as fast as they used to.

Higher impact of a failure: The centralization of resources increases the vulnerability of the
system. Since all users and applications rely on the availability of the DBMS, the failure of
certain components can bring operations to a halt.

DATABASE OBJECTS
Tables Data is stored in tables.
Queries You use queries to retrieve specific data from your
database and to answer questions about your data.
Forms Forms give you the ability to choose the format and
arrangement of fields. You can use a form to enter, edit,
and display data.
Reports Reports organize or summarize your data so you can print
it or view it onscreen. You often use reports when you
want to analyze your data or present your data to others.
Macros Macros give you the ability to automate tasks. You can
use a macro to add functionality to a form, report, or
control.
Modules Like macros, modules give you the ability to automate
tasks and add functionality to a form, report, or control.

COMMON DATA TYPES


 Access recognizes a number of different data types. The most important ones for our purposes
are as follows: Text, Memo, Number, Date/Time, Currency, AutoNumber, and Yes/No.
Why use Microsoft Access?
 Microsoft Access is a relational database management system that together with Word, Excel,
PowerPoint etc, makes up Microsoft Office Professional.
 It provides a powerful way of storing, sorting, manipulating and retrieving data.
 As it was developed by the same company that developed other packages in the Microsoft
Office suite and so it has a familiar interface.
 The power of Access is that it is easy for beginners, using basic functions, to start developing
simple databases straight away. It is also used for the development of sophiscated application
systems.
 Access allow users to easily modify fields and tables after you have entered data.

You might also like