Final Notes Us Ict 2021
Final Notes Us Ict 2021
Table of Contents
CHAPTER 1: LOGIC GATES AND BOOLEAN ALGEBRA LOGIC GATES ............................................ 1
Introduction .............................................................................................................................................. 1
I- Definitions ......................................................................................................................................... 1
II- Basic logic gates ............................................................................................................................. 1
a. NOT gate........................................................................................................................................ 1
b. AND gate .................................................................................................................................... 2
c. OR gate. ......................................................................................................................................... 2
III- Other type of Logic gates................................................................................................................ 3
IV- Boolean algebra .............................................................................................................................. 4
V- Logic circuits and Boolean function................................................................................................ 5
CHAPTER 2: DATA TYPES AND DATA STRUCTURES ......................................................................... 7
Introduction .............................................................................................................................................. 7
I- DATA TYPES ................................................................................................................................... 7
II- DATA STRUCTURE ..................................................................................................................... 7
CHAPTER 3: COMPUTER NETWORKS AND DATA COMMUNICATION ............................................ 9
I- COMPUTER NETWORKS ............................................................................................................... 9
1. Types of Computer Networks...................................................................................................... 9
c. Wide Area Network ...................................................................................................................... 10
2. Network Components ............................................................................................................... 10
3. Network Topologies .................................................................................................................. 13
4. Network Standards .................................................................................................................... 15
5. Network Architectures (configuration) ...................................................................................... 16
6. Benefits of a Computer Network ............................................................................................... 16
7. Limitations of a Computer Network .......................................................................................... 17
II. DATA COMMUNICATION SYSTEM........................................................................................ 17
1. Basic Elements of a Communication System ............................................................................. 18
2. Data Transmission Concepts ..................................................................................................... 18
3. Parallel and Serial Transmission ............................................................................................... 19
4. Switching Techniques ............................................................................................................... 20
5. Transmission Media .................................................................................................................. 21
6. Peripheral Device Control ......................................................................................................... 21
7. Communication Protocols ......................................................................................................... 22
8. Machine Identification and Communication Ports ..................................................................... 23
III. NETWORK SECURITY .............................................................................................................. 24
i
© GBHS Dschang 2021-2022
ICT US Notes
Network Security Problems .......................................................................................................... 24
Types of attacks over a network:................................................................................................... 24
Data compression and data encryption .......................................................................................... 24
IV. THE INTERNET and THE WORLD WIDE WEB (WWW) ......................................................... 25
CHAPTER 4: SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) ............................................................ 26
Introduction ............................................................................................................................................ 26
1. System development methodologies, models, tools and techniques .................................................. 26
2. System development Life cycle ........................................................................................................ 26
a. Planning phase ............................................................................................................................. 26
b. Analysis phase .......................................................................................................................... 26
c. Design phase ................................................................................................................................ 27
d. Development phase ................................................................................................................... 27
e. Implementation............................................................................................................................. 27
f. Support and maintenance .............................................................................................................. 27
3. Some popular SDLC Models ............................................................................................................ 29
4. Methods of interacting with a system. .............................................................................................. 32
CHAPTER 5: DATABASES ...................................................................................................................... 33
Introduction ............................................................................................................................................ 33
1. The structure of a Database .............................................................................................................. 33
2. Advantages and disadvantages of database ....................................................................................... 34
3. Database Applications...................................................................................................................... 34
4. Data Type for database ..................................................................................................................... 35
5. Database models .............................................................................................................................. 35
A. Entity Relationship Model (ER): ............................................................................................... 35
B. Relational Model....................................................................................................................... 37
C. Other type of database models................................................................................................... 38
6. Database Management Systems (DBMS) ......................................................................................... 38
A. Features of a DBMS.................................................................................................................. 38
B. The main objectives of DBMS: ................................................................................................. 39
7. Database languages .......................................................................................................................... 39
8. NORMALIZATION ........................................................................................................................ 40
a. First Normal Form (1NF) ............................................................................................................. 40
b. Second Normal Form (2NF) ...................................................................................................... 41
c. Third Normal Form (3NF) ............................................................................................................ 41
CHAPTER 6: ALGORITHMS AND PROGRAMMING LANGUAGES ................................................... 42
Lesson 1: Algorithms .................................................................................................................................. 42
ii
© GBHS Dschang 2021-2022
ICT US Notes
I. Algorithmic concepts ....................................................................................................................... 42
1. Definition of terms .................................................................................................................... 42
2. Steps to resolve a problem (Computer problem solving approach)............................................. 42
3. Characteristics of Algorithms .................................................................................................... 43
3. Effectiveness of a solution ........................................................................................................ 43
II. Representing algorithms ............................................................................................................... 43
1. Structured English..................................................................................................................... 43
2. Flow charts ............................................................................................................................... 44
3. Pseudo code .............................................................................................................................. 45
b. Variables, Constants and Literals .............................................................................................. 46
c. Basic Instructions ......................................................................................................................... 46
d. Basic Algorithmic Control Structures ........................................................................................ 47
Lesson 2: Programming .............................................................................................................................. 50
Introduction ............................................................................................................................................ 50
1. Characteristics of a good Computer Program and software ............................................................... 50
2. Programming Languages .................................................................................................................. 50
a. Low Level Languages .................................................................................................................. 50
b. High Level Languages .............................................................................................................. 51
3. Language Translators ....................................................................................................................... 51
a. Assembler .................................................................................................................................... 51
b. Compiler ................................................................................................................................... 51
c. Interpreter..................................................................................................................................... 52
Advantages of an Interpreter ..................................................................................................... 52
4. Program Errors and Correction......................................................................................................... 52
6. Key Words and Operators ................................................................................................................ 52
a. Key Words ................................................................................................................................... 52
b. Operators .................................................................................................................................. 53
7. Programming paradigms .................................................................................................................. 53
8. Software development tools ............................................................................................................. 53
9. Stages in the program development cycle ......................................................................................... 53
Lesson 3: Introduction to C Programming Language .................................................................................. 54
Introduction ............................................................................................................................................ 54
1. Why to use C? .................................................................................................................................. 54
2. Software needed for a C program ..................................................................................................... 54
3. Reserved/Key words in C ................................................................................................................. 54
4. Basic C code .................................................................................................................................... 55
iii
© GBHS Dschang 2021-2022
ICT US Notes
5. Using Variables................................................................................................................................ 55
6. C input and output ............................................................................................................................ 56
7. Learn the basic operators in C .......................................................................................................... 58
8. Using Conditional Statements .......................................................................................................... 59
9. Loops ............................................................................................................................................... 60
CHAPTER 7: PROJECT MANAGEMENT................................................................................................ 62
Introduction ............................................................................................................................................ 62
1. Definitions ....................................................................................................................................... 62
2. Characteristics and resources needed for a project ............................................................................ 62
3. Concept and/or Notion of Project Planning ...................................................................................... 63
4. Duties and Qualities of a Project Manager ........................................................................................ 63
5. Project Management Life Cycle (PMLC) ......................................................................................... 64
a. Project conception and Initiation: ................................................................................................. 64
b. Planning and design: ................................................................................................................. 64
c. Execution and construction: .......................................................................................................... 64
d. Monitoring and Controlling:...................................................................................................... 64
e. Completion and finish point:......................................................................................................... 65
6. Project Management Tools ............................................................................................................... 66
a. PERT chart ................................................................................................................................... 66
b. Gantt chart ................................................................................................................................ 70
7. Difference between PERT chart and Gantt chart............................................................................... 71
8. Report writing .................................................................................................................................. 71
GCE past question……………………………………………………………………………………....72
iv
© GBHS Dschang 2021-2022
ICT US Notes
Introduction
A large number of electronic circuits (in computers, control units, and so on) are made up of logic
gates. Logic gates are used in many electronic devices, from computers to communication systems.
The gates which are switching circuits control the movement of machines to perform their required task.
Each of the basic logic gates is a piece of hardware or an electronic circuit that can be used to
implement some basic logic circuits.
Digital logic systems are based on binary (two level) number system (1 or 0, high or low, on or off and
true or false). The term logic is used to describe the set of the basic electronic components which when
combined with each other are able to perform complex, logical and arithmetic operations.
I- Definitions
A logic gate is an is an elementary building block of a digital circuit. It is an electronic circuit implementing
a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary
output.
Logic gates use the principles of a mathematical system known as Boolean algebra. As well as a standard
Boolean expression, the input and output information of any logic gate or circuit can be schemed into a
standard table to give a visual representation of the switching function of the system. The table used to
represent the Boolean expression of a logic gate function is commonly called a Truth Table. A logic gate truth
table shows each possible input combination to the gate or circuit with the resultant output depending upon
the combination of these input(s).
To construct a truth table, we evaluate the Boolean expression for all possible combinations of values for
the input variables. The number of possible combinations is always equal to where is the number of input
variables.
a. NOT gate
The simplest possible gate is called an “inverter” or a NOT gate. It has just one input and the output is
its opposite: if the input is high (1), the output is low (0) and viceversa. This could be represented by a simple
lighting circuit with a push-to-break switch: if the switch is pressed then the lamp will turn off.
NOT operation on a logic variable X is denoted as X̅ or X’, if X is the input to a NOT gate, then its output
Y is given by Y =X̅ and reads as Y equals NOT X. Thus, if X = 0, Y = 1 and if X = 1, Y = 0. The symbol for
an inverter is shown below:
Exercise: Do the case for THREE input variables and construct the truth table.
c. OR gate.
An OR gate will give a high output if any of the inputs is high. For example, in a simple lighting circuit
with two switches in parallel the lamp will light if either switch is pressed.
The OR gate is composed of two inputs and a single output and performs logical addition. The sign (+) stands
for the OR operation and not for ordinary addition. OR gate, Truth Table and Circuits as shown below.
Read as A OR B gives Y
Truth table of an OR gate
Exercise: Do the case for THREE input variables and construct the truth table.
2
© GBHS Dschang 2021-2022
ICT US Notes
NOR Gate: The NOR gate which is composed of two inputs variable and a single output variable also
has a universal property. The term NOR is formed by the combination of NOT-OR and implies an OR
function with an inverted output.
The logical operation of the NOR gate is such that the output is HIGH (1) only when all the input variables
are LOW (0) else the output is LOW (0).
A B X
0 0 1
X = (A+B) 0 1 0
1 0 0
1 1 0
Truth table of a NOR gate
Exclusive-OR (XOR) and Exclusive-NOR (XNOR): These gates are usually formed from the
combination of the other logic gates. The exclusive-OR is an INEQUALITY function and the output
is HIGH (1) when the inputs variables are not equal to each other. Conversely, the exclusive-NOR is
an EQUALITY function and the output is HIGH (1) when the inputs are equal to each other. The
output of XOR is as follows:
3
© GBHS Dschang 2021-2022
ICT US Notes
4
© GBHS Dschang 2021-2022
ICT US Notes
These rules can be check be the use of Truth Table.
Complement law
∙ ̅=0 | + ̅=1
Idempotence law
· = | + =
Absorption law
+ = | + =
Involution law
̿=
Identity law
·1= | +0 =
Redundancy law
·0= 0 | +1 =1
A Boolean function is an expression formed with binary variables and logical operators like (OR, AND,
NOT with an equality sign). In essence, a truth table is a list which defines a Boolean function.
For example, X = A · B + A · C. Let us determine the truth table of the given function:
There are 3 inputs; thus we must have 23 (i.e. 8) possible combinations of 1s and 0
Exercise: Construct the logic circuit and the truth tables for the following;
i)
ii) [B (A xor C) ]
iii)
Example 1: Construct a truth table and the logic circuit for the expression
3 input variables different combinations
2- Use logic gates to represent these expressions and draw up their corresponding truth tables.
3- Write down the Boolean expressions for the following logic circuits.
4- Design circuits for the following using NAND gates and then NOR gates.
6
© GBHS Dschang 2021-2022
ICT US Notes
CHAPTER 2: DATA TYPES AND DATA STRUCTURES
Competence:
Be able to assign the right type of data and data structure in a program for effective functioning.
Introduction
The primary purpose of most computer programs is to store and retrieve data rather than to perform
calculations. There are many different ways to organize data for storage and retrieval, and each type of
organization is well suited to solving certain kinds of problems and poorly suited to solving problems of
other kinds. Consequently, the way in which a program's data is organized may have a profound effect
on the program's running time and memory requirements.
A programming language is proposed to help programmer to process certain kinds of data and
to provide useful output. A program usually contains different types of data types (integer, float,
character etc.). C language is so rich with data types. A programmer has to employ proper data type as
per his requirements.
I- DATA TYPES
It is the name given to a set of values and some operations which can be performed on that set of
values. For the computer to prepare memory locations for data in a program, it needs to know the type of
data so that it can reserve the correct amount space. A computer understands the following types of data
integer, real, character, Boolean, string.
1. Integer: These are positive or negative whole numbers including zero. It is used to store data
which will never have a decimal value. Example, 8, 57, -67, -121. An integer can represent the
number of students in a class, temperature (how cool or hot), etc., operations that may be applied
to integers include: addition, subtraction, multiplication, division, and modulo.
2. Real: These are numbers that contains a fractional part. They constitute all possible numbers
with the exception of imaginary numbers (e.g. the square root of -1). There are two kinds: fixed
point numbers like 6.778 and floating point numbers like 2.5*105.
3. Character: A character stores a single digit or letter. A character usually occupies one byte.
4. Boolean: A Boolean refers to any expression or variable that can have only a true or false value
i.e. can take only one of two possible values at a time.
is
student
8
© GBHS Dschang 2021-2022
ICT US Notes
In this constellation, we regard each word in the sentence as a data item (datum) which is linked to the
next datum by a pointer. Datum plus pointer make one element or node of the list. The last pointer is
known as the terminator.
5. Tree: A tree is a type of data structure in which each is attached to one or more elements directly
beneath it. Each element of this hierarchical data structure is called a node and consists of a datum
and at least two pointers. The node at the top of a tree is called the root. A node with no children is
called a leaf. The connection between nodes is called branches. A special type of tree in which each
node has only two branches below is referred to as a Binary Tree. A special type of Binary Tree in
which the value of each node is greater than the values of its leaves is called a heap.
6. Pointers: A pointer is a programming language data structure whose value refers directly to or
points to another value stored elsewhere in the computer memory using its address.
I- COMPUTER NETWORKS
The term network refers to group of objects, people, concepts, which are connected or linked to one
another. A computer network is a collection of computers, printers, and other devices that are connected
together so they can communicate and share resources. The smallest network can be as simple as two
computers linked together. The resources shared include software, files, folders, printers, disk drives and
anything else that exists on a computer. Any computer or device on a network is called a node or host.
Networking is the term that describes the processes involved in designing, implementing, upgrading, and
managing and otherwise working with networks and network technologies with its main objectives to
share resources.
A computer that is not connected or linked to another computer is referred to as a stand-alone
computer. Such a computer needs its own printer, hard disk drives and its own application programs.
For a device to be connected in a network, it must be connected through a cable, telephone lines, radio
waves, satellites, or infrared light beams and it must have a Network Interface Card (NIC), must have a
Network Operating System (NOS) and usually has at least one connecting device like hub or router that
ties the computer on the network together and must have a software that supports the movement of
information in and out the computer.
Depending on the geographical area covered, networks can be classified as local area networks, wide area
networks, metropolitan area networks, personal area networks etc.
9
© GBHS Dschang 2021-2022
ICT US Notes
a. Local Area Network
A local area network (LAN) is a network that is used for communicating among computer devices
usually within an office building, school campus, or home. It enables the sharing of resources such as files
or hardware devices that may be needed by multiple users in an organization. A LAN is limited in size,
spanning a few hundred meters, and not more than a kilometer. It is fast, with speeds from 10 Mbps to 10
Gbps. An example of LAN is the network in the computer lab and Multimedia Resource Centre.
b. Metropolitan Area Network
A metropolitan area network (MAN) is a large computer network that usually spans a city or a large
campus. It is optimized for a larger geographical area than a LAN, ranging from several blocks of buildings
to entire cities. A MAN typically covers an area of between 5 and 50 km diameter. An example of a MAN
is a cable TV network.
c. Wide Area Network
A wide area network (WAN) covers a large geographic area such as a country, a continent or even the
whole world. It is a distributed collection of LANs. That is, it connects two or more LANs together. This
is done using devices such as bridges, routers or gateways, which enable them to share data. The largest
and most well-known example of a WAN is the Internet.
2. Network Components
10
© GBHS Dschang 2021-2022
ICT US Notes
c. Network Hardware’s
Hub
A hub is a device that works as central connecting point for multiple computers in a network. It has
ports to which the computers in the network are connected. Data sent to the hub is broadcasted to all the
ports but, only the destination computer receives it. There are three kinds of hubs:
• Passive hubs which only split the transmission signal so it can be sent to all the ports
• Active hubs (also called Multiport Repeaters) which regenerate data bits to maintain a strong signal over
extended cable lengths
• Intelligent hubs (also called Concentrators) usually have their own microprocessor chips and network
operating systems. They can be managed remotely on the network.
Switch
A switch is used at the same place as a hub but the difference between the two is that a switch has
a switching table within it. A switching table stores the Media Access Control (MAC) address of every
computer connected to the switch and sends the data only to the requested address, unlike the hub which
broadcasts the data to all the ports. Switches can therefore be considered as an advanced form of hubs.
Repeater
A repeater is a device used to expand the boundaries of a wired or wireless LAN. With physical
media, data transmissions can only span a limited distance before the quality of the signal degrades.
Repeaters are used to preserve signal integrity and extend the distance over which data can safely travel
by regenerating the signals they receive. Active hubs are considered as repeaters (multiport repeaters).
Bridge
A bridge, also called a layer 2 switch, is a device used to create a connection between two separate
computer networks or to divide one network into segments. Creating multiple segments in a local network
reduces the network traffic making the network to be faster and more efficient.
Router
A router is a device that joins several networks together and is responsible for routing data from
one network to another. It keeps track of the IP addresses of the computers on the networks connected to
its network interface cards and directs data packets appropriately. It is more powerful than a bridge because
instead of just choosing network segments based on previous traffic, a router can look up the best route
for a packet to take. Routers can be computers with operating systems and special network software, or
they can be other dedicated devices built by network manufacturers. The Internet relies heavily on routers.
Modem
Multiplexer
A multiplexer abbreviated (MUX) is a device that takes input signals from different sources and
transmits them over a single transmission line. This process is known as multiplexing. There are different
types of multiplexing:
Frequency-division multiplexing (FDM), in which the carrier bandwidth is divided into sub channels
of different frequency widths, each carrying a signal at the same time in parallel.
Time-division multiplexing (TDM), in which the multiple signals are carried over the same channel in
alternating time slots.
Code-division multiplexing (CDM), in which the multiple signals are carried over the same channel but
every signal is coded differently.
Orange and MTN use a combination of FDM and TDM called GSM while Camtel uses CDM.
Cables
A cable is use to physically connect nodes together. There are three common types of cables:
coaxial cable, twisted pair cable and fiber optical cables.
Coaxial Cable
Coaxial cable consists of an inner core and an outer flexible braided shield, both of conductive material
separated by an insulator. The braided shield prevents the cable from picking up or emitting electrical noise.
There are two types of coaxial cables: thin net and thick net.
Twisted Pair
Twisted-pair cable is the most common type of cabling used in LAN networks today. It consists of
a pair or pairs of insulated wires twisted together. Cable twisting helps reduce noise pickup from outside
sources and crosstalk on multi-pair cables. There are two types of twisted pair cables: shielded twisted
pairs (STP) and unshielded twisted pairs (UTP).
Fiber Optic Cable
Fiber optic cables use optical fibers that carry digital data signals in the form of modulated light
pulses. An optic fiber consists of an extremely thin cylinder of glass, called the core, surrounded by a
concentric layer of glass, known as the cladding. Each cable has two fibers - one to transmit and one to
receive. There are two types of fiber optic cables:
Single Mode Fiber (SMF) uses a single ray of light to carry transmissions over long distances.
Multi-Mode Fiber (MMF) uses multiple rays of light simultaneously with each ray of light running at
a different reflection angle to carry transmissions over short distances.
Gateway
A gateway is a device that connects two different computer networks using direct and systematic
translations between protocols. A gateway translates outgoing network traffic to the protocol needed by
the destination network. The term gateway is also sometimes loosely used to describe any device that acts
as the entry or exit point for a network.
Remark: Interworking is a technique of linking different networks by using intermediary devices such
as routers or gateways.
12
© GBHS Dschang 2021-2022
ICT US Notes
3. Network Topologies
It is the arrangement of nodes in a communications network. There are two types of network
topologies. Physical network topology which refers is the physical layout or arrangement of the
components of a network. Logical network topology which refers to the way data circulates or travels
along communication lines in a network. The following are physical Network topologies.
a. Bus Topology
In bus topology, all computers are connected to a single cable (trunk or backbone) known as bus, by a
transceiver either directly or by using a short drop cable. Bus transmits in both directions such that any
transmission can be received by all stations. All ends of the cable must be terminated, that is plugged into
a device such as a computer or terminator, to avoid signals from bouncing back.
Advantages
Disadvantages
b. Star Topology
In a star topology, all the computers are connected to a central device which could be a computer
(server), a hub or a switch. Any communications between computers in this topology must pass through
the central node. As such, the central node controls all the activities of the network.
Advantages
13
© GBHS Dschang 2021-2022
ICT US Notes
Disadvantage
c. Ring Topology
In ring topology, all the nodes are connected in the form of a closed loop such that each node is
connected to two others. It uses an empty data packet called a token and a special protocol called token
ring. Packets travel around the ring in a clockwise direction. To transmit, a node requires an empty token.
Advantage
d. Mesh Topology
In a true mesh topology, every node is connected to every other node in the network.
e. Tree Topology
Tree Topology integrates the characteristics of Star and Bus Topology. In Tree Topology, the number of
Star networks is connected using Bus.
f. Hybrid Topology
Hybrid, as the name suggests, is mixture of two or more than two different things. Similarly, in this type
of topology we integrate two or more different topologies to form a resultant topology which has good points
(as well as weaknesses) of all the constituent basic topologies rather than having characteristics of one specific
topology.
14
© GBHS Dschang 2021-2022
ICT US Notes
4. Network Standards
b. Ethernet Network
Ethernet (IEEE 802.3 standard) is the most common and widely used technology to establish any
computer network. An Ethernet network is formed by physically connecting the individual computer units
to each other in a bus topology or a star topology. Ethernet ‘s media access policy is CSMA/CD (Carrier
Sense Multiple Access with Collision Detection).
CS: means that a station listens to the medium and transmits only if medium is idle
MA: means that any station can use (access) the medium
CD: means that each station stops transmitting immediately it senses a collision When a
collision is detected, the two stations involved will retransmit after a random time wait created
by a back off algorithm.
15
© GBHS Dschang 2021-2022
ICT US Notes
5. Network Architectures (configuration)
a. Client-Serveur Architecture
Client/server is a network architecture in which a more powerful computer called server is dedicated
to serving less powerful computers called clients. Servers hold shared resources like files, programs and
the network operating system. They provide access to network resources to all the users of the network.
There are many different kinds of servers, and one server can provide several functions. For example,
there are file servers, print servers, mail servers, database servers and Web servers, to name a few. Users
run applications on client workstations which rely on servers for resources such as files, devices and even
processing power.
Internet services are organized according to client/server architecture. Client programs such as Web
browsers and file transfer programs create connections to servers, such as Web and FTP servers. The
clients make requests of the server, and the server responds to the requests by providing the service
requested by the client.
b. Peer-to-peer Architecture
Peer-to-peer (P2P) is a network configuration in which all the workstations (computer) have equal
capabilities and responsibilities. Each workstation acts both as a server and a client. This means that any
computer on the network can provide services to any other computer. Peer-2-peer is usually implemented
where strict security is not necessary. P2P networks are generally simpler and less expensive, but they
usually do not offer the same performance under heavy loads.
REMARK: A Hybrid network combines client/server and peer-to-peer architectures. It is the most
commonly used network architecture.
Different between Intranet and Extranet: these are networks that are used within organizations.
Intranet: An intranet is a private network based on TCP/IP protocols belonging to an organization
usually a corporation and is only accessible to the organizations members, employees, or others
with authorization. Mostly protected using firewall software or firewall device. They are now the
fastest-growing segment of the Internet because they are much less expensive to build and manage
than private networks based on proprietary protocols e.g. companies, military, secret services like
MI5 and CIA, etc.
Extranet: An extranet is a controlled private network allowing customers, partners, vendors,
suppliers, and other businesses to gain information without granting access to the organization
entire network. It is often a private part of a website e.g. banks, etc. it is expensive to implement
and maintained.
File sharing
Networks allow files located on one system to be accessed remotely.
High Speed Resource Sharing
Networks allow resources like modems, printers, programs, and scanners to be shared amongst multiple users.
Communication
Computer networks have improved the way people communicate. People all over the world can
communicate and collaborate in a matter of minutes thanks to networks. In organizations, computer
networks serve as the backbone of daily communication
Save costs
16
© GBHS Dschang 2021-2022
ICT US Notes
Shared resources mean reduction in hardware costs. Shared files mean reduction in memory requirements
which indirectly means reduction in file storage expenses.
Increased Storage Capacity
A stand alone computer might fall short of storage memory, but when many computers are on a network,
the memory of different computers can be used in such a case.
Teleconferencing or Videoconferencing
This is a communication technology that integrates video and voice to connect remote users with each
other as if they were in the same room. Each user needs a computer, webcam, microphone, and broadband
internet connection to participate. This enables organizations to save travelling cost for employees.
Backup
Files can be backed up more easily when they are all on a central file server rather than when they are
scattered across a number of independent workstations.
Security concerns
If a computer is a standalone computer, physical access becomes necessary for any kind of data theft.
However, if a computer is on a network, a hacker or intruders can get unauthorized access by using
different tools.
Malware attacks
Computers connected to a network are susceptible to malware attacks. If one system gets
infected by a virus, there is a possible for the other systems getting infected too
The initial set up cost is high (needs NIC, NOS, Software, etc.)
Increased risk of data corruption since many users use the system.
Networks are always expensive to maintain so needs experts services.
Data communication refers to the exchange of data between two devices via some form of
communication channel. In data communication the following basic terms are frequently used:
Data: a collection of facts in raw form that becomes information after processing.
Signal: an electric or electromagnetic encoding of data.
Signaling: propagation of signals across a communication channel.
Transmission: sending of data from one place to another by means of signals.
17
© GBHS Dschang 2021-2022
ICT US Notes
1. Basic Elements of a Communication System
Communication Software’s: To communicate over a network you need some communication software.
Since there are a number of different communication tasks, there are different kinds of software to manage
each task. There are NOS, Dialing software, File transfer software, Terminal emulation programs, Data
encryption programs, and Instant messaging programs.
An analog signal is one in which information is represented as a continuous variation of some physical
property or quantity. Analog signals are continuous waves that carry information by varying the frequency
or amplitude of the wave.
When the amplitude of the signal is varied the technique is called amplitude modulation (AM)
When the frequency of the signals is varied, the technique is called frequency modulation (FM).
Human speech is an example of an analog signal. Telephone lines use analog signals because they were
originally designed for speech.
ii Digital Signals
A digital signal is one in which information is represented as a sequence of binary values 0 and 1.
These two values represent two conditions, on or off, corresponding to two known levels of voltage or
current.
Digital signals do not continuously vary as analog signals. Signals are transmitted within the
computer as digital signals. Systems that use digital technology are known as baseband systems.
18
© GBHS Dschang 2021-2022
ICT US Notes
A baseband system is a single-channel system that supports a single transmission at any given time.
In a baseband system, data is sent as a digital signal through the media as a single channel that uses the
entire bandwidth of the media. Baseband communication is bidirectional, which means that the same
channel can be used to send and receive signals. In Baseband, frequency-division multiplexing is not
possible.
ii. Broadband System
A broadband system is a multichannel system that supports multiple transmissions via multiple
frequency channels. In a broadband system, data is sent in the form of an analog signal where each
transmission is assigned to a portion of the bandwidth. Broadband communication is unidirectional, so in
order to send and receive, two pathways are needed. This can be accomplished either by assigning a
frequency for sending and assigning a frequency for receiving along the same cable or by using two cables,
one for sending and one for receiving.
c. Transmission Modes
This simply refers to the direction of flow of information between two communicating devices. It could
be simplex, half duplex or full duplex.
i. Simplex Mode
In simplex mode, signals are transmitted in only one direction. The flow of information is unidirectional
from transmitter to receiver always. Examples are television broadcasting, computer to the printer
connection and CPU to monitor communication.
a. Parallel Transmission
Parallel transmission is the method of transferring blocks of data (several bits) at the same time over
separate channels/lines. This type of transmission requires a separate channel for each bit to be transmitted.
For example, eight separate channels will be required if a block of eight bits is to be transmitted in parallel.
Parallel transmission is fast but it is suited only for short distances as cabling for long distances will be
expensive. It is mainly used for connections within the computer and for connecting the computer to the
printer.
19
© GBHS Dschang 2021-2022
ICT US Notes
b. Serial Transmission
Serial transmission is the method of transferring data one bit at a time through the same channel. If a
block of 8 bits is to be transmitted in series, the bits will be transmitted one after the other on the same
channel. Serial transmission is slower than parallel transmission but it is suited for long distances. It is
cheaper as only one transmission line is required. Serial transmission can be asynchronous or synchronous.
Asynchronous serial transmission: it describes the process where transmitted data is encoded with
start and stop bits, specifying respectively the beginning and end of each character. Data is sent
character by character with each character preceded by a start bit and a stop bit is added to the end.
Other control bits like the parity bit are added to the group before the stop bit and small gabs are
inserted to distinguish each group.
Synchronous serial transmission: it describes a continuous and consistent timed transfer of data
blocks. Data is sent as one long bit stream or block of data without start or stop bits and with no
gabs. Upon reception, the receiver counts the bits and reconstructs bytes. Another channel is
therefore used to transfer timing signals to keep the both parties synchronized. Accuracy is
dependent on the receiver keeping an accurate count of the bits as they arrive.
Synchronous transmission is faster than asynchronous transmission because fewer bits have to be
transmitted, only data bits and no extra control bits. For this reason, it is the choice for network
communications links.
4. Switching Techniques
The process of transferring data blocks from one node to another is called switching. Data is routed by
being switched from one node to another. Two switching techniques exist: packet switching and circuit
switching.
a. Packet Switching
Packet switching is a switching method in which the message to be transmitted is broken into small data
packets and sent over the network. Each packet contains a portion of data and some control information.
The packets may take different routes to arrive their destination and they may arrive in any other. On
arrival, they are put back into order and the message is reconstituted. Each packet is sent with a header
address which tells what its destination is. One packet contains information on how many packets should
be arriving. If a packet fails to arrive, the destination computer sends a message to the sender‘s computer
asking it to send the missing packet again. This method is suitable for transmission of data.
20
© GBHS Dschang 2021-2022
ICT US Notes
b. Circuit Switching
Circuit switching is a switching method in which a dedicated communication path in physical form
between two stations within a network is established, maintained and terminated for each communication
session. This channel remains open throughout the communication process and cannot be used by anyone
else. It has basically three phases: circuit establishment, data transfer and circuit disconnect. The message
is sent without being broken up, so it is received in the order it was sent. This method was designed for
voice transmissions. Telephone networks use this type of switching method to transmit phone calls.
5. Transmission Media
A transmission medium is the physical pathway that connects computers and other devices on a network.
There are two categories of transmission media: guided and unguided media.
a. Guided Media
Guided media are the physical links through which signals are confined to narrow path. They are made
up of an internal conductor (usually copper) bounded by jacket material. They are also called bounded or
conducted media. Three common types of guided media are used for data transmission.
a. Coaxial cable
b. Twisted pair cable
i) Unshielded Twisted Pair (UTP)
ii) Shielded Twisted Pair (STP)
c. Fiber optic cable
b. Unguided Media
Unguided media do not use physical means to define the path to be taken. They provide a means for
transmitting electromagnetic waves but do not guide them. They are also called unbounded media.
Examples of unguided media are infrared waves, radio waves, microwaves and satellite.
Communication Satellites. A communication satellite is
a microwave relay station placed in outer space. A
microwave signal is transmitted from earth to the
satellite which amplifies the signal and sends it back to
earth. The earth station transmits the signal to the
satellite on an up-link, on one frequency and the satellite
repeats those signals on a down link which is on another
frequency.
a. Buffer
A buffer is an area of memory used to temporarily store data while it is being moved from one place
to another. Routers use buffers to route data packets on the Internet. When a packet is sent from one router
to another via one or more intermediate routers, the packet is received at each intermediate router in its
entirety, stored there until the required output line is free, then the packet is forwarded.
21
© GBHS Dschang 2021-2022
ICT US Notes
b. Interrupt
An interrupt is a signal to the processor emitted by hardware or software indicating an event that needs
immediate attention. An interrupt alerts the processor of a high-priority condition requiring the interruption
of the current task the processor is executing.
c. Polling
Polling is the process by which the central computer or communications controller in a network, "polls"
or asks each device in the network if it has a message to send and then allows each in turn to transmit data.
Access and control of star network typically is maintained by a polling system.
d. Handshaking
Handshaking is the process by which two devices initiate communications. It begins when one device
sends a message to another device indicating that it wants to establish a communications channel. The two
devices then send several messages back and forth that enable them to agree on a communications
protocol.
7. Communication Protocols
A protocol is a set of rules and conventions that govern how devices on a network communicate.
Protocols set message formats and procedures that allow machines and application programs to exchange
information. These rules must be followed by each machine involved in the communication in order for
the receiving host to be able to understand the message. The need for a protocol is obvious: it allows
different computers from different vendors and with different operating characteristics to ‗speak the same
language‘. A protocol may be physical or logical.
a. Physical Protocols
Physical protocols are concerned with how a device connects to a medium. They ensure that a device
connected to a medium can transmit through the medium. Few examples of physical protocols are 802.11
for Wi-Fi connections and DSL for broadband.
b. Logical Protocols
Logical protocols are concerned with data handling. They ensure that data are in the right format for the
application, the bit rates match at both ends, and the same error correction is used. Examples of logical
protocols are TCP/IP, HTTP, POP3, FTP, SMTP and WAP.
TCP: stands for Transmission Control Protocol. It is a connection-based Internet protocol that
supports reliable data transfer connections.
IP: stands for Internet Protocol. It specifies the format of packets and the addressing scheme.
UDP: stands for User Datagram Protocol. It is a connectionless Internet protocol that is designed
for network efficiency and speed at the expense of reliability.
HTTP: stands for Hypertext Transfer Protocol. It is a standard method of publishing information
as hypertext in HTML format on the Internet. In other words, HTTP defines how messages are
formatted and transmitted over the World Wide Web. Web addresses or URLs usually begin with
http indicating that the protocol used is HTTP.
HTTPS: stands for Hypertext Transfer Protocol Secure. It is the protocol used for accessing a
secure web server, whereby all data transferred are encrypted.
POP: stands for Post Office Protocol. It is a standard protocol for delivering e-mails to personal
computers.
22
© GBHS Dschang 2021-2022
ICT US Notes
FTP: stands for File Transfer Protocol. It is a standard for transferring files between a server and
a client on a TCP/IP network.
SMTP: stands for Simple Mail Transmission Protocol. It defines a basic service for electronic
mails. It is used for sending e-mails between servers.
WAP: stands for Wireless Application Protocol. It is a protocol which runs on mobile phones and
provides a universal open standard for bringing Internet content to mobile phones and other
wireless devices.
Every node on a network be it a server or network station has a unique identity. The type of identity a
node has is determined by the protocols running on the network. Two types of addresses exist for
identifying a node on a network: MAC and IP addresses.
b. IP Address
An IP address is a unique identifying number given to every single computer on a TCP/IP network.
All computers, desktops, laptops, PDAs, phones, tablet PCs connected to the Internet, have IP addresses
by which they are identified. Two versions of IP addresses are available: IPv4 that uses 32 bits and IPv6
that uses 128 bits.
An IPv4 is made up of four sets of numbers separated by periods such as 123.23.168.22. Each
of the four numbers separated by periods can be any number from 0 to 255, making for a total of 4.3 billion
potential IPv4 addresses (i.e. ).
An IPv6 has eight sets of numbers separated by colons such as 3ffe:1900:4545:3:200:f8ff:fe21:67cf.
23
© GBHS Dschang 2021-2022
ICT US Notes
IP addresses are assigned manually (by an administrator) or automatically (by DHCP or APIPA), unlike
MAC addresses that are assigned during manufacture. MAC addresses are physical addresses while IP
addresses are logical addresses.
c. Communication Ports
A communication port is a 16-bit number that identifies an application for which the data is intended
on the Internet. Popular Internet application protocols are associated with wellknown ports and well-
known services. Examples are port 80 for accessing the World Wide Web (HTTP), port 21 for file transfer
(FTP), port 25 for sending emails (SMTP) and port 110 for receiving emails (POP).
Network security problems can be divided roughly into four intertwined areas: secrecy, authentication,
nonrepudiation and integrity control.
Secrecy: This is also called confidentiality, and has to do with keeping information out of the
hands of unauthorized users.
Authentication: this deal with determining whom you are talking to before revealing sensitive
information or entering into a business deal.
Nonrepudiation: This deal with signatures: How does amazon.ca prove that Musa indeed placed
an order for a book, which Musa claims he never placed?
. Integrity of service: How does one ensure that the message received was really the one sent, and
not something that a malicious adversary modified in transit or concocted?
We will also classify the attacks that compromise network security as passive attacks and active attacks.
Passive Attacks: These attacks are in the nature of eavesdropping on, or monitoring of,
transmissions. The goal of the opponent is to obtain information that is being transmitted. Passive
attacks are very difficult to detect since they do not involve the alteration of the data. Two types of
passive attacks are:
Release of message contents: where an eavesdropper tries to learn the contents of what is
being transmitted. This can be prevented by encryption.
Traffic analysis: where the opponent tries to observe the pattern, frequency and length of
messages being exchanged which could be used in guessing the nature of the
communication that is taking place.
Active Attacks: Active attacks involve some modification of the data stream or the creation of a
false stream. It is difficult to prevent active attacks absolutely because to do so would require
physical protection of all communications facilities and paths at all times.
In other to send data easily through a network, it is required to compress it in other to reduce space for
storage and bandwidth for transmission. Data compression is the process of converting data from a large
24
© GBHS Dschang 2021-2022
ICT US Notes
format into a smaller format, usually by the means of an algorithm. The data can be expanded back to its
original state, usually by means of decompression algorithm. The procedure for compressing data is known
as data compression techniques or coding schemes. Some popular examples of data compression
techniques include:
Graphic Interchange Format (GIF): This is a widely used compression format that is used for
storing and transferring graphic images in relatively small files over computer network such as Internet.
Joint Picture Expert Group (JPEG): This is a popular file compression format for storing and
transferring color photograph and high quality images in relatively small files over computer network such
as Internet.
Motion Picture Expert Group (MPEG): This is a standard file compression format for storing
and transferring digital audio and video (moving images) in relatively small files over computer network.
Huffman coding: This is a lossless compression technique in which the characters in a data file
are converted to a binary code, where the most common characters in the file have the shortest binary
code, and the least common have the longest.
Run-length encoding: This a compression technique that is designed for compressing, long,
repetitive character strings in a piece of text, as well as compressing byte of a monochrome image file.
An important characteristic feature in any coding scheme is the compression ratio. It is the ratio of a
compressed file to the original uncompressed file. There are two basic form of data compression: lossless
compression and lossy compression.
Lossless compression is the form of compression in which the original data can be restores exactly.
(Ex: zip).
Lossy compression is the form of compression in which the original data cannot be restored
exactly due to loss of some of its elements (ex: mp3)
Data encryption refers to mathematical calculations and algorithmic schemes that transform plaintext
into cypher text, a form that is non-readable to unauthorized parties. The recipient of an encrypted message
uses a key which triggers the algorithm mechanism to decrypt the data, transforming it to the original
plaintext version.
25
© GBHS Dschang 2021-2022
ICT US Notes
CHAPTER 4: SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
Competences:
Evaluate existing system: manual or computerized
Analyse systems and evaluate options
Explain SDLC phases
Describe system implementation methods
Introduction
A system can be defined as an organized body of interrelated parts to achieve an objective. System
development involves the use of various methodologies, models, tools and techniques to build and implement
an IS.
a. Planning phase
It is the initial phase of the SDLC process that sets out to discover, identify and define the scope of the
project to decide the course of action and specifically address the issues that are going to be solved by the new
system. This phase includes problem definition, feasibility studies, project plan...
Some activities in this phase are:
Define clearly in unambiguous terms the problem/opportunity.
Carry out an assessment of initial feasibility of the project and.
Prepare a system development project plan.
b. Analysis phase
During this phase, there is investigation on how the current system works (if it exists) and the identification
of weaknesses and the opportunities to improve. Modeling techniques like data flow diagrams can also be use
and interviews, questionnaires, observation and inspection of documents currently in used can be used.
Activities in this phase are:
Creating a logical model of the new system and specifying the objectives for the new system;
Specifying the input, processing and output of the new system;
26
© GBHS Dschang 2021-2022
ICT US Notes
Preparing a plan for implementing the new system;
Specifying the performance criteria of the new system.
c. Design phase
The system design phase involves generating several alternatives technical solutions for the new logical
model. Activities in this phase are:
selecting the best technical alternative;
developing detailed software specifications and again reviewing the project plan;
creating detailed physical model.
d. Development phase
The goal of the system development is to actually create the new system which involves a number of tasks
including acquiring and installing new hardware, writing software, testing software and reviewing project
plans. Most of the efforts deployed in SDLC are devoted to this phase.
Writing software requires that programmers use the software specifications and a programming
language or tool to actually create the working software.
Testing software will employ testing techniques such as: integration testing, acceptance testing and
beta testing.
Integration testing is to test to see if everyone in the organization is able to use the part of the
software developed for the functioning of the IS.
Acceptance testing is a formal documented process in which users use the new system, verify
that it works correctly under operational conditions and note any errors that needs to be fixed.
Beta testing is a form of testing involving a limited audience of external users.
Unit testing is a type of software testing where individual units or components of software are
tested. The purpose is to validate that each unit of the software code performs as expected. Unit
Testing is done during the development (coding phase) of an application by the developers
e. Implementation
The system implementation phase involves training users, converting existing information to the new
system, converting users, carrying out acceptance testing, and reviewing the project plan.
The project team installs the new software on the new hardware, trains all users on how to use the software,
and goes through a process of acceptance testing.
Conversion: This is the act of moving from the old way of doing things to the new system. Four
conversion methods in common include;
Parallel conversion: Both the old and new systems are allowed to run until it’s sure the new system
works correctly. Though it delays final handover, it is the safest as it allows for gradual change over.
It is expensive in terms of time, money and resources.
Plunge conversion (direct): Here, the old system is unplugged and the new system is used
exclusively. It carries relatively a high risk. However, it may be the option for a system commissioned
from scratch or where resources are limited.
Pilot conversion: Only a selected group of users are targeted to convert to the new system before
converting everyone.
Piecemeal: Here, only a porting of the new system is allowed to run and when it works correctly, the
remaining system is then converted.
28
© GBHS Dschang 2021-2022
ICT US Notes
Advantages:
it is easy to understand and use.
Its stages and activities are well-defined.
Its phases are processed and completed one at a time.
it works well for smaller projects where requirements are very well understood.
It can quickly move to the implementation phase.
Disadvantages:
there is high degree of risk and uncertainty.
It is a poor model for complex projects.
Adjusting scope during the life cycle can kill the project.
When to use the waterfall model: This model is used only when the requirements are very well known,
clear and fixed, Product definition is stable, Technology is understood, There are no ambiguous
requirements, Ample resources with required expertise are available freely and The project is short.
V-shape model: It represents a development process that may be considered as an extension of the
waterfall model. Instead of moving down in a linear way, the process steps are bent upwards to form
a typical V shape.
29
© GBHS Dschang 2021-2022
ICT US Notes
Advantage:
simple and easy to use.
Testing activities like planning, test designing happens well before coding. This saves a lot of
time. Hence higher chance of success over the waterfall model.
Proactive defect tracking – that is defects are found at early stage.
Avoids the downward flow of the defects.
Works well for small projects where requirements are easily understood.
Disadvantages:
30
© GBHS Dschang 2021-2022
ICT US Notes
If any changes happen in midway, then the test documents along with requirement documents has
to be updated.
Bugs are expensive to fix in the final product, although more bugs are caught here than in the
waterfall model.
When to use the V-Shaped model: The V-shaped model should be used for small to medium sized
projects where requirements are clearly defined and fixed and The V-Shaped model should be chosen
when ample technical resources are available with needed technical expertise.
Prototyping: It is a model in which a prototype is built, tested and then reworked as necessary until
an acceptable outcome is achieve from which the complete system or product can be developed.
Advantages:
Users are actively involved in the development.
Since in this methodology a working model of the system is provided, the users get a better
understanding of the system being developed.
Errors can be detected much earlier.
Quicker user feedback is available leading to better solutions.
Missing functionality can be identified easily.
Ease of use and needs minimal training for the end user.
Disadvantages:
the system may take longer to develop using this method because of the long process of
developing prototypes which may be radically altered or thrown-away.
It requires a good knowledge of the problem domain in order to create a prototype.
It might take a while for a system to be built.
When to use a Prototype Model: Prototype model should be used when the desired system needs to have a
lot of interaction with the end users.
Typically, online systems, web interfaces have a very high amount of interaction with end users, so there are
best suited for Prototype model. They are excellent for designing good human computer interface systems.
Prototyping ensures that the end users constantly work with the system and provide a feedback which is
incorporated in the prototype to result in a useable system
Rapid Application Development (RAD) model: it is a model based on the concept that better
products can be developed more quickly by using workshops or focus groups to gather system
requirements. This methodology specifies incremental development with constant feedback from
the customers. RAD has the ability to overcome the weakness of the waterfall model. In RAD
model the components or functions are developed in parallel as if they were mini projects. The
31
© GBHS Dschang 2021-2022
ICT US Notes
developments are time boxed, delivered and then assembled into a working prototype. This can
quickly give the customer something to see and use and to provide feedback regarding the delivery
and their requirements.
Incremental Model: it is an evolution of the waterfall model. In incremental model the whole
requirement is divided into various builds. Multiple development cycles take place here, making the
life cycle a ―multi-waterfall‖ cycle. Cycles are divided up into smaller, more easily managed
modules. Each module passes through the requirements, design, testing and implementation phases.
This type of development allows the user to see a functional product very quickly and allows the user
to impact changes in subsequent release
Agile Model: Agile SDLC model is a combination of iterative and incremental process models with
focus on process adaptability and customer satisfaction by rapid delivery of working software
product. Agile Methods break the product into small incremental builds.
32
© GBHS Dschang 2021-2022
ICT US Notes
CHAPTER 5: DATABASES
Competences:
Identify Models of databases.
Use a database application to create a simple relational database.
Populate a simple database.
Create simple queries to demonstrate data integrity and consistency.
Introduction
Organizations work on vast amount of data and information on daily bases thus, there is need for data and
information to be organized logically. These data may not make meaning if not organized into an appropriate
structure. A database is application software for such a task and is one of the core/main parts of most/all
applications/software in use today.
A database is a structured collection of data in a computer system which allows for arranging, modifying,
and extracting information easily in different logical orders. It is a tool that stores data, and lets you create,
read, update, and delete the data in some manner. The management of these data can be computerized or not.
A computerized database is a database that stores and manages its data by the use of application software
called database management system (DBMS) in the computer.
A non-computerized computer is a database that files are grouped in folders or envelops and stored in
drawers or filing cabinets. Both types of database have advantages and disadvantages. An advantage for one
is probably a disadvantage to the others.
Note: Data are raw facts that have no meaning. It needs treatment (processing) to become useful
(information).
This table is made up of six fields (columns) i.e. serial number, registration number, surname, first name,
sex and class and four records (rows).
A table is the database object that contains the basic data or information to be stored about an entity
of the database. For example, the registration of students in a school form a database called student
table which is a database entity.
33
© GBHS Dschang 2021-2022
ICT US Notes
A field or (attribute) represents one related column of a table and is the smallest logical structure of
storage in a database. It holds one piece of information about an entity or a subject represented by the
table. For example, in the above table we have the following fields; registration no, surname, firstname,
sex, and class.
A record or tuple is a collection of multiple related fields that can be treated as a unit or a record is
a row of the table for a database which contains a collection of attributes related to an entity (such as
student or a person) of the database. For example, information from the field’s registration no,
surname, firstname, sex, and class for a particular student form a record.
A query is the database tool that allows to retrieve information from one or more tables based on a
set of search conditions you define using the table fields. Queries are covered in more details later.
Forms are Access tools that users can create to make data entry in database tables easier. Entering
data directly into a table can be difficult if there is a lot of information to enter. Like an Excel
spreadsheet, an Access table is essentially a screen filled with blank rows where a user enters records.
Forms, however, provide users with an easy-to-read interface where they can enter table data.
Reports: It is an effective tool that gives you way to analyse and present data using a specific layout.
The text can be formatted in an Access report, just like it can be in Word documents.
Key field or Primary Key: it is a field or a collection of fields in a database whose value can be used
to distinguish one record from another. E.g. in the table above, registration no. can be used as the key
field.
Foreign Key: a foreign key is a column or group of columns in a relational database table that provides
link between data in two tables. It acts as a cross-reference between tables because it references the
primary key of another table thereby establishing a link between them.
NOTE: a primary key is always distinguish from the other key by a (*) on it or is underlined.
Entity: it is a single data item; persons, things, places or events (a table’s name).
NB: Typical data is logically organized as follows; characters, fields, records, files and database.
Characters are the most basic logical data elements.
File is a collection of related records. E.g. a table can be referred to as a file.
Disadvantages of database:
It requires trained personnel to design, implement, maintain and work on.
A total system failure can have a severe negative impact on the establishment.
3. Database Applications
Databases are widely use because it forms an essential part of almost all
organizations/software’s/enterprises today. Here are some representative applications: Banking,
Universities/schools, Business, Manufacturing, organizations, enterprises, government, hospitals, Facebook,
Google, Twitter, etc.
34
© GBHS Dschang 2021-2022
ICT US Notes
4. Data Type for database
A data type determines the type of data that can be stored in a column of field of a table in the database.
Although many data types are available, the followings are the most commonly used data types:
Table 2: Available Data type for database in MS Access
Remark:
A database file that consists of a single data table is called a flat-file database. Flat-file databases are
useful for certain single user or small group situations, especially for maintaining lists such as address list or
inventories. Data that is stored, managed, and manipulated in a spreadsheet is similar to a flat-file database.
Disadvantages of flat file database
Redundant data: that is repeated information in the table.
Errors on input: typographical errors occur each time is entered.
Problems with updating data
Problems with modifying data
5. Database models
A database model is a type of data model that determines the logical structure of a database. It
fundamentally determines in which manner data can be stored, organized and manipulate. The most popular
example of database model is the relational model which uses a table-based format. Other examples of
database models include: flat file model, hierarchical model, object-oriented model, network model, Entity-
relation model and multi-dimensional model.
In the ER diagram shown above the two entities are STUDENT and CLASS. Two simple attributes which are
associated with the STUDENT are Roll number and the name. The attributes associated with the entity CLASS
are Subject Name and Hall Number. The relationship between the two entities STUDENT and CLASS is
Attends.
Exercise:
36
© GBHS Dschang 2021-2022
ICT US Notes
A one-to-many relationship is where one occurrence in an entity relates to many occurrences in another
entity. For instance one manager manages many employees, but each -employee only has one manager, so it
is a one-to many (1: M) relationship.
B. Relational Model
The relational model is a lower-level model. It uses a collection of tables to represent both data and the
relationships among the data. Its conceptual simplicity has led to its widespread adoption; today a vast majority
of database products are based on the relational model. Designers often formulate database schema design by
first modeling data at a high level, using the E-R model, and then translating it into the relational model.
The software used in a relational database is called a relational database management system
(RDBMS). The relational model is based on the mathematical concept of a relation, which is physically
represented as a table.
Note: Referential integrity: It a property of a relational database that enforces valid relationships between
tables such that no foreign key can contain a value that does match a primary key in the corresponding linked
table.
i. Terminology
There are different set of terms used to designate the tables, the columns and rows of the relational model.
The following table summarized it.
A. Features of a DBMS
The features of a DBMS are as follows:
Queries: to extract data in the database using language like the Structured Query Language (SQL);
forms, reports; (see section 1 for definition)
Models define rules and standards for all data in the database
Data mining has to do with using software to search through data from many sources looking for
connections.
38
© GBHS Dschang 2021-2022
ICT US Notes
B. The main objectives 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.
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.
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.
The access that an authorized user is allowed on the data may be restricted by the operation type
(retrieval, insert, update, delete).
Increased concurrency: In some file-based systems, if two or more users are allowed to access
the same file simultaneously, it is possible that the accesses will interfere with each other, resulting
in loss of information or even loss of integrity. Many DBMSs manage concurrent data-base access
and ensure such problems cannot occur.
Improved backup and recovery services: modern DBMSs provide facilities to minimize the
amount of processing that is lost following a failure.\
Examples of DBMS are: Oracle, Postgres SQL, Sybase, MySQL, Microsoft Access, SQL, DB2, Open Office
Base, etc.
7. Database languages
A particular language that has emerged from the development of the relational model is the Structured
Query Language (SQL). Over the last few years, SQL has become the standard relational database language.
Objectives of SQL
Ideally, a database language should allow a user to:
Create the database and relation structures,
Perform basic data management tasks, such as the insertion, modification, and deletion of data
from the relations,
Perform both simple and complex queries.
Data-Definition Language:
We specify a database schema by a set of definitions expressed by a special language called a Data-
Definition Language (DDL). DDL defines the database structure and controls access to the data.
Data-Manipulation Language:
A data-manipulation language (DML) is a language that enables users to access or manipulate data as
organized by the appropriate data model. Its functions are:
The selection or retrieval of information stored in or from a table;
The insertion of new information into a table;
The deletion of information from a table;
The updating or modification of information stored in a table;
A query is a statement requesting the retrieval of information. The portion of a DML that involves
information retrieval is called a query language.
Example:
This query in the SQL language finds the name of the customer whose customer-id is 456:
select customer.customer-name; from
customer;
where customer.customer-id = 456;
39
© GBHS Dschang 2021-2022
ICT US Notes
The query specifies that those rows from the table customer where the customer-id is 456 must be retrieved,
and the customer-name attribute of these rows must be displayed.
Queries may involve information from more than one table. For instance, the following query finds the
balance of all accounts owned by the customer with customer-id 192-83-7465. select account.balance;
from depositor, account; where depositor.customer-id = 192-83-7465 and; depositor.account-number =
account.account-number;
8. NORMALIZATION
Database normalization, or simply normalization, is the process of organizing columns (attributes) and
tables (relations) of a relational database to minimize data redundancy or better still it is the process of
splitting data across multiple tables to improve overall performance, integrity and longevity.
This includes creating tables and establishing relationships between those tables according to rules designed
both to protect the data and to make the database more flexible by eliminating redundancy and inconsistent
dependency.
The initial idea of normalization was first proposed by E. F. Codd1 over 30 years ago and has been a
cornerstone of relational database design since then.
Normalization helps to determine whether our tables are structured in such a way as to avoid the update
anomalies, insertion and deletion problems. To better normalized relations, the notion of functional
dependency is used.
A functional dependency is a statement that essentially says ―If I know the value for this attribute(s), I can
uniquely tell you the value of some other attribute(s).‖
A table is in first normal form (1NF) if and only if all columns contain only atomic values, that is, each
column can have only one value for each row in the table.
Or First Normal Form (1NF): A relation in which the intersection of each row and column contains one and
only one value.
Example:
Suppose a designer wishes to record the names and telephone numbers of customers. He defines a customer
table which looks like this:
Customer
Second Normal Form (2NF): A relation is said to be in 2NF if it is in First Normal Form and every non-
primary-key attribute is fully functionally dependent on the primary key. Example: Consider a table
describing employees' skills:
Employees' Skills
Third Normal Form (3NF): A relation is said to be in 3NF if it is in First and Second Normal Form and in
which no non-primary-key attribute is transitively dependent on the primary key.
In other words, any non-primary key attributes depends only on the keys. An example of a
2NF table that fails to meet the requirements of 3NF is:
Tournament Winners
The breach of 3NF occurs because the non-prime attribute Winner Date of Birth is transitively dependent on
the candidate key {Tournament, Year} via the non-prime attribute Winner. The fact that Winner Date of Birth
is functionally dependent on Winner makes the table vulnerable to logical inconsistencies, as there is nothing
to stop the same person from being shown with different dates of birth on different records.
In order to express the same facts without violating 3NF, it is necessary to split the table into Tournament
Winners . Update anomalies cannot occur in these tables, which are both in 3NF.
41
© GBHS Dschang 2021-2022
ICT US Notes
CHAPTER 6: ALGORITHMS AND PROGRAMMING LANGUAGES
Lesson 1: Algorithms
Competences
Write out simple algorithms using: pseudo code, flow chart
Explain characteristics of algorithms.
Identify control structures in an algorithm
Select a suitable control structure in a given problem
Problem situation:
Divine wants to make a tea, but he doesn’t know how to do it. You are used to do it and he is asking for a
hand.
1) What does he need to make a tea?
2) What are the necessary steps to follow to make a tea?
I. Algorithmic concepts
1. Definition of terms
An Algorithm is a finite sequence of well-defined and precise instructions that can be used to solve a
specific problem.
Algorithmic thinking is a way of getting to a solution through the clear definition of the steps needed.
Computational thinking is a set of problem-solving method that involves expressing problems and their
solutions in ways that a computer could also execute.
Logical thinking is the act of analyzing a problem using reasoning skills and coming up with a meaningful
conclusion.
Computational complexity: is the amount of resources required to run an algorithm. (Focus is given to
time and memory requirements). The time complexity of an algorithm indicates how fast the algorithm runs.
The space complexity indicates how much memory the algorithm needs.
Example: A car travels 150km in 2h. How fast is the car moving?
Input: distance, time.
Processes: Ask for the distance and time, set the speed to: distance/time, display the speed.
Output: speed.
42
© GBHS Dschang 2021-2022
ICT US Notes
Methods usually employed when solving problems in Computer Science are Stepwise Refinement and
Top-Down Design.
Stepwise Refinement: this means replacing existing algorithmic steps/instructions with a new
version that fills in more details. When carrying out stepwise refinement, the complex problem is
broken down into a number of simpler steps which are simpler than the one required solving the
overall problem. Refinement of the steps continues in this manner until each step is sufficiently
detailed.
Top-Down Design: the goal of the top-down design is to divide a given problem into sub-
problems. A sub-problem in turn can be thought of as simply another problem and so it can be
divided into sub-problems which would be easier to solve than the original problem. The division
of the problem starts at the top level down that is why the process is called top-down design.
3. Characteristics of Algorithms
A good algorithm should have the following characteristics:
It must be explicit: i.e.be clear and obvious.
It must be precise or unambiguous: it must be specified exactly and accurately and there should
be no doubt about what to do next
It must be effective or executable: it must produce a result and there should be no impossible or
unknown steps in the algorithm
It must be finite or terminate: it must have a beginning and an end though there are some that do
not end.
Efficient: some algorithms may work correctly but be inefficient by taking more time and using
more resources (space) than required to solve the problem.
Must have an input and output
To satisfy these quality standards, one can put the following question at the time of the resolution of the
algorithm problem:
Which are the data on which the algorithm will work?
Which are the processes which it must execute to offer these services?
Which are the services which it most produce (this include respond to users request or another
algorithm)?
3. Effectiveness of a solution
There are many different solutions to the same problem so in order to consider the effectiveness of a given
solution, the following questions may be asked:
Does the solution work for all sets of data?
Does the solution have any unnecessary processes that are never used?
Are any actions repeated more often than necessary?
Can the solution be simplified and still work as well?
1. Structured English
To represent algorithms in Structured English, we simply write down the steps to follow in solving a
problem in chronological order.
Examples:
43
© GBHS Dschang 2021-2022
ICT US Notes
An algorithm to add 2 numbers and to find the An algorithm to make tea will be given as
difference
1. Get two numbers a and b; 1. Put water into the coffee machine
2. Add a and b; 2. Add tea to it
3. Subtract b in a; 3. Plug the machine to the current
4. Display the sum; 4. Wait for ten minutes
5. Display the difference; 5. Stop machine
6. Unplug it from current
7. Serve tea in a tea cup
8. Add sugar
9. Drink
2. Flow charts
A flow chart is a graphical representation of an algorithm. It uses graphic symbols to describe the nature
and flow of steps in an algorithm. Each step in a flowchart contains information about what must be done, and
the arrows show the order in which the instructions must be executed.
Symbol Name Meaning
44
© GBHS Dschang 2021-2022
ICT US Notes
Examples:
Flow Char to add two numbers
Begin Begin
end end
3. Pseudo code
A pseudo code is an outline of a computer program written in a mixture of a programming-like language
and English. Pseudo-codes help programmers write out the program in a simple clear language before
attempting to put it in a suitable programming language of their choice. Writing pseudo code is one of the best
ways to plan a computer program.
The three standards for writing good pseudo-code are:
Number each instruction or use indentation: this is to enforce the notion of an ordered sequence in
which instructions are carried out.
Each instruction should not be ambiguous but effectively computable.
Nothing should be left out.
The advantage of pseudo-code is that it allows the programmer to concentrate on how the program works
while ignoring the details of the language.
For example, here is a pseudo code outline of a program that reads two numbers and says which is greater:
Begin
Read (a, b);
If a is greater than b then;
Write (“a is greater than b”);
If b is greater than a then;
Write (“b is greater than a”);
End
The advantages of pseudo-code are:
It allows the programmer to concentrate on how the program works while ignoring the details of
the language.
It describes how an algorithm should work
It explains the computing process to less technical users.
a. Basic Structure of an algorithm
An algorithm essentially consists of 3 parts: the header, the declarative part and the body.
The Header: Simply identify the
algorithm. The algorithm can take any
name. 45
© GBHS Dschang 2021-2022
ICT US Notes
Algorithm name_of_the_algorithm
CONST name_of_constant = value
VAR name_of_variable: type
Begin
Instruction 1;
….
Instruction n;
End
A data type defines the domain in which an object gets its value and the kind of operations that can be
performed on the object. The basic data types are
Name of type Description Example of values
Integer used to store positive, negative whole 1; 50; 234; 16578; -89
number and zero
Real used to store real numbers with decimal 12; 15.57; -64.234
points both positive and negative.
Boolean used to store logic values true/false; yes/no.
Character used to store a single character, digit or ‘d’; ‘6’; ‘#’; ‘=’
special character
Strings used to store a word or phrase “nested55”; “34$5”
Constant: it is an object whose value cannot be modified in the course of the algorithm or program. A
constant is given a value that remains the same all through the program.
To declare a constant, we use the keyword CONST followed by the name and the value. The syntax is as
follows: CONST name_of_constant = value
Example declaration of equal to 3.14 as a constant.
CONST PI = 3.14
Variables and constants are characterized by:
An identifier: This is the name of the object.
A value: This is the content of the object.
A type: This defines the domain in which the object gets its value
A Literal: is anything (numbers or text) that is fixed (set) by a programmer during the creation of the
program’s code. It is usually written within double quotes. Examples “Enter a number”, “The result is”
are literals.
c. Basic Instructions
An instruction is a processing order to perform an action. The three basic instructions used in an algorithm
are input, output and assignment instructions.
46
© GBHS Dschang 2021-2022
ICT US Notes
An input instruction allows to read a value from the keyboard using the keyword “read ()”, “readln
()” or Get. The value read is saved in a variable of the same.
The syntax is: read(name_of_variable);
Example: read(a);
An output instruction allows to display an information on an output device such as monitor or printer.
We use the keyword: “write ()”, “writeln ()” or print.
The syntax is write (“What we want to display”);
Example write(“bonjour”);
The assignment or affectation instruction allows a value to be assigned to a variable. the content of a
variable can be assigned as the content of another variable. The symbols used for affectation statement
are: “←” or “:=”
The syntax is name_of_variable ← value;
Example: a ← 2; message ← “bonjour Peter”; sum ← a + b;
Incrementation/ decrementation instruction
Incrementation is the operation of adding 1 (and by extension any fixed integer value) to a
variable called a counter.
The syntax is: i ← i +1; i++;
Decrementation is the operation of substracting 1 (and by extension any fixed integer value)
to a variable called a counter.
The syntax is: j ← j +1; j - -;
47
© GBHS Dschang 2021-2022
ICT Get a, b; US Notes
Syntax: if condition then if a = 0 then Condition
instruction 1; print (“error: division by
else zero”);
instruction 2; else
end print (b/a);
Action 1 Action 2
end
Explanation: If condition1 is true, we move to condition2. If condition2 is true, then instruction 1 is executed
otherwise, instruction 2 is executed. If condition 1 is false, instruction 3 is executed. Instruction1 or instruction
2 will be executed if and only if condition 1 is true.
Case … of
Syntax: Case variable of Get day
Case 1: Instruction 1 Case day of
Case 2: Instruction 2 1: print “today is Monday”;
… 2:print “today is Tuesday”;
Case n: Instruction n ….
end 7:print “Today is Sunday”;
end
Explanation: the value of variable is evaluated, if it matches with case 1, instruction 1 is executed. If it
matches with case 2, instruction 2 is executed and so on. Case…of is a multiple selection structure. It is used
when an important number of choices are to be considered depending on the value of a variable.
iii. Repetition (iteration) Structure
The repetition (iteration) control structure executes an instruction or set of instructions many times until a
certain condition is reached or while a condition is true. Repetition structures define the order of operations
and the number of repetitions. They are also known as loops. Examples are: while…do, repeat…until,
for…to…do.
Get n
While Loop Syntax:
I←1 Initialization
While condition do While i <= n do
Instruction(s) Print ← “his is a loop”;
End while i ← i + 1; Condition
end while
Instructions 48
© GBHS Dschang 2021-2022
ICT US Notes
Explanation: The condition is evaluated, if it is true instruction(s) is/are executed. Instruction(s) is/are
executed as long as condition remains true. When the condition becomes false, the loop stops.
Repeat Loop Syntax: Get n
Repeat i ← 1;
Instruction(s) repeat Initialization
Condition
Explanation: The instruction or set of instructions is executed and the condition is evaluated. If it
evaluates to false, the instruction or set of instructions is executed again. If condition evaluates to true, the
program exits the loop.
Get n Initialization
For Loop Syntax: For i: = 1 to n do
For var ← low_limit to hi_limit do Print “this is a for loop”
Instruction(s); End For Condition
End for Or Incrementation
Or /decrementation
Get n
For var: ← hi_limit downto low limit do For i: = n down to 1 do
Instruction(s) Print “this is a for loop” Instructions
End for End For
Explanation: var (variable) is given a value low limit or hi limit depending on the loop, which is
automatically incremented or decremented (by 1) after any execution of the loop. The loop stops when low
limit becomes greater than hi_limit. In both cases, if hi_limit is less than low limit, the loop body is not
executed at all.
Remark: Some problems are recursive in nature. The solution to such problems involves the repeated
application of the solution to its own values until a certain condition is reached. Algorithms for such
problems are known as recursive algorithms.
A recursive algorithm is one that calls (invokes) itself during an execution. Examples are the Factorial
function, the sum function, and the Fibonacci function.
Recursion can be defined as the calling of a procedure by itself thereby creating a new copy of the
procedure.
Exercises
1) Write an algorithm to calculate the area of a circle.
2) Write an algorithm to solve a linear equation.
3) Write an algorithm that reads a person‘s sex and writes good morning sir if it’s male and good morning
madam if it‘s female.
4) Write an algorithm that solves a quadratic equation
____________________________________
49
© GBHS Dschang 2021-2022
ICT US Notes
Lesson 2: Programming
Competences:
Explain programming paradigms
Evaluate importance development tools: compilers, interpreters and assemblers.
Introduction
Programming or program development is the act of writing computer programs.
A computer program is a set of instructions written in a programming language that tells the computer
what to do in order to solve a problem. In other words, it is an algorithm expressed in a programming language.
2. Programming Languages
A programming language is a set of words, symbols and rules for writing computer programs.
A programming language is determined by its syntax (rules guiding the formulations of the program
statement) and semantics (it describes the meaning of the program statement i.e. it is the vocabulary of the
language).
Two categories of programming languages exist: low-level languages and high-level languages.
50
© GBHS Dschang 2021-2022
ICT US Notes
ADD R2 R0 R1 Adds registers 0 and register 1 and store result in register 2.
Advantages of low level languages
Programs are easier to write and understand when compared to machine language.
It can produce small size program.
It can produce very fast code as it allows low-level access to hardware features.
3. Language Translators
To run a program on a computer, the program needs to be translated into the machine language of the
computer on which it will run.
A language translator is a computer program that translates program instructions from one language into
another without loss of original meaning. There are three types of language translators: assembler, compiler,
and interpreter.
a. Assembler
An assembler translates instructions from assembly language into machine language. This process is called
assembling.
b. Compiler
A compiler is a computer program that translates an entire block (i.e.at once) of instructions written in a
high-level language into machine language instructions before executing it.
The high-level language program is called source code and the generated machine language program is
called object code. Types of compiled languages are Pascal, C, C++, FORTRAN, JAVA, and Python.
Advantages of a Compiler
Fast in execution
The object/executable code produced by a compiler can be distributed or executed without having
the compiler present.
The object program can be used whenever required without the need of recompilation.
Disadvantages of a Compiler
Debugging a program is much harder. Therefore not so good at finding errors.
51
© GBHS Dschang 2021-2022
ICT US Notes
When an error is found, the whole program has to be re-compiled though compilation process is so
fast.
c. Interpreter
An interpreter is a computer program that translates and executes instructions written in a high-level
language into machine language instructions one line at a time. If a program performs a section code 1000
times, then the section is translated into machine code 1000 times since each line is interpreted and then
executed. Types of interpreters: BASIC, Lisp, Logo, etc.
Advantages of an Interpreter
Good at locating errors in programs since interpretation is done line by line.
Debugging is easier since the interpreter stops when it encounters an error.
If an error is corrected, there is no need to retranslate the whole program.
Disadvantages of an Interpreter
It is slow as interpretation is done line by line.
Translation has to be done every time the program is to be executed since no object code is
produced.
For the program to run, the interpreter must be present.
a. Key Words
Any high-level language has its own set of predefined words which are used to write programs. Each of
these words has a specific meaning, and cannot be used for any other purpose within the programming
language IDE. These words are known as key words or reserved words.
A reserved word is a key word in a programming language that has a specific meaning and cannot be used
for any other purpose. E.g. If, Else, For, To and goto.
52
© GBHS Dschang 2021-2022
ICT US Notes
b. Operators
Operators are used to perform various operations on data. They may be arithmetic, relational or logical.
Arithmetic operators are +, -, *, %, ++ and -- and /. Relational operators include <, >, ==, <=, >= and !=. Logic
operators are NOT (!), AND (&&) and OR (||).
7. Programming paradigms
It is a fundamental style and methodology of computer programming. There are: imperative (procedural),
declarative, and object oriented Paradigms.
Imperative Paradigm: It is also known as procedural programming paradigm. It uses sequences of
instructions that are executed by the processor in the order the programmer designed. Imperative
programming manipulates variables and data structures/types stating how to obtain the results.
Examples: C, Pascal, FORTRAN, Ada, etc.
Declarative Paradigm: Made up of logic Paradigm and Functional Paradigm. Its control flow is
implicit i.e. the programmer states only what the result should look like not how to obtain it.
Logic paradigm is a programming process that consists of a set of facts and rules (axioms) describing
properties of a certain objects and theorems to be proved. E.g. Prolog, Mercury. Prolog and Mercury
are fifth generation language also called Natural Languages.
Functional programming paradigm: Here a program development is the construction of
mathematical functions. E.g. Lisp, Mathematical, etc.
Object Oriented Paradigm (OOP): Here software is viewed as a collection of units called objects
which receive messages each of which is capable of performing the actions that are immediately
related to it as well as requesting actions of other objects. Objects respond to messages by performing
operations called methods. Together, these objects interact to solve the problem. E.g. design of
graphical user interface using C++, Python, Perl, Java.
53
© GBHS Dschang 2021-2022
ICT US Notes
Lesson 3: Introduction to C Programming Language
Competences
Develop simple code fragments from algorithms using a standard C programming language
Compile and run the programs
Assess the program developed for correctness of solution using language tools: debug, run,
Introduction
C is a very powerful all-purpose programming language mostly used in creating OSs and more
sophisticated programs.
C is one of the oldest programming languages and the most widely used, it was developed in the 70s, but
it is still very powerful. Learning C is a great way to introduce yourself to more complex languages as well,
and the knowledge you gain will be useful in almost every programming language and can help you get into
application development.
1. Why to use C?
C was initially used for system development work in particular the programs that make-up the operating
system. C was adopted as a system development language because it produces code that runs nearly as fast as
code written in assembly language. The modern version of C is Objective C & C++.
Some examples of the use of C might be: Operating Systems, Language Compilers, Assemblers, Text
Editors, Print Spoolers, Network Drivers, Modern Programs, Databases, Language Interpreters, and
Utilities.
3. Reserved/Key words in C
These are words that should not be used as an identifier to define variables or functions in a program.
void Used to indicate that a function takes no arguments or returns no value
Data structures-
related
typedef Used to associate a type with an identifier
const Used to declare constants
char, int, float, double Simple data types
struct Used to create a record data structure
Selection
if test a condition and perform a set of instructions based on the result
else used in if statement to provide an execution path when the if test fails
The switch statement tests the value of a expression and test with the different
switch, case and
"case" values. We can use "default" value, if it doesn't matches any of "case"
default
values.
break Used to jump out of the innermost enclosing loop or switch statement
continue Used to skip the statements that follow continue inside the loop
Operators
sizeof Determines the number of bytes of an object
54
© GBHS Dschang 2021-2022
ICT US Notes
return Used to terminate the execution of a function
Used to terminate the execution of a function and returns the value val to the
return val calling
function
Loops-related
for Used in a for loop
do Used in a do… while loop (equivalent to repeat..until loop in Pascal
while Used in a while loop
Constant values
null pointer value indicating the pointer does not contain a value
The # inc l ude < s tdi o.h> It is a preprocessor command which tells a C compiler to include stdio.h
file before going to actual compilation and also loads libraries that contain the functions you need.
In this example, s t di o. h lets us use the pri nt f() and system( ) functions.
The i nt mai n() command tells the compiler that the program is running the function called "main"
and that it will return an integer when it is finished. All C programs run a "main" function.
The braces { } indicate that everything inside them is part of the function. In this case, they denote
that everything inside is a part of the "main" function.
/* …. */ : is comment and is ignored by the C compiler , to comment in C place / * at the start of the
comment and * / at the end.
The pri ntf () function displays the contents of the parentheses on the user's screen. The quotes
ensure that the string inside is printed literally. The \n sequence tells the compiler to move the cursor
to the next line.
The “ ; ” denotes the end of a line. Most lines of C code need to end with a semicolon.
The system (“pause”) or ge tc h ar () command tells the compiler to wait for a keystroke input
before moving on. This is useful because many compilers will run the program and immediately
close the window. This keeps the program from finishing until a key is pressed.
The re tur n () command indicates the end of the function.
Remark: Comments are part of the code that is not compiled but allows you to explain what is happening.
This is useful for reminding yourself what your code is for and for helping other developers who might be
looking at your code.
5. Using Variables
Variables allow you to store data either from computations in the program or from user input. Variables
need to be defined before you can use them and there are several types to choose from.
55
© GBHS Dschang 2021-2022
ICT US Notes
Some of the more common variables types in C programming include i nt , c h a r, and fl o a t. Each one
stores a different type of data.
Note: you can declare multiple variables on the same line as long as they are of the same type. Simply
separate the variable names with commas.
Like many lines in C, each variable declaration line, instruction line needs to end with a semicolon.
Variables must be declared at the beginning of each code block (The parts of your code that are enclosed
in {} brackets). If you try to declare a variable later in the block, the program will not function correctly.
Example 1
#include <stdio.h>
int main()
{
int x;
printf("Enter a number: ");
scanf("%d", &x);
printf("You entered %d", x);
system("PAUSE");
return 0;
56
© GBHS Dschang 2021-2022
ICT US Notes
}
The " %d" string tells sc a nf to look for integers in the user input.
The & before the variable x tells s c an f where to find the variable in order to change it, and stores the
integer in the variable.
The final pr in tf command display the inputted integer to the user.
Example 2:
1. /*this program computes the dimensional weight of a box*/
2. #include<stdio.h>
3. Int main (void)
4. {
5. Int height, length, width, volume;
6. Float weight;
7. Printf (“enter the length of box: ”);
8. Scanf (“%d”, &length);
9. Printf (“enter the width of box: ”);
10. Scanf (“%d”, &width);
11. Printf (“enter the height of box: ”);
12. Scanf (“%d”, &height);
13. Volume = length*width*height;
14. Weight = (volume+165)/166;
15. Printf (“volume (cubic inches) : %d\n”, volume);
16. Printf (“dimensionalweight (pounds) : 2f\n”, weight);
17. Return 0;
18. }
1 A comment describing what the program does and is ignored by the compiler.
3 The main function starts the execution of the program. The keyword ‘int’ indicates the
return type is an integer. Also the keyword ‘void’ indicates that the function takes no
arguments.
4, 18 The braces each indicate where the body of the program begins and ends respectively.
They can also be use to group statements.
5, 6 Define the type of data that each variable i.e. height, length, width, volume and weight
will hold. Here we have integers and float (decimal numbers)
7, 9, 11 Printf statement: it causes the message ‘enter length, width, and height of box” to be
displayed on the console screen.
57
© GBHS Dschang 2021-2022
ICT US Notes
8, 10, 12 Scanf statement: it reads input and stores it in the specified variable. %d indicate s that
the input is a decimal integer, %f; input is a floating point number, %s input is a string.
The ‘&’specifies the location where the variable is stored.
13, 14 Computations
15, 16 Printf displays the values of the numeric expressions volume and weight as integers
and floating point numbers respectively. For the weight, ‘2f’ specifies that the value
printed will have just 2 digits after the decimal point. The ‘\n’ character tells printf to
move the cursor to the beginning of a new line.
17 Indicates that the main function terminates and the program returns the value ‘0’ to the
O.S. when it terminates or returns a value to the user.
Operators Description
== Equality. The result is true if both operands are equal, and false otherwise
!= Not equal. The result is true if operands are not equal, and false if they are equal
Greater than. The result is true if the left operand is greater than the right
>
operand and false otherwise.
Less than. The result is true if the left operand is less than the right operand,
<
and false otherwise.
Greater than or equal to. The result is true if the left operand is greater than or
>=
equal to the right operand, and false otherwise.
Less than or equal to. The result is true if the left operand is less than or equal
<=
to the right operand, and false otherwise.
Logical operators:
These operators perform logical operations on their operands; the result is a true or false
58
© GBHS Dschang 2021-2022
ICT US Notes
Operators Descriptions
The AND operator.
&& In C, the result is true if both operands are non-zero, otherwise the result is false.
In Pascal, the result is true if both operands are true, otherwise the result is false.
The OR operator.
In C, the result is true if any of the two operands is non-zero, otherwise the result is
||
false.
In Pascal, the result is true if any of the two operands is true, otherwise the result is false.
The NOT operator. Used to reverses the logical state of its operand. If a condition is true
!
then the NOT operator will make false
Operators Descriptions
Simple assignment operator. Assigns the value of the right hand side expression to the
left hand side operand Statements involving the assignment operator may look
= mathematically incorrect.
Examples: c = c + 5; (in C) or c := c + 5; (in Pascal) should be interpreted as follows:
Assign to variable c a value which is the same as the old value of c, plus 5.
These C operators perform an arithmetic operation, then assign the result to the left
+=,-=,*=, operator.
/=, %= Example, += (add AND assignment operator) adds right operand to the left operand
and assign the result to left operand. Hence, c += 5 is equivalent to c = c + 5;
59
© GBHS Dschang 2021-2022
ICT US Notes
getchar();
}
Use ELSE/ELSE IF statements to expand your conditions.
You can build upon IF statements by using ELSE and ELSE IF statements to handle different results. ELSE
statements run if the IF statement is FALSE. ELSE IF statements allow you to include multiple IF statements
into one code block to handle various cases. See the example program below to see how they interact.
#include <stdio.h>
int main()
{
int age;
printf("Please enter your current age: ");
scanf("%d", &age);
if ( age <= 12 ) {
printf("You're just a kid!\n");
}
else if (age < 20) {
printf("Being a teenager is pretty great!\n");
}
else if (age < 40) {
printf("You're still young at heart!\n");
}
else {
printf("With age comes wisdom.\n");
}
return 0;
}
The program takes the input from the user and takes it through the IF statements. If the number satisfies
the first statement, then the first pri nt f statement is returned. If it does not satisfy the first statement, it is
taken through each ELSE IF statement until it finds one that works. If it doesn't match any of them, it goes
through the ELSE statement at the end.
9. Loops
Loops are one of the most important aspects of programming, as they allow you to repeat blocks of code
until specific conditions are met. This can make repeating actions very easy to implement, and keeps you from
having to write new conditional statements each time you want something to happen.
Loops use what is known in C as Increment and Decrement. The unary operator ++, --, is used to
increment and decrement which acts upon single operand. Increment operator increases the value of variable
by one. Similarly, decrement operator decreases the value of the variable by one. These operators can only be
used with the variable but can’t be used with expression ++(x+y+z) or constants ++6.
There are three main types of loops: FOR, WHILE, and DO...WHILE.
In the above program, y is set to 0, and the loop continues as long as the value of y is less than 15. Each
time the value of y is printed, 1 is added to the value of y and the loop is repeated. Once y = 15, the loop will
break.
Use a WHILE loop.
WHILE loops are more simple than FOR loops. They only have one condition, and the loop acts as long as
that condition is true. You do not need to initialize or update the variable, though you can do that in the main
body of the loop.
#include <stdio.h>
int main()
{
int y=0;
while (y <= 15){
printf( "%d\n", y );
y++;
}
getchar();
}
The y++ command adds 1 to the y variable each time the loop is executed. Once y hits 16 (remember, this
loop goes as long as y is less than or equal to 15), the loop breaks.
Use a DO...WHILE loop.
This loop is very useful for loops that you want to ensure run at least once. In FOR and WHILE loops, the
condition is checked at the beginning of the loop, meaning it could not pass and fail immediately. DO...WHILE
loops check conditions at the end of the loop, ensuring that the loop executes at least once.
#include <stdio.h>
int main()
{
int y;
y = 5;
do {
printf("This loop is running!\n");
} while ( y != 5 );
getchar();
}
This loop will display the message even though the condition is FALSE. The variable y is set to 5 and the
WHILE loop is set to run when y does not equal 5, so the loop terminates. The message was already printed
since the condition is not checked until the end.
_________________________________________________________________
61
© GBHS Dschang 2021-2022
ICT US Notes
CHAPTER 7: PROJECT MANAGEMENT
Competences:
Explain the concept of a project.
Explain project management terms: earliest start time, earliest finish time, slack time, lag time,
float time, milestone, event, task, critical task, etc.
Outline project management tools, techniques and models
Use project management tools to facilitate the execution of projects: Gantt and PERT charts
Introduction
A typical project starts with someone having an idea and documenting the idea on paper. Projects usually
go through a number of phase’s i.e. well-defined beginning, intermediaries and an end. There are classified
according to size and duration whereby:
Medium projects have a small size and small time frame.
Small projects have duration of more than one month.
Large projects have duration of more than one year.
The duration of a project is determined by its complexity. A project starts when at least one of its activities
is ready to start. A project is completed when all of its activities have been completed. A project should have
some ‘deliverables’ for ease of monitoring.
Often program and project are used interchangeably, but nominally, a program is a larger concept than a
project. A Program is a set of related Projects. Example the space shuttle program consists of many flights
which are each separately managed projects. This chapter is focused on PROJECTS.
1. Definitions
A project is a planned process to achieve a specific objective through a well-defined set of activities,
budget and time frame.
Project Management (PM) is a combination of techniques, procedures, people, and systems focused on
the successful completion of a project. It is also a discipline that will support the planning, implementation,
tracking, and control of projects.
Project management program permits the user to identify tasks, task relationships, resources, and time
requirements of a project. The constraints of a PM are: Scope, Time and Budget. The forth constraint is
Quality which is the core of each and every project.
62
© GBHS Dschang 2021-2022
ICT US Notes
Programming computer software or an App or web site.
Setting a computer network.
Creating an IS.
Constructing a bridge, house, and road.
Setting up a business, etc.
Benefits of teamwork
Maximize strength of each member;
63
© GBHS Dschang 2021-2022
ICT US Notes
Increase in productivity and product quality and also decrease in the cost of production;
A balance work load as each member can help each other;
Can blame your teammate if the project goes bad;
Encouragement of skills, knowledge sharing and fast learning;
Education of group members on tolerance and understanding.
Disadvantages of teamwork
Never gets enough credit when the project goes well;
Not all members will have the same strengths and weaknesses;
Tasks/work not undertaken on time by some members can let the team down;
Conflicts in ideas can cause tensions and personality clashes can cause issues too;
Opposing views can cause arguments.
64
© GBHS Dschang 2021-2022
ICT US Notes
revert to the project planning phase and adjust the scope to match the new required deliverables. Its activities
include:
Measuring the ongoing project activities.
Monitoring the project variables (e.g. cost, effort, scope) against the project management plan and
the project performance baseline (where we should be).
Identifying corrective actions to address issues and risks properly (that is how can we get on track
again).
Where we are Where we planned to be?
(Measurement) (Evaluation)
Project maintenance is an ongoing process and it includes continuing support of end-users, correction of
errors, and updates of the software.
Initiating
Planning
Closing
65
© GBHS Dschang 2021-2022
ICT US Notes
a. PERT chart
The term PERT stands for Program Evaluation and Review Technique.
A PERT chart is a project management tool used to schedule, organize, and coordinate tasks within a project.
A PERT chart represents a graphic illustration of a project as a network diagram or flow chart consisting of
numbered nodes (either circles or rectangles) representing events or milestones in the project linked by labeled
vectors (directional lines) representing tasks in the project.
Project managers can use PERT charts to:
Set a realistic timetable for project completion.
Make sure focus is maintained on the most critical tasks for the critical path – since the path leads
to the minimum time the project requires, any delays to these tasks will result in a delay to the
overall project.
Identify tasks that need to be shortened if the overall project time needs to be reduced.
Identify tasks that can be carried out simultaneously.
Identify slack time where certain tasks are not as time-critical to the overall deadline.
i. PERT Node
A PERT node is as follows and is use in drawing the PERT network diagram.
66
© GBHS Dschang 2021-2022
ICT US Notes
Task: this is any activity that consumes resources such as time and manpower.
Super task: one or more activities that no subtask can begin until the super task has begun and the
super task cannot end until all the subtasks have ended.
Examples:
An OS is a super task because for a computer to work, it must be loaded in the RAM first before
subtasks like Applications software’s can be able to start.
In the construction industry, foundation and especially walls are the super tasks for it most start
before other subtasks like piping, wiring, plastering, and painting can be done.
Critical task: a task that must be completed on schedule for the project to finish on time.
Path: a set of sequentially connected activities in a project.
Critical path: a critical path is a series of tasks that must be completed on time for a project to
finish on schedule. Each task on a critical path is a critical task.
Lag: describes a delay in the link between a predecessor and a successor task. It tells the logical
relationship between the start and or finish of one activity and the start and or finish of a following
activity.
Lag time: it is the amount of time delay between the completion of one task and the start of its
successor task. A negative value against a lag is known as a lead.
Slack time: it is the amount of time an activity can be delayed from its early start without delaying
the project finish date. Also known as float time.
Floating task: a task that can be performed earlier or later in the schedule without affecting the
project duration.
Lead: a lead is observed when a task that should theoretically wait for its predecessor to finish
starts a little earlier.
Lead time: it the time that a successor is allowed to start before its predecessor goes to completion.
Duration (D): it is the number of days (or hours) it will take to complete a task.
Early Finish date (EF): this is the earliest date that a task can be completed. The EF duration of
the last task(s) is the total duration of the project.
For any one task, EF = ES + Duration.
Early Start date (ES): is the earliest date on which a given task can start.
Effort: it is the number of labor units required to complete an activity or other project element.
Free Float or Slack Time (FF) or (ST): the amount of time an activity can be delayed without
delaying the ES date of any immediate successor activity. It can be calculated as follows:
FF = LS – ES or FF = LF - EF
Late Finish date (LF): is the last date a task can be completed without delaying the project. Equals
the EF of the last task(s).
Late Start date (LS): is the last date a task can be start without delaying the project. Calculated
as follows: LS = LF – Duration.
Dependency: a dependency between two tasks says that these two tasks are linked. The most
common kind of dependency is finish-to-start. This means that task A must be finished before task
B can start.
Fast tracking: it is performing more critical activities in parallel.
Risk: it is an event which has a probability of happening and whose effect may adversely impact
the project.
Forward pass: is a calculation performed on each task determining its early start date and early
finish date.
67
© GBHS Dschang 2021-2022
ICT US Notes
Backward pass: is a second calculation for each task on the project starting on the project finish
date and working backwards to the first task. It calculates the late finish date and late start date of
each task.
Total project duration: it is the length of time the whole project will take, all tasks start to finish
as calculated by the forward pass. It equals the length of the critical path.
Project finish date: is the number of days a project will finish.
Milestone: a significant event in the project usually the completion of a major component.
Example 1:
The following table shows the expected duration of each task. The task dependencies are shown.
68
© GBHS Dschang 2021-2022
ICT US Notes
69
© GBHS Dschang 2021-2022
ICT US Notes
b. Gantt chart
A Gantt chart is a graphic display of a schedule that helps to plan, coordinate, and track specific tasks in
a project. It was developed in 1918 by H.L. Gantt. In a Gantt chart, activities are listed down the left side of
the chart, dates are shown across the top, and planned activity durations are shown on horizontal bars.
It is a tool which enables project managers organizes time, people, equipment, and money. Allows
managers to monitor the progress of a project and ensures the right people and equipment are in the right place
and the right time. It can be created using Spreadsheet.
The time relation of all tasks to each other (for example, tasks carried out simultaneously) is therefore
clearly apparent in a Gantt chart. Unlike PERT charts, GANTT charts do not show the critical path, however,
dependencies between tasks can be indicated by lines linking tasks.
Task 1 has no predecessors, and can thus start on 12 June. The Gantt chart shows the task as a box starting
on 12 June and finishing on 13 June on the horizontal access. Task 2 requires Task 1 to be completed, and the
duration is three days, so the box covers the dates 14 to 16 June. The line from the finish of Task 1 to the start
of Task 2 indicates the dependency. Note that Tasks 4, 5 and 8 all require Task 3 to be completed, and have
no other dependencies, so these all start on the same date. The chart below show all seven days of the week,
but often, weekend days are excluded.
70
© GBHS Dschang 2021-2022
ICT US Notes
71
© GBHS Dschang 2021-2022
ICT US Notes
5- Evaluation (what problems did you encounter? How did you solve them?)
Breakdown Structure: These are structures that are commonly associated with project management. There
are Work Breakdown Structure, Product Breakdown Structure, and Hybrid Breakdown Structure.
Work Breakdown Structure (WBS)
WBS helps in;
Identifying the main activities and the independent activities.
Break each main activity down into sub-activities which can further be broken down into lower
level sub-activities and should be in hierarchical order. WBS is the foundation of project planning.
It is developed before dependencies are identified and activity durations are estimated. It contains
a list of activities for a project derived from…Previous experience and Expert brainstorming.
Disadvantage
May miss some activities related to final product.
72
© GBHS Dschang 2021-2022
GENERAL CERTIFICATE OF EDUCATION (GCE) BOARD
INSTRUCTIONS TO CANDIDATES
Read the following instructions carefully before you start answering the question in this paper. Make sure
you have a soft HB pencil and an eraser for this examination.
1. USE A SOFT HB PENCIL THROUGHOUT THE EXAMINATION.
2. DO NOT OPEN THIS BOOKLET UNTIL YOU ARE TOLD TO DO SO.
Before the examination begins:
3. Check that this question booklet is headed “0796 Information and Communication technologies 1”.
4. Fill in the information required in the spaces above.
5. Fill in the information required in the spaces provided on the answer sheet using your HB pencil:
Candidate Identification Number and Name, Centre Number and Name.
Take care that you do not crease or fold the answer sheet or make any marks on it other than those asked
for in these instructions.
How to answer the questions in this examination
6. Answer ALL the 50 questions in this Examination. All questions carry equal marks
7. Electronics calculators are not allowed
8. Each question has FOUR suggested answers: A, B, C and D. Decide which answer is appropriate. Find
the number of the question on the Answer Sheet and draw a horizontal line across the letter to join the
square brackets for the answer you have chosen.
For example, if C is your correct answer, mark C as shown below:
[A] [B] [C] [D]
9. Mark only one answer for each question. If you mark more than one answer, you will score a zero for
that question. If you change your mind about the answer, erase the first mark carefully, then mark your
new answer.
10. Avoid spending too much time on any one question. If you find a question difficult, move on to the next
question. You can come back to this question later.
11. Do all rough work in this booklet using the blank spaces in the question booklet.
12. At the end of the examination, the invigilator shall collect the answer sheet first and then the question
booklet. DO NOT ATTEMPT TO LEAVE TO LEAVE THE EXAMINATION HALL WITH IT.
73
© GBHS Dschang 2021-2022
1. Which of the following components of the 9. Which of the following best describes mono
computer can be used as both input and output tasking operating system?
device? A The operating system is designed for a
A Digital keyboard particular program
B Digital versatile disk B Only one user is allowed to use the system
C Visual display unit C Only one program can run at a time
D Laser printer D Only one program can run in that system
2. Which of the following is NOT true about 10. The result of the arithmetic operation
databases? 1001101+111000 in binary is:
A Information sharing A 11000101
B Security of information B 11100101
C Data integrity C 10000101
D Increase data redundancy D 11110101
3. Which of the following is NOT a project 11. The information system that does NOT generate
management technique? any organized information is:
A PERT chart A DSS
B GANTT chart B MIS
C CPM C TPS
D SDLC D EIS
4. If the implementation of a new system is tried out 12. A stepwise refinement approach in system
only in a part of the organization, it is described development is used in:
as: A Outsourcing
A Pilot implementation B Prototyping
B Phased changeover C Rapid application development
C Piecemeal changeover D Waterfall method
D Parallel implementation
13. One major benefit of using barcode is
5. Optical storage devices employ: A It provides detailed information on all key
A Ultraviolet light aspects of the product
B Electromagnetic fields B It provides the selling price of the product
C Optical couplers C It provides the identity of the shop
D Laser beans D It provides the name of the product
6. The speed of the processor of an android phone is 14. The interactive transmission of data within a time
measured in terms of: sharing system may be best suited by:
A Nano Hertz A Simplex lines
B Pico Hetz B Half duplex lines
C Mega Hetz C Full duplex lines
D Kilo Hetz D Duplex lines
7. Encryption and decryption provides 15. A code written by a programmer is called:
confidentiality but NOT: A Source code
A Privacy B Syntax code
B Authentication C Object code
C Integrity D Instruction code
D Patent Right
16. A cash dispense which can also give a report of
8. The transmission mode between a radio transmitter the current balance in a customer’s account is an
and a receiver is known as: example of:
A Asynchronous A Real time processing
B Synchronous B Batch processing
C Simplex C Time sharing processing
D Full duplex D Multitasking processing
17. Convert the decimal number 345 to binary.
A 101110011
B 101010101
C 110001101
D 101011001
74
© GBHS Dschang 2021-2022
18. Which of the following registers carries the address 26. The System development model that does NOT
of the next instruction to be executed by CPU? allow overlapping of phases is called:
A Instruction register A Waterfall model
B Accumulator B Spiral model
C Memory bus register C V shape model
D Program counter D Iterative model
19. The importance of a query in a DBMS is: 27. A URL is the full address for an internet resource.
A Extract specific information stored in one What does it specify?
or more tables based on a given criterion. A The provider of the resource
B Provide user friendly interface to edit B The location of the resource
information on tables C The access rule of the resource
C Provide interface to enter information to D The identity of the user of the resource
specific records
28. System evaluation and feedback are key features
D Link information from several tables into
of what phase of the SDLC?
one A Implementation
20. A suitable information system for sales persons is: B Maintenance
A MIS C Design
B EIS D Analysis
C GIS
D TPS 29. The IF-THEN is an example of a/an
A Sequential statement
21. A tool used in SDLC to model a new system from B Repetition statement
a logical point of view is: C Selection statement
A Data flow diagrams D Iterative statement
B Flow chart
C PERT chart 30. How many DVDs of size 8GB capacity can be
D Simulation used to backup an 8 terabyte external hard disk?
A One thousand
22. Which of the following is a step used in software B One million
development by prototyping? C One billion
A Identify basic requirements of software D One trillion
B System analyst makes logical appraisal
C Collection of data about the old system 31. Which of the following is NOT commonly
D Purchase of hardware needed. associated with online learning?
A Lecture notes
23. A precise report generated by an MIS to call for B White board
attention of an unusual event to alert managers is C Calendar
called: D E-mail
A Periodic report
B Exception report 32. Which of the following programming languages
C Demand report is NOT machine independent?
D Summary report A Assembly language
B C programming Language
24. The performance of a computer is mostly C Pascal programming Language
determined by: D JAVA programming language
A The Speed of the operating system and
memory size 33. A type of virus that replicates itself within a
B The Speed and the number of system overload the system resources is:
input/output in can handle A Worms
C The processor speed and memory size B Trojans
D The size of the BIOS and memory size C Adware
D Spyware
25. The general form of the IF statement is:
34. Which of the following is NOT a mobile operating
A IF <condition> DO <statement> system?
B IF <condition> THEN <statement> A IOS
C DO <condition> UNTIL <statement> B Android
D IF <condition> DO <statement> C Opera Mini
D Windows
35. From the Gantt chart, one cannot easily identify:
75
© GBHS Dschang 2021-2022
A When tasks are to begin and end 44. A device that links several devices to a common
B Which tasks are occurring simultaneously channel:
C Which tasks are dependent on others A Access point
D The cost of executing each tasks B Switch
36. Which of the following can be used to validate a C Bridge
designed algorithm? D Route
A Test data 45. When part of a table depends on a field in the table
B Output that is not the table’s primary key, it is known as:
C Processes A Transitive dependency
D Constants
B Partial dependency
37. A software licence that makes the source code
C Pre-relational dependency
available to anyone who wants to modify is:
A A freeware D Foreign key
B A shareware 46. When one of the following filing systems is
C An open source commonly associated to 64 bits operating
D A trial software system?
38. Which of the following is a risk associated to cloud A eFAT
computing? B NTFS
A Automatic updates C FAT64
B Enhanced mobility D FAT32
C Easy exposure data 47. A utility that optimizes the hard disk by putting
D Scalability some file content in a contiguous area is:
39. Data is represented in CD-ROMs by A Disk clean up
A Switches B Disk defragmenter
B AND and OR gates C Disk restore
C 0’s and 1’s D Disk compression
D Pits and lands 48. An Application used by programmers to create
40. Which of the following is a limitation of source code, debug a code and manage the
E-commerce? program is known as:
A Products can be sold at cheap prices A Compiler
B It needs a small number of staff B Interpreter
C Specialised software are needed C Editor
D It does not need huge office space D Integrated development Environment
41. The principle of Data Protection Act (1998) 49. Which of the following is NOT an internet
connection option for mobile device?
A Data should be processed immediately
A 4G
B Data should be valuable
B WiFi
C Data should not be stolen
C Android
D Data should be kept up to date
D Wimax
42. Which of the following is NOT a basic
50. The use of online tutorial lessons to prepare for
requirement to set up online communication?
examinations is known as
A A computer
A E-learning
B A modem
B Computer aided learning
C A telephone
C Distance learning
D A web camera D Electronic studies
43. Arrange in order fastest to slowest access time:
A Tape-cache-main memory-registers
B Registers-cache-main memory-magnetic
Tape NOW GO BACK AND CHECK YOUR WORK
C Main memory-cache-Tape-registers
D Cache-registers-Tape-main memory
76
© GBHS Dschang 2021-2022
CAMEROON GENERAL CERTIFICATE OF EDUCATION (GCE) BOARD
General Certificate of Education Examination
All questions carry 17 marks each. For your guidance, the approximate mark for each part of question is
indicated in the brackets
You will be marked on your ability to use good English, to organize information clearly and to use specialist
vocabulary where appropriate.
In calculations, you are advised to show the steps in your working, giving your answer at each stage.
77
© GBHS Dschang 2021-2022
1.(i) State and explain one major use of the internet which is peculiar to each of the following fields.
(a) Film industry (2marks)
(b) University (2 marks)
(c) Telemedicine (2 marks)
(ii) (a) Briefly explain the difference between simulation and prototyping. (2 marks)
(b) Describe two domain where each of the following is used.
Simulation (2 marks)
Geographical Information System (GIS) (2 marks)
(iii) (a) In relation to an information system, what is a stock control system? (1 mark)
(b) Give two advantages of using a stock control system. (2 marks)
(c) State two main features of an expert system. (2 marks)
2.(i) (a) Explain how the main memory is used during the machine cycle. (2 marks)
(b) State two ways of improving the performance of a CPU. (2 marks)
(c) What is an embedded system? (2 marks)
(d) Describe two uses of an embedded system. (2 marks)
(ii) (a) Using diagrams differentiate between bus topology and mesh topology. (4 marks)
(b) What is fault tolerance of a network? (1 mark)
(c) Between bus topology and mesh topology, which is more faults tolerant?
Give reasons for your answer. (2 marks)
(iii) Define the following data security measures.
(a) Data Integrity (1 mark)
(b) Data Confidentiality (1 mark)
(c) Data encryption (1 mark)
78
© GBHS Dschang 2021-2022
4.(i) Briefly explain the following security terms. In each case, identify a method used to prevent it.
(a) Cyber terrorism (2 marks)
(b) Software piracy (2 marks)
(c) Identity theft (2 marks)
(ii) Computer users will often store data “in the cloud”.
(a) State three advantages of cloud storage over local storage (3 marks)
(b) Give two disadvantages of using cloud storage. (2 marks)
(iii) The first De Morgan’s Law states that = + .
(a) State the second De Morgan’s law. (1 mark)
(b) Copy and complete the truth table below and use it to proof the above laws.
x y +
0 0
(5 marks)
0 1
1 0
1 1
5.(i) The ministry of finance intends to develop an information system that will enable citizens check
their fiscal situation and pay taxes online.
(a) What is the name of such an electronic service? (1 mark)
(b) State two other services that can be available to citizens on this platform. (2 marks)
(c) Describe one advantage and one limitation of this platform. (2 marks)
(ii) Describe two activities carried out in each of the following E-services
(a) E-commerce (2 marks)
(b) E-banking (2 marks)
(iii) The diagram below is used by a project manager to control an ICT project.
Tasks
1 5 10 Months
Determine:
(a) The critical path. (1 mark)
(b) Two dependent tasks. (1 mark)
(c) The activities that can be carried out concurrently. (1 mark)
(d) The slack time of D. (1 mark)
(e) Two functions of a project manager. (1 mark)
(iii) A file is specified in a computer by the file name and an extension:
(a) What does the file name represent? (1 mark)
(b) How does the extension help in the file management? (1 mark)
79
© GBHS Dschang 2021-2022
6.(i) The SDLC is used to develop and implement an information system.
(a) State three activities in the analysis phase of the SDLC. (3 marks)
(b) Describe two conversion methods used to implement a system
For one of the methods given above, state one advantage and one disadvantage. (4 marks)
(c) Explain why feedback is important in the maintenance phase of the SDLC. (1 mark)
(d) Why is documentation necessary in each phase of the SDLC? (1 mark)
(ii) (a) Describe three functions of an operating system. (3 marks)
(b) Name and explain two types of operating system. (2 marks)
(iii) Describe two advantages and one disadvantage of using UNICODE instead of ASCII. (3 marks)
80
© GBHS Dschang 2021-2022
REGISTRATION CENTRE NUMBER CENTRE NAME
TWO HOURS
Day 1
Enter the information required in the shaded boxes.
Do not write in pencil
You are reminded of the necessity for good English and orderly presentation in your answers.
Your results must be recorded in the spaces provided in this question booklet. Candidates must allow for
themselves enough time to complete and check their work where these are required.
The supervisor will guide you on how to save your files but usually you will be expected to save all your work in
one folder named Candidate folder that will be created in your desktop
When an imperative programming language is required to write program code, either Standard | ISO| Pascal or
|ANSI| C programming language may be used.
You should ensure all your work is collected and printed before leaving the examination room. All printed work
should be inserted in this booklet and well stapled.
CAREFULLY HANDLE ALL EQUIPMENT PUT AT YOUR DISPOSAL to avoid accidents that may lead to a disaster or
system failure. Report any case of system or device malfunction to your supervisor.
Answer ALL TASKS
Turn Over
FOR EXAMINERS’ USE ONLY
SCORE
Marked by: ………………………………………..................................
Signature: ……………………… Date …………………
81
© GBHS Dschang 2021-2022
Task A: Databases (21 marks)
A car dealer has 10 brokers (middle men who look for buyers) in his shops in the towns of Douala, Kumba,
Buea and Bamenda.
Part of his information about the sales of his cars is found in a workbook named Trans-Business found in
the Candidate Folder. This workbook contains two sheets named Broker and Sales. The personal
information of the brokers is stored in the sheet named Broker while the transaction carried out by the
brokers is recorded in the sheet named Sales.
The table below shows the description of the cars found in the car shops in the four towns.
Table 3: Cars
CarCode CarName UnitPrice
AB1 Toyota Avensis 2500000
CD2 Toyota Corolla 2300000
M41 BMW Picnic 2625000
AB2 Mercedes 220 1800000
NS3 Mercedes 300 3000000
CarCode
CarName
UnitPrice
4. Import the two tables (one after the other) from the Trans-Business workbook into the database.
The Trans-Business workbook is found in the candidate folder.
[Hint: Right click on a table name in the object pane and select Import → Excel. Using the wizard, browse to
the Excel workbook. Use the first row of each table as the field names. Ensure that no extra columns or rows
are added to each of the tables, else delete such columns and rows after the import]. (4 marks)
82
© GBHS Dschang 2021-2022
Draw a labeled diagram of the created relationship in the space below. (3 marks)
7. Use query to produce a summary that will show the cars sold by the various brokers in the various
towns on the 14/02/2020 and 15/02/2020. Save the query as 14Sales15.
From the database, print the cars and Sales tables and the 14Sales15 query. (4 marks)
(3 marks)
4. Create another field in column F named Total Amount to calculate the total amount sold by each
broker. This field gives the product of the quantity and the unit price.
Write down the formula you have used in cell F6 in the line below.
(3 marks)
5. Given that each broker is given 5% of the total amount as bonus, calculate the Bonus for each broker in
column G. Write down the formula you have used in cell G3 in the line below.
(3 marks)
6. Create a summary table of the total bonus (given in table 2 below) to be given to each broker at
the bottom of the Esales table starting at A25. By ordering the table of sales by the BrokerID, use
an appropriate function to calculate the total bonus to be received by each broker.
Copy the total bonus from your spreadsheet into the table below. (2 marks)
83
© GBHS Dschang 2021-2022
Table 4: Bonuses
BrokerID BrokerName Total Bonus
C001 Atabong Colins
C002 Ashu Peter
C003 Beatrice Ngwa
C004 Bernard Ituka
C005 Hannah Matike
C006 Ngomba Gerald
C007 Adamu Hans
C008 Joseph Kalu
C009 Kale Justine
C010 Mbaku Paul
Total
Write down the formula you have used to calculate the total bonus for the following:
Ashu Peter .
84
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
1. Which of the following is most likely to slow down a 8. Data transmission rate usually refer to:
computer’s performance? A The amount of data that can be stored on a server
A Increasing the number of output devices online.
B Increasing the capacity of the cache B The amount of data that can be stored on LAN
C Increasing the number of running processes server.
D Increasing the capacity of the RAM C The speed of uploading/downloading on an
online server.
D The speed of uploading/downloading on a local
2. Which technology innovation characterized third hard disk.
generation computer?
A Integrated circuits
9. A management information system is used to:
B Transistors
A Create and share documents that support day-to-
C Vacuum tubes day office activities.
D Micro processors B Process business transactions.
C Produce reports from transaction data needed by
3. Which of the following best describes the backup managers to run the business
process of computer data in case of disaster. D Captures and reproduces the knowledge of an
A Reversing the files stored on the hard expert problem solver
drive
B Make an extra copy of the data on the 10. Which one of the following describes voice over
hard disk partition. internet Protocol (VoIP)?
C Make an extra copy of the data on an external A A voice recognition program over Internet.
storage device B Technology that enables the delivery of telephone
D Creating a backup folder on your desktop conversations over the Internet.
C A rule that defines the transmission of data over the
internet.
4. The expression B1216 + 5CA16 evaluates to:
A 1F4216 D Real-time text-based communication between two
B 20DC16 or more people over the internet
C FDC16
D 10DC16 11. Quality Developer is a company that writes programs to
do specific jobs for other companies.
5. Which of the following best assists students to improve
These programs are called?
on their ICT knowledge and educational standards?
A Customized-purpose software
A Access to computers
B General-purpose software
B Pedagogic training on the use of ICT
C Off-the-shelf software
C Access to computer on a LAN
D Special-purpose software
D Provision of internet and multimedia facility
tools
12. Which of the following statements is FALSE
concerning file names?
6. What is the full meaning of the following network A Files may share the same name or the same
type. VPN?
extension in the same location.
A Verified Protected Network
B The file name comes before the dot(.) followed
B Virtual Protected network
by the file extension.
C Verified Private Network
C File extension denotes the file type.
D Virtual Private Network
D Every file in the same folder must have a unique
name.
7. Which of the following statements is NOT true about
tables?
A Each column of a table represents a field. 13. Data integrity constraints are used to:
A control who is allowed access to the data.
B Each row of a table represents a record.
B ensure that duplicate records are not entered into
C Each record in a table contains unrelated
the table.
collection of fields.
C Improve the quality of data entered for specific
D A table is a rectangular array of data
purpose.
D prevent users from changing the data values
stored in the table.
85
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
14. Choose from the following statements the one C Business-to-Customer (B2C)
which is NOT a function of an Operating system. D Business-Business (B2B)
A To keep systems programmers employed
B To make computers easier to use 21. Which of the following is a rare option when an
C To make the most efficient use of the anti-virus detects an infected file?
computer hardware
D To allow people to use the computer A Quarantine
B Delete
C Open
15. Which one of the following statements about
Software End User License Agreement is True: D Clean
A It gives the user the exclusive right to copy
and sell the software to other potential users. 22. In which aspect is the analog computer better than
the digital computer?
B It gives the user the right to modify the
software.
A Speed
C It gives full ownership of the software to the
B Accuracy
user of the software.
C Efficiency
D It gives the user the right to install and run
D Reliability
the software on a specific number of
computers.
23. A network topology where network components are
connected physically to the same cable trunk is:
16. Which one of the following is NOT a web browser?
A Google Chrome A Star
B Opera Mini B Ring
C Yahoo C Bus
D Internet Explorer D Mesh
17. A data transmission process which does not use 24. A data structure that stores homogeneous data
star or stop bits or gaps is called: element is:
A Synchronous A Arrays
B Asynchronous B Fields
C Full duplex C Records
D Simplex D Files
18. An airline reservation system is an example of: 25. A pile in which items are added at one end and
A Batch processing remove from the other is called?
B Real time processing A Stack
C Interactive processing B Queue
D Distributed processing C List
D Table
19. An information system that represents information in
map form is called: 26. Which of the following is NOT a basic quality
A HIS of information security?
B EIS A Availability
C GIS B Locality
D LIS C Accessibility
D Integrity
20. The e-commerce domain that involves business 27. An advantage of teleworking is, it
activities initiated by the consumer that targets a A lays more emphasis on teamwork.
firm is known as:
B allows flexible working hours
A Customer-to-Customer (C2C)
C allows more commuting time
B Customer-to-Business (B2B)
D reduces office space
86
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
28. Which type of visual object is used to analyse and 35. User requirements in an information system can be
represent the tasks involved in completing a verified by:
project? A Acceptance test
A Flow chart B Unit test
B Critical Path Chart C Integrated test
C Overflow chart D Alpha test
D Gantt Chart
36. Which of the following information systems best
29. A conversion technique in which the new system assists managers to deal with transactions that
is introduced one part at a time is called: cannot be answered by reports from operational or
A Plunge conversion tactical systems?
B Parallel conversion A Transaction Processing System
C Pilot conversion B Decision Support System
D Piecemeal conversion C Office Automation System
D Management Information System
30. Someone physically monitoring you while
entering your pin code at the ATM without your 37. The protocol used to send and receive electronic
consent is said to be: mails over the internet is:
A Phishing A TCP/IP
B Shoulder Surfing B FTP
C Spoofing C SMTP
D Cracking D VoIP
31. The expression 00001011 + 00001110 evaluates to: 38. The programming language that is characterized
A 000011001 by use of mnemonics is?
B 000011101 A Assembly language
B High level language
C 000010110
D 000010011 C Machine language
D Procedural Language
32. To be able to create, view, change or delete data
on a computer system you will need:
A Access right 39. Which type of software controls the allocation of
B Copy right resources and software on the computer?
C Sign in right A Network software
D Entry right B Operating system software
C Application software
33. A super market with a new inventory system will D Security software
need what type of software in managing it?
A Business Software 40. Which of the following shows the sequence of
B Marketing software operation of the microprocessor?
C Accounting Software A Fetch, encode, decode
D Stock Control Software B Fetch, encode, execute
C Fetch, encode, decode, execute
34. Which one of the following is NOT a feature of D Fetch, decode, execute
electronic commerce?
A Goods can be advertised and prices 41. The De-Morgam’s Law for the logic OR states
compared. that + =
B Transactions cab be processed quickly. A .
C There is facial contact between buyer and
B +
seller
D Services are available 24 hours a day. C +
D .
87
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
42. Which of the following best describes a
fundamental purpose of project management? 46. The buying and selling of stocks over the
A Delivering change management internet is called:
B Planning and tasks management A e-commerce
C Controlling progress management B e-banking
D Leadership and team management C e-shopping
D e-trading
43. Which of the following best describe a malware
that would replicate itself and uses a computer
network to send copies to other computer? 47. If two users attempt to update the same record in
A Trojan Horses a database,
B Rootkits A The database blocks the record to on user.
C Worms B The database will freeze.
D Backdoors C The database will allow both updates to be
saved
44. Which of the following devices sends data packets D The database will shut down.
only to a receiving device?
48. An advantage of a vector-based graphic format is:
A Hub A Quality does not change during resizing
B Switch B Quality becomes sharper when scaled-up
C Bridge C Graphs can be placed in a vector
D Repeater D It allows graphs to be converted to data.
45. Which of the following best describe a document 49. A cable with central glass tube covered with
created with an application package which could be protective shield which transmit data using photons
used repeatedly by many users for similar purposes? over long distances is:
A Template A Coaxial cable
B Wizard B RJ45
C Macro C Optic Fibre
D Form D Twisted pair
STOP
88
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
1.(i) Explain the following computer terms giving an example for each.
(d) Automation. (2marks)
(e) Control system. (2 marks)
(f) Robot. (2 marks)
(ii) Discuss TWO factors that determine the reliability of an information system. (2 marks)
(iii) Identify TWO natural hazards that can affect a computer system and give a
measure that can be used to secure the data in each case.
(4 marks)
(viii) (a) Distinguish between Simulation and prototyping? (2 marks)
(b) List the steps used in prototyping. (2 marks)
(c) Give the role of end users’ feedback in prototyping. (1 mark)
89
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
(c) Explain the Round Robin and First come, First Serve process management (3 marks)
Strategies used by operating system in job scheduling.
(iii) (a) Use a label diagram to describe machine instruction cycle of the computer. (2
marks)
(b) Explain the function of THREE components of the CPU. (3
marks)
(c) Give the main function of the Random Access Memory (RAM) in the computer
system. (1 mark)
(vi) Differentiate between Interrupt and Polling. (2 marks)
(vii) (a) What is a file extension? (1 mark)
(b) Copy and complete the table below in your answer booklet:
FILE TYPE FILE EXTENSION
Video
5.
P
A
B C R
E
D
Fig.5
O
(i) From the digital circuit above (Fig. 5), Identify the logic gates labeled, P and R. (2 marks)
(ii) Write out the Boolean expression of the outputs C, D and E in terms of inputs A and B. (3 marks)
(iii) Construct a truth table for this digital circuit. (4
marks)
(iv) (a) What is a project? (2
marks)
(b) Name and explain TWO methods used in controlling projects. (4
marks)
(c) Explain TWO responsibilities of a project manager (2
marks)
90
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 2
(b) Attribute. (1 mark)
(c) Entity. (1 mark)
(d) Redundancy. (1 mark)
(iii) (a) What is Normalization in relation to database modeling? (2 marks)
(b) When is a table in a database said to be in First Normal Form? (2 marks)
(iv) In time sharing multi-programming environment, many users share the same system
simultaneously. This situation can result to various security problems.
(a) Identify TWO of such security problems. (2 marks)
(b) Differentiate between multitasking and multiprogramming. (2 marks)
7.(i) Explain briefly the use of the following input technologies and cite a situation in which
each can be useful:
(c) Bar code reader. (2 marks)
(d) Optical Character recognition. (2 marks)
(e) Automatic speech recognition. (2 marks)
(iii) (a) Differentiate between data integrity and data verification. (2 marks)
(d) Name and Describe TWO data verification techniques. (2 marks)
(iv) (a) Explain two function of a system analyst. (2 marks)
(e) Explain TWO ways a System Analyst can collect information about a system for
analysis. (2 marks)
(iv) (a) Convert the octal number 256 to binary (base 2) (1 mark)
(b) Convert the binary number 11011.11 to decimal (base 10) (2 marks)
8.(i) Explain the following online Electronic Services below giving ONE advantage and ONE
disadvantage for each:
(a) E-Government. (3 marks)
(b) E-Banking. (3 marks)
(c) E-Commerce. (3 marks)
(ii) (a) What is social network? Give one example. (2 marks)
(b) Outline ONE advantage and TWO disadvantages of social networking to students
in Cameroun. (3 marks)
(iii) (a) What is meant by the term IP address as it relates to the Internet? (1 mark)
(b) Briefly explain how protocols send messages across the internet. (2 marks)
91
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 3
………………………………………………………………………………………………………………..
TASK A (SPREADSHEET: 19 MARKS)
Open the MDC workbook in the candidate folder. This workbook contains three worksheets: Sales, OldSales
and Summary.
Questions 1 to 10 is based on the Sales sheet.
8. Change the font type of the first row (showing SN, NAME, 5% Discount …) to ALGERIAN. (1 mark)
9. Insert cell border in the range A1:G25. (2 marks)
10. Adjust the Name field width to 138 pixels. (1 mark)
11. Insert a formula in the 5% Discount field to calculate the discount for each item bought.
This Discount is 5% of the product of Unit Price and Quantity. (2 marks)
Write down the formula in cell C2
C2: .
12. Insert a formula in the Payable Total field to calculate the total price for each sale. The total is calculated
following the algorithm below
Start
Multiply Unit Price by Quantity to get total price
Subtract the 5% Discount from the total price above
Stop. (2 marks)
Write down the formula to calculate the Payable Total in F8 in the line below
F8:
.
13. Calculate the total 5% Discount and total of the Payable Total in row 25. (1 mark)
Write down the formula in cell F25
F25: .
14. Set the font of row 25 to bold and size 14. (1 mark)
Ensure that you have written down the formulae in the cells in questions 4, 5 and 6 above before attempting
the questions that follow.
15. Rearrange the fields (columns) in the sheet to occur in the order SN, Name, Item, Unit Price, Quantity, 5%
Discount and Payable Total. (2 marks)
16. Format the numbers in the range D2:G25 to thousand separator without decimal place. (1 mark)
17. Insert a fill color of light blue to the cells that contain the totals in row 25. (1 mark)
The next exercises are based on the OldSales and Summary sheets.
18. Sort in ascending order, the table in OldSales by items. (1 mark)
19. In C2 of the summary sheet, type a formula to link C2 to a cell in OldSales that contains the unit price of
spinners. Do similarly for the cells in range C3:C9. (1 mark)
Write down the formula in cell C4 in the line below.
C4: .
92
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 3
93
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 3
13. In the Summary sheet, type a formula in D2 that will add the total quantity of spinners sold. Do similarly for the
cells in the range D3:D9, Write down the formul in cell D2 in the line below. (3 marks)
D2: .
Print the three sheets of this workbook: Sales, OldSales and Summary.
This exercise will lead to the normalization of the General Sales tables given below.
The complete implementation of the database is to have three tables. Two of the tables have been created in a
database named Sales found in the candidate folder.
The General Sales tables below show the purchase made by eight customers from an equipment shop for a
week.
94
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 3
17 Etame Juliet Cable 2,700 18 48,600
18 Ngwa Kingsley Bulb 1,500 16 24,000
19 Makoge Hand saw 3,500 59,500
17
Kingsley
20 Samson Takang Spanner 900 10 9,000
The third table, named equipment is designed to relate the two tables above.
4. Complete the table below to show the properties of the equipment table. Note that the field Line-Total is a
calculated field and should not be included in the equipment table. (3 marks)
95
© GBHS Dschang 2021-2022
GCE 2020 ICT PAPER 3
Field Name Data type
5. Design a simple Entity-Relationship (E-R) diagram of the database in the space below. (2 marks)
6. Create the Sales table in the database and create the relationship according to the E-R diagram. (3 marks)
7. Populate the sales table by obtaining data from the General Sales table. (3 marks)
8. Create a query that reproduces the General Sales table (with fields, SN, Names, Items, Unit Price, Quantity,
Line Total). Take note that Line total is a calculated field.
Save the query as General Sales. (3 marks)
Write, in the line below, the formula in the calculated field found in the query.
.
9. Capture the screen of your query in (8) above and paste in a new document file named Query Screen and print.
(2 marks)
Print the Sales table and the General Sales query.
96
© GBHS Dschang 2021-2022