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

Computer Science Igcse Revision Notes

The document provides an overview of data representation, focusing on number systems such as binary, denary, and hexadecimal, along with their conversions. It explains binary calculations, logical shifts, and the two's complement method for representing negative values. Additionally, it discusses the representation of text, sound, and images in digital form, including ASCII, Unicode, and the concepts of sampling resolution and image resolution.

Uploaded by

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

Computer Science Igcse Revision Notes

The document provides an overview of data representation, focusing on number systems such as binary, denary, and hexadecimal, along with their conversions. It explains binary calculations, logical shifts, and the two's complement method for representing negative values. Additionally, it discusses the representation of text, sound, and images in digital form, including ASCII, Unicode, and the concepts of sampling resolution and image resolution.

Uploaded by

Isha
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 104

Data Representation

Number Systems
Binary System
 Base 2 number system
 It has two possible values only (0 and 1)
 0 represents OFF, and 1 represents ON
 A point to be noted is that the most left bit is called the MSB (Most
Significant Bit)
Denary System
 Base 10 number system
 Has values from 0 to 9
Hexadecimal
 Base 16 number system
 Have values from 0 to 9 followed by A to F
 A represents 10, B represents 11 and so on until 15, which is F

Binary Hexadecimal Denary


Value Value Value
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15
Number Conversions
Converting Binary to Denary
 Place the binary value in columns of 2 raised to the power of the number
of values from the right starting from 0. e.g. For binary value 11101110,
place it in a table like this:

12 6 3 1
8 4 2 1
8 4 2 6
1 1 1 0 1 1 1 0

 As can be seen it starts from 1 and then goes to 128 from left to
right
 Now values with 1 are to be added together, giving the final answer,
as for the example, it is 128 + 64 + 32 + 8 + 4 + 2 = 238

Converting Denary to Binary


 Take the value and successively divide it by 2, creating a table like follows:

14
2
2

Remainde
2 71 0
r:

Remainde
2 35 1
r:

Remainde
2 17 1
r:

Remainde
2 8 1
r:

Remainde
2 4 0
r:

Remainde
2 2 0
r:

Remainde
2 1 0
r:

0 Remainde 1
14
2
2

r:

 Note that when the value itself is not divisible by 2, it is divided by the
previous value of the current number and 1 is added to the remainder
column for that specific number
 When you reach 0, the remainder has to be read from bottom to top giving
us the binary value ( as in this case, it is 1 0 0 0 1 1 1 0 )

Converting Hexadecimal to Binary


 Separate each value from each other and convert them to denary
 Each separate denary value to be converted to binary
 All the binary values to be merged together
e.g.

Converting Binary to Hexadecimal


 Divide the binary value into groups of 4 starting from the right. If at the
end, the last division is less than 4, add 0s until it reaches 4
 For each group, find the denary value as shown above, and then convert
each denary value to its corresponding hexadecimal value (if less than 10,
then itself, else, 10 is A, 11 is B, 12 is C, 13 is D, 14 is E and 15 is F).
 After conversion, just put all the hexadecimal values in order to get the
final answer
Converting Hexadecimal to Denary
 Convert the value to binary as shown above, and then convert the final
answer to denary
Converting Denary to Hexadecimal
 Convert the value to binary, and then convert it to hexadecimal as
explained above
Binary Calculations
 Binary values are not added the way denary values are added, as when
adding 1 and 1, we cannot write two because it doesn’t exist in binary.
Points to Note:
 0 + 0 =0
 1 + 0 /0+1=1
 1 + 1 = 0 (1 carry)
 1 + 1 + 1 = 1 (1 carry)
Overflow
 When adding two values, if the solution exceeds the limit of given values,
e.g., the solution has 9 bits, but the question had 8 bits per value, the 9th
bit (most left bit) is called overflow.
 This indicates that the memory doesn’t have enough space to store the
answer to the addition done in the previous part.
Steps to add Two Values (With Example)
 The values we will add are 1 1 0 1 1 1 0 and 1 1 0 1 1 1 1 0
1. Convert both the bytes into 8 bits (add zero to the left-hand
side to match them).
e.g., 1 1 0 1 1 1 0 would become 0 1 1 0 1 1 1 0
2. Add the values as follows with the points given above
Carry 1 1 1 1 1 1 1
Byte 1 0 1 1 0 1 1 1 0
Byte 2 1 1 0 1 1 1 1 0
OVERFLO
Carry 1 1 1 1 1 1 1
W
Solutio
1 0 1 0 0 1 1 0 0
n

Note: We move from RHS to LHS, and when adding values, we use the
rules given above. If the bit crosses the limit (overflows), we put the value
in brackets, denoting it is overflow.

Logical Shifts
 The logical shift means moving a binary value to the left or the right
 When doing a logical shift, keep in mind that the bit being emptied is
going to become 0
Explanation with Example
 Shifting 10101010 - 1 place left:
1. The furthest bit in the direction to be logically shifted is removed
( in this case, one at the LHS is removed) - ==(if it were two places,
2 bits would have been removed)==
2. Every bit is moved in given places to the given direction ( every bit
is moved one place to the left in this case, and the leftover bit in the
right is marked 0, so 10101010 would become 01010100)
Two’s Complement (Binary Numbers)
 Two’s complement is a method used to represent negative values in
binary. Here, the MSB ( Most Significant Bit) is replaced from 128 to -128;
thus, the range of values in a two’s complement byte is -128 to 127
Converting Binary Values to Two’s Complement
 Firstly, write the binary value and locate the first one from the right; e.g.,
1101100 would have the first one at the third position from the right.
 Now, switch every value to the left of the first one located above (not
switching the one), e.g., the value in our example becomes 0010100,
which is the two’s complement of itself.
Converting negative values to two complement
 Find the binary equivalent of the value ignoring the - sign
 Convert the binary value to two’s complement
 Make the MSB 1, if not already
Converting Two’s Complement Value to Denary:
 We do it the same way as a normal value is converted from binary to
denary; we only replace 128 with -12,8 e.g., for 1011101,0 we do the:

-
6 3 1
12 8 4 2 1
4 2 6
8
1 0 1 1 1 0 1 0
-128 + 32 + 16 + 8 + 2 = -70

Use of the Hexadecimal System


Examples:
 Defining colours in Hypertext Markup Language (HTML)
 Media Access Control (MAC) addresses (a number that uniquely identifies a
device on a network)
 Assembly languages and machine code
 Memory Dumps
 Debugging (method to find errors in a program)
 Display error codes (numbers refer to the memory location of the error)
 IP (Internet Protocol) addresses
Memory Dumps
 Hexadecimal is used when developing new software or when trying to
trace errors.
 Memory dump is when the memory contents are output to a printer or
monitor.
Assembly code and machine code (low-level languages)
 Computer memory is machine code/ assembly code
 Using hexadecimal makes writing code easier, faster, and less error-prone
than binary.
 Using machine code (binary) takes a long time to key in values and is
prone to errors.

Text, Sound and Images


ASCII
 The standard ASCII code character set consists of 7-bit code that
represents the letters, numbers and characters found on a standard
keyboard, together with 32 control codes
 Uppercase and lowercase characters have different ASCII values
 Every subsequent value in ASCII is the previous value + 1. e.g. “a” is 97 in
ASCII, “b” will be 98 (which is 97 + 1)

 Important ASCII values (in denary) to remember are as follows:


 0 is at 48
 A is at 65
 a is at 97
 ASCII uses one byte to store the value
 When the ASCII value of a character is converted to binary, it can be
seen that the sixth-bit changes from 1 to 0 when going from
lowercase to uppercase of a character, and the rest remains the
same. e.g.
Unicode
 ASCII does not contain all of the international languages thus,
Unicode is used to solve this problem
 The first 128 values are the same as ASCII.
 Unicode supports up to four bytes per character, storing multiple
languages and more data.
 To represent text in binary, a computer uses a character set,
a collection of characters and the corresponding binary
codes that represent them.
Sound
 Sound is analogue, and for it to be converted to digital form, it is sampled
 The sound waves are sampled at regular time intervals where the
amplitude is measured. However, it cannot be measured precisely, so
approximate values are stored
How is Sound Recorded
 The amplitude of the sound wave is first determined at set time intervals
 The value is converted to digital form
 Each sample of the sound wave is then encoded as a series of binary digits
 A series of readings gives an approximate representation of the sound
wave
Sampling Resolution:
 The number of bits per sample is known as the sampling resolution (aka
bit depth)
 Increasing the sampling resolution increases the accuracy of the sampled
sound as more detail is stored about the amplitude of the sound.
 Increasing the sampling resolution also increases the memory usage of the
file as more bits are being used to store the data.
Sampling Rate
 The sampling rate is the number of sound samples taken per second,
which is measured in Hertz (Hz)
 A higher sampling rate would allow more accurate sound as fewer
estimations will be done between samples.
Images
Bitmap Images
 Bitmap images are made up of pixels
 A bitmap image is stored in a computer as a series of binary numbers
Colour Depth
 The number of bits representing each colour is called the colour depth.
 An 8-bit colour depth means that each pixel can be one of 256 colours
(because 2 to the power of 8 = 256)
 A 1-bit colour depth means each pixel can store one colour (because 2 to
the power of 1 is 2) - ( This is done as the bit can either be 0 or 1, with 0
being white and 1 being black)
 Increasing colour depth increases the size of the file when storing an
image.
Image Resolution
 Image resolution refers to the number of pixels that make up an image; for
example, an image could contain 4096 × 3072 pixels.
 Photographs with a lower resolution have less detail than those with a
higher resolution.
 When a bitmap image is ‘ blurry ‘ or ‘ fizzy ’ due to having a low amount of
pixels in it or when zoomed, it is known as being pixelated.
 High-resolution images use high amounts of memory as compared to low-
resolution ones.
Measurement of the Size of Computer
Memories
 A binary digit is referred to as a BIT
 8 bits is a byte
 4 bits is a nibble
 Byte is used to measure memory size

IECB System (Most Common)


Name of memory No. of Equivalent Denary
size Bytes Value

1 kibibyte (1KB) 210 1 024 bytes

1 mibibyte (1MB) 220 1 048 576 bytes

1 gibibyte (1GB) 230 1 073 741 824 bytes

1 tibibyte (1TB) 240 1 099 511 627 776 bytes

1 125 899 906 842 624


1 pibibyte (1PB) 250
bytes

Conventional System
Name of memory No. of Equivalent Denary
size Bytes Value

1 kilobyte (1KB) 103 1 000 bytes

1 megabyte (1MB) 106 1 000 000 bytes

1 gigabyte (1GB) 109 1 000 000 000 bytes

1 terabyte (1TB) 1012 1 000 000 000 000 bytes

1 000 000 000 000 000


1 petabyte (1PB) 1015
bytes
Calculation of File Size
 The file size of an image is calculated as: image resolution (in pixels) ×
colour depth (in bits)
 The size of a mono sound file is calculated as: sample rate (in Hz) ×
sample resolution (in bits) × length of sample (in seconds).

File Types
Musical Instrument Digital Format (MIDI)

 Storage of music files

 A communications protocol that allows electronic musical instruments to

interact with each other

 Stored as a series of demands but no actual music notes

 Uses 8-bit serial transmission (asynchronous)

 Each MIDI command has a sequence of bytes:

o The first byte is the status byte – which informs the MIDI device

what function to perform

o Encoded in the status byte is the MIDI channel (operates on 16

different channels)

 Examples of MIDI commands:

o Note on/off: indicates that a key has been pressed

o Key pressure: indicates how hard it has been pressed (loudness of

music)

 Needs a lot of memory storage

MP3

 Uses technology known as Audio Compression to convert music and other

sounds into an MP3 file format

 This compression reduces the normal file size by 90%

o Done using file compression algorithms which use Perceptual Music

s haping
o Removes sounds that the human ear cannot hear properly

o Certain sounds are removed without affecting the quality too much

 CD files are converted using File Compression Software

 Use lossy format as the original file is lost following the compression

algorithm

MP4

 This format allows the storage of multimedia files rather than just sound

 Music, videos, photos and animations can be stored

 Videos could be streamed without losing any real discernible quality

Joint Photographic Experts Group (JPEG)

 JPEG is a file format used to reduce photographic file sizes

 Reducing picture resolution is changing the number of pixels per

centimetre

 When a photographic file undergoes compression, file size is reduced

 JPEG will reduce the raw bitmap image by a factor between 5 and 15

Lossless and Lossy File Compression


Lossless File Compression

 All the data bits from the original file are reconstructed when the file again

is uncompressed.

 Important for files where the loss of data would be disastrous

(spreadsheet)

 An algorithm is used to compress data

 No data is lost

 Repeated patterns/text are grouped together in indexes

Run-Length Encoding

 It reduces the size of a string of adjacent, identical data (e.g. repeated

colours in an image)
 A repeating string is encoded into two values: the first value represents

the number of identical data items (e.g. characters), and the second value

represents the code of the data item (such as ASCII code if it is a keyboard

character), e.g. ‘aaaaabbbbccddddd’ becomes “05 97 04 98 02 99 05

100.”

 RLE is only effective where there is a long run of repeated units/bits

 One difficulty is that RLE compression isn't perfect for strings like

"cdcdcdcdcd". We use a flag to solve this; e.g. 255 can be made the flag.

Now 255 will be put before every repeating value, e.g. our previous

example becomes 255 05 97 255 04 98 255 02 99 255 05 100 where 255 now

indicates that the next character/set of characters is approaching

Lossy File Compression

 The file compression algorithm eliminates unnecessary data bits like MP3

and JPEG formats.

 It is impossible to get the original file back once it is compressed

 Reduces file quality

 In this, the image's resolution and colour depth are reduced.

Data Transmission
Types and Methods of Data Transmission
Data Packets
 Packet Structure -
o Header
 Contains the IP address of the sender and the receiver
 The sequence number of the packet
 Size of the packet
o Payload
 Contains the actual data
o Trailer
 Includes a method of identifying the end of the packet
 Error-Checking methods
 Packet Switching - Method of data transmission where the data is broken
into multiple packets. Packets are then sent independently from start to
end and reassembled at the receiver’s computer.

Advantages Disadvantages
There is no need to create a
Packets may be lost
single line of communication
Possible to overcome failed or More prone to errors in real-time
busy nodes streaming
Delay at the receiver while the
High data transmission speed
packets are being re-ordered
Easy to expand package usage
Data Transmission
 Simplex data transmission is in one direction only (e.g. computer to
printer)
 Half-duplex data transmission is in both directions but not at the same
time (e.g., in a phone conversation where only one person speaks)
 Full-duplex data transmission is in both directions simultaneously (e.g.
broadband connection on the phone line)
 Serial data transmission is when data is sent one bit at a time over a
single wire
 Parallel data transmission is when data of several bits (1 byte) are sent
down several wires at the same time.

Comparison of Serial and Parallel Data Transmission


Serial Parallel
Better for longer distances Better for short distances
(Telephone Lines) (Internal circuits)
Expensive (More hardware
Cheaper Option
required)
Used when the size of data
Used when speed is necessary
transmitted is small
Slower Option Faster than Serial

Universal Serial Bus (USB)


 USB is an asynchronous serial data transmission method

 USB consists of:

o Four-wire shielded cable

o Two wires are used for power and earth


o Two wires are used in data transmission

Advantages Disadvantages

Transmission rate is less than 120


Automatically detected
MB/sec

Only fit one way, prevents incorrect Maximum cable length is about 5
connections metres

Different data transmission rates

Backwards compatible

Industry-standard

Methods of Error Detection


Parity Checks

 It uses the number of 1-bits in a byte

 Type Types -

o Even - Even number of 1-bits

o Odd - Odd numbers of 1-bits

 Example (Even Parity) -

0 1 0 1 1 0 1 0

 The LMB (Left-Most Bit) is the parity bit. As the number of 1s is

even, the parity bit would be set to even.

Limitations with Parity Checks

 Two bits may change during transmission; therefore error is not

found
 Even though the parity checks would reveal the errors, the bit(s)

changed wouldn’t be identified

Parity Blocks

 To overcome the limitations of parity bits, Parity blocks would be used.

 Any changes in bits would be identified through the rows and columns

Checksum

 Whenever a block of data needs to be sent, the sender would calculate the

checksum value using a specific algorithm.

 Once the data has been sent, The receiver would calculate the checksum

again with the same set of data and the same algorithm used before.

 The receiver would then compare the value received and the newly

calculated value. If they aren’t matched, A request is made to re-send the

data.

Echo Check

 Once the data has been sent, The receiver will send the data back to the

sender for verification.

 The sender would compare the received and original data for errors.

 The only downside is that we wouldn’t know if the error occurred when

sending the data or sending the data back for verification.


Check Digits

 Check digits are calculated from all the other digits in the data (ex-codes).

The check digit would be the last digit of the code.

 These are used to identify mistyping errors such as -

o 6372 typed as 6379

o 8432 typed as 842

Automatic Repeat Requests (ARQs)

 Uses acknowledgements and timeouts to make sure the user received the

data

 The receiver would check the data for any errors; if none are found, a

positive acknowledgement is sent to the sender. However, if errors are

found, a negative acknowledgement will be sent, and the data will be sent

again.

 The sender uses timeouts to wait for a pre-determined amount for the

acknowledgement.

 If no acknowledgements are received after the timeout, the data will be

sent again to the receiver.

Encryption
 Encryption is a process of turning the data into an unreadable form so it

doesn’t make sense to hackers and other attackers.

Plaintext and Ciphertext

 Plaintext is the original data that is being sent

 Ciphertext is the text produced after encryption

Symmetric and Asymmetric Encryption

 Symmetric Encryption:
o It uses an encryption key for the encryption process; the same key

is used for encrypting and decrypting the data.

 Asymmetric Encryption:

o Uses a public key and a private key. The public key is available to

everyone, whereas the private key is only available to the user.

o The receiver would have the private key, and they would send the

public key to the sender. The sender can encrypt the message with

the public key, and the data can be decrypted using the private key.

Hardware
Computer Architecture & Von Neumann
Architecture
 The central processing unit (CPU) (also known as a microprocessor or
processor) is central to all modern computer systems
The CPU consists of the following architecture:
 Processor: The processor contains the Arithmetic and Logic Unit (ALU)
 Control Unit: The control unit controls the operation of the memory,
processor and input/output devices
 Arithmetic Logic Unit: Carries out the logic system like calculations
 System Clock: The system clock is used to produce timing signals on the
control bus
Busses: Carry data through components. The following are its types.
 Address bus – unidirectional
 Data Bus – bi-directional
 Control Bus – bi-directional
Immediate Access Store: Stores the instructions that are to be
processed, which are fetched by the CPU
 The following registers also exist in the architecture:
REGIST
ABBREVIATION DEFINITION
ER

Current instruction Stores the instruction the CPU is


CIR
register currently decoding or executing

Memory address Stores the Address of the instruction,


MAR
register copy it, and sends it to MDR

MDR Memory data Stores the Data from the address


register received from the MAR and sends data to
REGIST
ABBREVIATION DEFINITION
ER

CIR

Stores the address of the next instruction


PC Program counter
to be fetched from memory

During calculations, data is temporarily


ACC Accumulator
held in it

Source: Cambridge IGCSE and O Level Computer Science - Second Edition (Hodder
Education)

The Fetch-Execute Cycle


1. PC contains the address of the next instruction to be fetched
2. This address is copied to the MAR via the address bus
3. The instruction of the address is copied into the MDR temporarily
4. The instruction in the MDR is then placed in the CIR
5. The value in the PC is incremented by 1, pointing to the next instruction to
be fetched
6. The instruction is finally decoded and then executed
Stored Program Concept
 Instructions are stored in the main memory
 Instructions are fetched, decoded and executed by the processor
 Programs can be moved to and from the main memory
Memory Concept
 A computer’s memory is divided into partitions: Each partition consists of
an address and its contents, e.g.
MEMORY CONTEN
LOCATION T

0101011
10101010
0

Instruction Set:
An instruction set is a list of all the commands that a CPU can process,
and the commands are machine code
Cores, Cache and Internal Clock
System’s Clock

The clock defines the clock cycle that synchronises all computer

operations. By increasing the clock speed, the computer's

processing speed also increases. This doesn’t mean that the

computer's performance is increased, however.

Overclocking

Using a clock speed higher than the computer was designed for.

It leads to multiple issues.

 Operations become unsynchronised - (the computer would frequently

crash and become unstable)

 can lead to serious overheating of the CPU

Length of Data Buses

The wider the data buses, the better the performance of the

computer

Cache

Cache memory is located within the CPU itself

-- allows faster access to the CPU

-- stores frequently used instructions and data that need to be accessed

faster, which improves CPU performance

The larger the cache memory size, the better the CPU

performance
Cores

The more cores in the CPU, the better and faster the performance

 But if any number of cores are used, it could possibly slow down the

system performance as the communication between each core increases,

and so do the data cables between each. Which in turn reduces the

potential system performance.

 You might have heard about quad and dual cores, not septa or octa cores.

Input Devices
Two-dimensional Scanners:

 Used to input hard-copy documents

 The image is converted into an electronic form which can be stored in the

computer

o Document is placed on a glass panel

o A bright light illuminates the document

o A scan head moves across the document until the whole page is

scanned. And image of the document is produced and sent to a lens

using a series of mirrors

o The lens focuses the document image

o The focused image now falls onto a charge couple device

(CCD) which consists of a numbers of integrated circuits

o Software produces a digital image from the electronic form

 Optical Character Recognition (OCR) is a software which converts scanned

documents into a text file format

 If the original document was a photo/image, then the scanned image

forms an image file such as JPEG

Three-dimensional Scanners
 3D scanners can scan solid objects and produce a three-dimensional

image

 Scanners take images at several points, x, y and z (lasers, magnetic, white

light)

 The scanned images can be used in Computer Aided Design (CAD) or to a

3D printer to produce a working model

Application of 2D Scanners at an Airport:

 Make use of (OCR) to produce digital images which represent the passport

pages

 Text can be stored in ASCII format

 The 2D photograph in the passport is also scanned and stored as jpeg

image

 The passenger’s face is also photographed using a digital camera and

compared using face recognition software

 Key parts of the face are compared (distance between eyes, width of nose)

Barcode readers/scanners

 A barcode is a series of dark and light parallel lines of varying thicknesses

 The numbers 0 -9 are each represented by a unique series of lines

 The left and right hand sides of the barcode are separate using guard bars

 Allows barcode to be scanned in any direction

o Barcode is read by a red laser or red LED

o Light is reflected back off the barcode; dark areas reflect little light

which allows the bars to be read

o Reflected light is read by sensors (photoelectric cells)

o The pattern is generated, which is converted to digital

Quick Response (QR) Codes

 Another type of barcode is the QR codes


 Made up of a matrix of filled-in dark squares on a light background

 Can hold more storage (7000 digits)

 Advantages of QR codes:

o No need for the user to write down the website address

o QR codes can store website addresses

Digital Cameras

 It is controlled by a microprocessor that adjusts the shutter speed, focuses

the image, etc.

 Photo is captured when light passes through the lens onto a light sensitive

cell

 The cell is made up of pixels

 The number of pixels determines the size of the file

Keyboards

 Connected to a computer with a USB connection or by wireless connection

 Each character has an ASCII value and is converted into a digital signal

 Slow method

 Prone to errors

Pointing devices

 Mouse/trackball

o Traditional; mechanical ball, connected by USB port

 Modern type; red LEDs to detect movement

Microphones

 Used to input sound to a computer

 When a microphone picks up sound, a diaphragm vibrates, producing an

electric signal

 The signal goes to a sound card and is converted into digital values and

stored in a computer
 Voice recognition, voice is detected and converted into digital

Touchscreens

 Capacitive (medium cost tech)

o Made up of many layers of glass

o Creating electric fields between glass plates in layers

o When the top layer of glass is touched, electric current changes

o Co-ordinates where the screen was touched are determined by an

on-board microprocessor

 Infra-red heat (expensive)

o Use glass as the screen material

o Needs a warm object to carry an input operation

 Infra-red optical (expensive)

o Uses glass as screen material

o Uses an array of sensors (grid form)

o Point of contact is based on which grid co-ordinate is touched

 Resistive (inexpensive)

o The upper layer of polyester, the bottom layer of glass

o When the top polyester is touched, the top layer and bottom layer

complete a circuit

o Signals are then sent out, which are interpreted by a

microprocessor, determine where the screen was touched

Sensors

 Devices that read or measure physical properties

 Data needs to be converted to digital

 Analogue-to-digital converter (ADC) converts physical values into digital

 Sensors and their purposes:


o Acoustic - These sensors act like a microphone that converts sound

to electric pulses.

o Accelerometer - These sensors measure an object's acceleration or

deceleration and motion.

o Flow - This sensor measures the flow of liquid or gas.

o Gas - These sensors measure the amount/level of any gas in the

environment.

o Humidity - This sensor measures the water vapour in the air or any

sample.

o Infra-red (active) - This IR sensor uses an invisible infrared beam.

When the beam is broken/disturbed, it changes the amount of

infrared light reaching the detector.

o Infra-red (passive) - These sensors detect the heat emitted by any

type of object.

o Level - This sensor detects the solids, liquids, or gas level.

o Light - These devices use light-sensitive cells that generate electric

current based on light brightness.

o Magnetic field - This sensor detects the change in magnetic field.

o Moisture - This type of sensor detects the water content wherever

this sensor has been installed.

o pH - This measures the acidity or alkalinity.

o Pressure - This sensor measures the pressure applied

o Proximity - This sensor detects the nearby objects around the

sensor

o Temperature - These sensors measure the temperature of the

environment.
 (Note: You do not need to know the working principle of the sensor. But

have an idea of their purposes.)

Control of Street Lighting

 The light sensor sends data to the ADC

 Digitised data and sends it to the microprocessor

 Microprocessor samples data every minute

 If data from sensor < value stored in memory:

o Signal sent from microprocessor to street lamp

o Lamp switched on

Output Devices
Inkjet Printers

 Used to print one-off pictures and documents

1. Data from the document sent to the printer driver

2. The printer driver ensures data is in the correct format

3. Check made by printer driver that the chosen printer is available

4. Data is sent to printer, and stored in a temporary memory (printer buffer)

5. A sheet of paper is fed; the sensor detects if the paper is available in the

paper tray

6. The print head moves across paper printing text/image, four ink colours

sprayed in the exact amount

7. Paper is advanced, so next line is printed

8. Repeated until the buffer is empty

9. Once it is done, the printer sends an interrupt to the processor (request for

more data to be sent)

Laser Printers

 Used to print flyers, high quality


 Use dry powder ink (toner) and static electricity to produce text and

images

 Prints the whole page in one go

1. (steps 1-4 same as inkjet)

2. Printing drum is given a positive charge; as the drum rotates, a the laser

beam is scanned across it, removing the positive charge leaves negatively

charged areas which match the text/image

3. The drum is then coated with positively charged toner; it only sticks to

negatively charged parts of the drum

4. A negatively charged sheet is rolled over the drum

5. The toner on the drum now sticks to the paper to produce a copy of the

page

6. Paper finally goes through a fuser (set of heated rollers); heat melts the

ink so it is permanent

7. The discharge lamp removes all electric charge from the drum, ready to

print next page

3D Printers

 Used for models of cars

 Produce solid objects that work

 Built up layer by layer, using powdered resin, ceramic powder

 A design is made using Computer-aided Design (CAD)

2D and 3D Cutters

 3D cutters can recognise objects in x, y, z direction

 3D laser cutters can cut; glass, crystal, metal, wood

Actuators

 The actuators convert electrical signals to mechanical processes.


 Used in many control applications involving sensors and devices (ADC and

DAC)

Loudspeakers/Headphones

 Sound is produced by passing the digital data through a DAC then through

an amplifier and then emerges from the loudspeaker

 Produced by voltage differences vibrating a cone in the speaker at

different frequencies

LCD and LED Monitors

 The front layer of the monitor is made up of Liquid Crystal Display (LCD),

these tiny diodes are grouped together in threes as pixels (LCD doesn’t

emit any light)

 LCD monitors are backlit using Light Emitting Diode (LED) because:

o LEDs reach their maximum brightness immediately

o LEDs sharpens image (higher resolution), and CCFL has a yellow tint

o LEDs improve the colour image

o Monitors using LED are much thinner than CCFL

o LEDs consume very little power

 Before LEDs, LCD monitors were backlit using CCFL

 CCFL uses two fluorescent tubes behind the LCD screen, which supplies

the light source

Light Projectors:

 Two common types of light projectors:

o Digital Light Projector (DLP)

o LCD Projector

 Projectors are used to project computer output onto larger

screens/interactive whiteboards
Digital Light Projectors (DLP)

 Uses millions of micromirrors

 the number of micromirrors and the way they are arranged on the DLP

chip determines the resolution of the image

 When the micromirrors tilt towards the light source they are on

 When the micromirrors tilt away from the light source, they are off

 This creates a light or dark pixel on the projection screen

 A bright white light source passes through a colour filter on its way to the

DLP chip

 White light splits into primary colours

LCD Projectors

 Older technology than DLP

 A powerful beam of white light is generated from a bulb

 This beam of light is then sent to a group of chromatic-coated mirrors;

these reflect the light back at different wavelengths

 When the white light hits the mirrors, the reflected light has wavelengths

corresponding to red, green, and blue

 These three different lights pass through three LCD screens; these screens

show the image to be projected as millions of pixels in grayscale

 When the coloured light passes through the LCD screens, a red, green and

blue version of the grey image emerges

 Finally, the image passes through the projector lens onto the screen
Source: Cambridge IGCSE and O Level Computer Science - Second Edition (Hodder

Education)

Memory, Storage Devices & Media


Primary vs. Secondary Storage

 The CPU directly accesses primary storage

 The CPU does not directly access secondary storage

 RAM, ROM, and cache memory are some examples

 HDD, SSD, DVD, memory stick, and Blu-ray disc are some examples

Primary Memory:

Random Access Memory (RAM)

 RAM is used by a system when it needs to store and access data

immediately that is actively being used or processed by the user.

 Features of RAM

o Volatile/temporary memory (contents lost if RAM is turned off)

o Used to store; data, files

o It can be written to or read from, and the contents of the memory

can be changed

 The larger the size of the RAM, the faster the computer will operate

 RAM never runs out of memory and continues to run slow

 As RAM becomes full, the processor has to access the continually hard

drive to overwrite old data on RAM with new data


 RAM is of two types:

DRAM (Dynamic RAM) and SRAM (Static RAM)

Source: Cambridge IGCSE and O Level Computer Science - Second Edition (Hodder

Education)

Virtual memory

 When RAM runs out of memory, there is a problem with memory

management; thus, the system has a high chance of crashing. This is why

virtual memory comes into the picture.

 The virtual memory can be either HDD or SSD (these storages are

discussed below)

 You may be expected to draw a diagram like the above.

 The main advantages of virtual memory are

o They can be larger than the physical memory provided in the RAM.

o Avoids the need to install/upgrade RAM, as it could be expensive

o The system wastes no storage on unwanted/unused data.

Read Only Memory (ROM)


 Features of ROM

o Non-volatile/permanent memories (contents remain even when

ROM is turned off)

o Used to store start-up instructions (basic input/output systems)

o Data/contents of a ROM chip can only be read and cannot be

changed

Secondary Storage:

Hard Disk Drives (HDD)

 Data is stored in a digital format on the magnetic surface of the disks

(platter)

 A number of read/write heads can access all of the surfaces of the disk

 Each platter will have two surfaces which can be used to store the data

 Data is stored on the surfaces in sectors and tracks

 HDD has very slow data access compared to RAM

Solid-State Drive (SSD)

 There are no moving parts, and all data is received at the same time (not

like HDD)

 Store data by controlling the movement of electrons within NAND chips, as

1s and 0s

 Non-volatile rewritable memory

 Benefits of using SSD rather than HDD:

o More reliable (no moving parts)

o Considerably lighter (suitable for laptops)

o Lower power consumption

o Run much cooler than HDDs

o Very thin

o Data access is faster than HDD


 Drawback – questionable longevity (20GB per day)

Off-Line Storage:

CD/DVD Disks

 Laser (red) light is used to read and write data on the surface of the disk.

 Use a thin layer of metal alloy to store data.

 Both systems use a single spiral track that runs from the centre of the disk

to the edge

 DVD uses Dual-Layering, which increases the storage capacity (two

individual recording layers)

Blu-ray Disks

 Uses a blue laser to carry out read-and-write operations

 The wavelength of laser light is less than CD and DVD (stores up to five

times more data than DVD)

 Automatically come with secure encryption (prevent piracy and copyright

infringement)

 Used as backup systems

USB Flash Memories

 Very small, lightweight, and suitable for transferring files

 Small back-up devices for photo, music

 Solid state, so needs to be treated with care

Cloud Storage:

 Cloud storage is a method of data storage where data is stored on

remote servers
 The same data is stored on more than one server in case of

maintenance or repair, allowing clients to access data at any time.

This is known as data redundancy.

 The following are its types:

» Public cloud – this is a storage environment where the

customer/client and cloud storage provider are different companies

» Private cloud – this is storage provided by a dedicated

environment behind a company firewall; customer/client and cloud

storage provider are integrated and operate as a single entity

» Hybrid cloud – this is a combination of the two above

environments; some data resides in the private cloud, and less

sensitive/less commercial data can be accessed from a public cloud

storage provider

Embedded Systems
 Combination of Hardware and Software which is designed to carry out a

specific set of tasks.

 Embedded systems may contain -

o Microcontrollers - CPU, RAM, ROM and other peripherals on one

single chip

o Microprocessor - Integrated circuit with CPU only


o System on Chips (SoC) - microprocessor with I/O ports, storage and

memory

 Process of Embedded Devices -

o Input from the user is sent to the microprocessor (ADC needed if the

data is analogue)

o Data from the user interface is also sent to the microprocessor

o Microprocessor then sends signals to actuators which is the output

 Non-programmable devices need to be replaced if they need a software

update.

 Programmable devices have two methods of updating -

o Connecting the device to a computer and downloading the update

o Updating automatically via a satellite, cellular or Wi-Fi link

< centre>Advantages and Disadvantages of using embedded systems

Advantages Disadvantages

Small in size, therefore can


Can be difficult to upgrade
easily fit into devices

Low cost to make The interface can be confusing sometimes

Requires very little power Troubleshooting is a specialist’s job

Very fast reaction to changing Often thrown away as difficult to upgrade


input and faults are harder to find

Dedicated to one task only Increased garbage as they are thrown away

Any computerised system is prone to


Can be controlled remotely
attacks

 Applications of Embedded devices -

o GPS systems

o Security Systems
o Vending Machines

o Washing Machines

o Oven

o Microwave

Network Hardware
Network Interface Card (NIC)

A network interface card (NIC) is needed to allow a device to connect to a

network (such as the internet).

Media Access Control (MAC)

A MAC address comprises 48 bits which are shown as six groups of

hexadecimal digits. The first six display the manufacturer’s code, and the

second half shows the device serial number.

 These do not change and are primarily constant for every device

 there are two types of MAC addresses: the Universally Administered MAC

Address (UAA) and the Locally Administered MAC Address (LAA)

The only difference between the two types are that UAA is made

Universally and cannot be changed, but it is the opposite for LAA.

IP Addresses

 IP address allocation:

o The network allocates IP addresses.

o Two types of IP addresses: static and dynamic.

 Static IP addresses:

o Assigned manually to a device.

o Does not change over time.

 Dynamic IP addresses:
o Assigned automatically by a DHCP (Dynamic Host Configuration

Protocol) server.

o Changes periodically or when the device connects to a different

network.

 IPv4 (Internet Protocol version 4):

o Widely used protocol.

o Consists of four groups of decimal numbers separated by dots (e.g.,

192.168.0.1).

o Provides approximately 4.3 billion unique addresses.

 IPv6 (Internet Protocol version 6):

o Developed to address the limitations of IPv4.

o Uses eight groups of hexadecimal numbers separated by colons

(e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).

o Provides an extremely large number of unique addresses

(approximately 340 undecillion).

 Differences between IPv4 and IPv6:

o Address format: IPv4 uses a 32-bit address, while IPv6 uses a 128-

bit address.

o Address space: IPv4 provides approximately 4.3 billion addresses,

whereas IPv6 offers around 340 undecillion addresses.

o Address allocation: IPv4 addresses are allocated using DHCP or

manually, while IPv6 addresses are primarily assigned using

stateless autoconfiguration.

Routers

 Router functionality:

o A router is a networking device that directs data packets between

different networks.
o It determines the most efficient path for data transmission.

 Sending data to a specific destination on a network:

o A router examines the destination IP address of incoming data

packets.

o It uses routing tables to determine the next hop or the next router

on the path to the destination.

o The router forwards the data packet to the appropriate next hop.

 Router's role in IP address assignment:

o A router can act as a DHCP server (Dynamic Host Configuration

Protocol) and assign IP addresses to devices on a local network.

o It dynamically allocates IP addresses from a predefined range to

connected devices.

o DHCP allows for automatic IP address configuration and simplifies

network management.

 Connecting a local network to the Internet:

o A router serves as the gateway between a local network and the

internet.

o It connects the local network to an internet service provider (ISP)

network.

o The router receives data packets from devices on the local network

and forwards them to the internet.

o It also receives incoming data packets from the internet and routes

them to the appropriate devices on the local network.


Types of Software and Interrupts

Types of Software

1. System Software e.g. Operating System, Utility programs and device

drivers

2. Application Software e.g. spreadsheet, word processor, etc.

System Software:

 these are a set of programs which control and manage the operations of

hardware

 gives a platform for other software to run

 it is required to allow hardware and software to run without problems

 provides a human-computer interface (HCI) to the user

 controls the allocation and usage of hardware resources

Application Software:

 allows a user to perform specific tasks using the computer’s resources

 maybe a single program (for example, NotePad) or a suite of programs (for

example, Microsoft Office)

 user can execute the software as and when they require and it is mostly

not automatic

ExamplesSystem Software:

 Compiler: Translates high-level language into machine code, allowing for

direct use by a computer to perform tasks without re-compilation.

 Linker: Combines object files produced by a compiler into a single

program, allowing the use of separately written code modules in the final

program.
 Device driver: Software that enables hardware devices to communicate

with a computer's operating system, without which a device like a printer

would be unable to work.

 Operating system: Software that manages basic computer functions such

as input/output operations, program loading and running, and security

management, making computers more user-friendly.

 Utility programs: Software that manages, maintains, and controls

computer resources by carrying out specific tasks, such as virus checking,

disk repair and analysis, file management, and security.

Application Software:

 Word Processor: Software used for manipulating text documents, including

creating, editing, and formatting text with tools for copying, deleting,

spell-checking, and importing images.

 Spreadsheet: Organizes and manipulates numerical data using a grid of

lettered columns and numbered rows, with each cell identified using a

unique combination of columns and rows. It can calculate using formulas,

produce graphs, and do modelling and "what if" calculations.

 Database: Software used to organize, analyze, and manipulate data

consisting of one or more tables that hold records and fields. It provides

the ability to query and report on data and add, delete, and modify records

in a table.

 Control and Measuring Software: A program designed to interface with

sensors and allow a computer or microprocessor to measure physical

quantities and control applications by comparing sensor data with stored

data and altering process parameters accordingly.

 Apps: Software designed to run on mobile phones or tablets, downloaded

from an "App Store" and ranging from games to sophisticated software


such as phone banking. Common examples include video and music

streaming, GPS, and camera facilities.

 Photo and Video Editing Software: Software that allows users to

manipulate digital photographs or videos, including changing colour,

brightness, and contrast, applying filters and other enhancements, and

creating transitions between clips.

 Graphics Manipulation Software: Software that allows the manipulation of

bitmap and vector images, with bitmap graphics editors changing pixels to

produce a different image, while vector graphics editors manipulate lines,

curves, and text to alter the stored image as required.

Interrupts

An interrupt is a signal sent to the microprocessor, either from a device or

software, prompting the microprocessor to pause its ongoing tasks and

handle the interrupt temporarily. Various factors can trigger interrupts,

including:

 Timing signals: Scheduled signals prompt the microprocessor to pause

and handle tasks at specific intervals.

 Input/Output processes: Events such as a disk drive or printer requiring

additional data cause an interruption in the microprocessor's activities.

 Hardware faults: Issues like a paper jam in a printer, signalling the

microprocessor to halt its operations and address the hardware problem.

 User interaction: Instances like a user pressing specific keys on a

keyboard (e.g., ), leading to an interrupt in the system's operation.

 Software errors: Problems such as missing .exe files needed to initiate a

program, conflicts like two processes accessing the exact memory


location, or attempts to divide by zero. These errors trigger interrupts,

prompting the microprocessor to handle the issues.

Source: Cambridge IGCSE

and O Level Computer Science - Second Edition (Hodder Education)

Utility Software
 Computer users have access to utility programs as part of system software

 Utility programs can be initiated by the user or run in the background

without user input

 Common utility programs include virus checkers, defragmentation

software, disk analysis and repair tools, file compression and management

software, backup software, security tools, and screensavers.

Virus Checkers & Anti-Virus Software

 Virus checkers or anti-virus software are important for protecting

computers from malware.

 They should be kept up to date and run in the background to maintain

their effectiveness.

 Anti-virus software checks files before they are run or loaded and

compares possible viruses against a database of known viruses.

 Heuristic checking is used to identify possible viruses that are not yet on

the database.

 Infected files are put into quarantine for automatic deletion or for the user

to decide.

 Anti-virus software must be updated as new viruses are constantly

discovered.
 Full system scans should be carried out regularly to detect dormant

viruses.

Disk Defragmentation Software

 Defragmentation software rearranges the data blocks on a hard disk drive

(HDD) to store files in contiguous sectors, reducing head movements and

improving data access time.

 As an HDD becomes full, blocks used for files become scattered all over

the disk surface, making it slower to retrieve data as the HDD read-write

head needs several movements to find the data.

 When a file is deleted or extended, new data does not fill the vacant

sectors immediately, causing the files to become more scattered

throughout the disk surfaces.

 A disk defragmenter rearranges the data blocks to store files in contiguous

sectors wherever possible, allowing for faster data access and retrieval.

 The defragmentation process can free up previously occupied sectors and

empty some tracks.

Backup Software

 Backup software is a utility software that helps create and manage backup

copies of data files and programs.

 Manual backups using memory sticks or portable hard drives are good

practices, but operating system backup utilities are also recommended.

 Backup utilities allow scheduling backups and only backup files if changes

have been made to them.

 There could be three file versions for total security: the current version

stored on the internal HDD/SSD, a locally backed-up copy on a portable

SSD, and a remote backup on cloud storage.


Security Software

 Security software is a utility software that manages access control, user

accounts, and links to other utilities such as virus and spyware checkers.

 It also protects network interfaces using firewalls to prevent unauthorized

access.

 Security software uses encryption and decryption to ensure intercepted

data is unreadable without a decryption key.

 It oversees software updates to verify legitimate sources and prevent

malicious software from being installed.

 Access control and user accounts use IDs and passwords to secure user

data and prevent unauthorized access.

Screensavers

 Screensavers display moving and still images on the monitor screen after

computer inactivity.

 They were originally developed to protect CRT monitors from 'phosphor

burn'.

 Screensavers are now mostly used for customizing a device and as a part

of computer security systems.

 They automatically log out of the user after a certain period of inactivity.

 Some screensavers activate useful background tasks like virus scans and

distributed computing applications.

Device Drivers

 Device drivers translate data into a format that can be understood by the

hardware device they are associated with.

 Without the appropriate device driver, a hardware device cannot work with

a computer and may not be recognised by the operating system.


 USB device drivers contain descriptors, which include a vendor ID (VID),

product ID (PID) and unique serial number that allow the operating system

to identify the device.

 Serial numbers must be unique to avoid confusion if two devices with the

same serial number are plugged into a computer simultaneously.

Operating Systems
 Operating Systems are designed to establish communication

between the user and the computer

 Functions of a typical operating system -

-managing files

– handling interrupts

– providing an interface

– managing peripherals and drivers

– managing memory

– managing multitasking

– providing a platform for running applications

– providing system security

– managing user accounts

 WIMP - Windows, Icons, Menu, and Pointing Devices

Advantages and Disadvantages of CLI and GUI


Source: Cambridge IGCSE and O Level Computer Science - Second Edition

(Hodder Education)

 Memory Management - Manages the RAM and the HDD/SSD during the

execution of programs

 Security Management - Providing security features such as Anti-Virus,

System updates and so on

 Hardware Peripheral Management - Managing the device drives, Inputs,

Outputs, Queues and buffers

 File Management - Opening, Creating, Deleting, Renaming, and many

more functions

 Multitasking - OS would share the hardware resources with each of the

processes

 Management of User Accounts - OS would allow multiple users to

customise their accounts individually.

Running of Applications

 The computer starts its OS (booting up the computer) through the

bootstrap loader.
 The BIOS (Basic Input/Output System) tells the computer the

location of the OS in the storage.

 BIOS is often referred to as the firmware

Interrupts

 Signal that causes the operating system to stop what it’s doing and

service a task

 Ensures important tasks are dealt with on a priority basis

 It can be a software or a hardware interrupt

 Peripherals like a keyboard & mouse can generate it

 Different interrupts have different levels of priority

 After interruption is dealt with, the previous process continues

Programming Languages, Translators and IDEs


 Computers can only understand machine code; therefore, translators are
needed
High-Level Languages
 It is easier to read and understand as the language is closer to human
language.
 Easier to write in a shorter time
 Easier to debug at the development stage
 Easier to maintain once in use
Low-Level Languages
 Refer to machine code
 Binary instructions that the computer understands
Source: Cambridge IGCSE and O Level Computer Science - Second Edition (Hodder
Education)

Assembly Language
 Few programmers use assembly language to -
o Make use of special hardware
o Write code that doesn’t take up much space
o Write code that runs very quickly
o Assembly language must be translated into machine code using an
assembler to run.
Translators
Compiler
 Translates a program written in a high-level language into machine code
 Used without compiler
 Executable file of machine code produced
 One high-level language translated into several machine code instructions
 Used for general use
Interpreter
 Executes a high-language program a statement at a time
 No executable file of machine code produced
 One high-level language program statement may require several machine
code instructions to be executed.
 Interpreted programs cannot be used without an interpreter
 Used when the program is being developed
Assembler
 Translates a low-level language program into machine code
 Executable file of machine code produced
 One low-level language translated into one machine code instructions
 It can be used without an assembler
 Used for general use

Compiler Interpreter Assembler

Translates a low-level
Translates a high-level Executes a high-level
assembly language
language program into language program one
program into machine
machine code. statement at a time.
code.

An executable file of No executable file of An executable file of


machine code is machine code is machine code is
Compiler Interpreter Assembler

produced. produced. produced.

One high-level One high-level language One low-level


language statement program statement may language statement
can be translated into require several machine is usually translated
several machine code code instructions to be into one machine
instructions. executed. code instruction.

Compiled programs Interpreted programs Assembled programs


are run without the cannot be run without are used without the
compiler. the interpreter. assembler.

An assembled
A compiled program is An interpreter is often
program is usually
usually distributed for used when a program is
distributed for
general use. being developed.
general use.

Source: Cambridge IGCSE and O Level Computer Science - Second Edition (Hodder
Education)

Integrated Development Environments (IDEs)


 An IDE would usually have these features -
o Code Editor
o Translator
o Debugger
o Error Reports
o Auto-Completion and Auto-Correction
o Auto-Documenter
o Pretty Printing

The Internet and Its Uses


The Internet and the World Wide Web
Internet World Wide Web (WWW)

Uses transmission protocols such as Collection of webpages and other


TCP and IP (Internet Protocols) information on websites

Allows the user to communicate with Uses HTTP(S) protocols that are
other users via chat, email, calling written using Hypertext Mark-up
and more Language (HTML)

Worldwide Collection of URLs (Uniform Resource Locator)


Internet World Wide Web (WWW)

are used for the location of the web


Interconnected Networks and Devices
pages

Web browsers can access web


pages.

Uniform Resource Locator (URLs)

 URLs are used to locate and access web pages. The typical format of URLs

is -

protocol://website address/path/file name

 The protocol would usually be HTTP or HTTPS

 The website address would contain -

o domain host (www)

o domain name (website name)

o domain type (.com, .org, .net, .gov) or sometimes country codes

(.uk, .in, .cy)

 The path would usually become the file directory roots. for

example, https://www.znotes.com/computer-science

o The /computer-science is the file name

HTTP and HTTPS

 HTTP stands for Hypertext Transfer Protocol, and HTTPS stands for

Hypertext Transfer Protocol secure

 They are safety protocols maintained while transmitting data.

Web Browsers

 It is software used to connect to the internet

 It translates the HTML code


 ensures SSL & TLS security can be established

 Offers additional features like search history & ad blockers

Retrieval and Location of web pages

 The browser sends the URL to the domain name server (DNS)

 DNS stores the index and matches it with the IP

 IP is sent to the browser if it exists

 The browser sends a request to the IP of the webserver

 Browser interprets the HTML

Cookies

 Cookies are small files stored on the user’s computer

 They are used to track data about the users and autofill forms or give

suggestions accordingly

 Types of Cookies -

Session Cookie Persistent Cookie

Temporary cookies are stored in Remembers the user’s login details so the
the RAM till the browser is user doesn’t have to log in every time
closed. they visit a website

Stored on the hard disk on the computer


Doesn’t collect any information
until their expiry date or the user deletes
on the user
them

A good example is the virtual


shopping basket on e-
commerce websites.
Digital Currency
 Form of payment to pay for goods and services

 A few examples are Debit/Credit Cards, Apps (Paypal, Apple Pay, Bank

Transfers and many more)

 Cryptography was later introduced due to the problem in centralised

banking systems.

 Cryptocurrency uses cryptography to maintain track of transactions.

 Cryptocurrency is also more secure because it uses Blockchain Network

Blockchain Network

 Blockchain Network involves several interconnected computers where the

transaction data is stored

 Hacking isn’t possible here as transaction details would be sent to all the

computers, and the data can’t be changed without the consent of all the

network members

How do blockchains work

Every time a transaction takes place, A block is created. The block would

contain

 Data - Name of the sender and the receiver, amount of money and more

 Hash Value - Unique value generated by an algorithm

 Previous Hash Value - Hash Value of the previous block in the chain
The first block is called the genesis block as it doesn’t point to any

previous block (Previous Hash Value - 0000)

Cyber Security

Brute Force Attack:

 Hackers try to guess your password by trying all the different

combinations of letters, numbers and symbols.

 Effect:

o Hacker gets access to user’s personal data (credit cards, passwords

and more)

 To remove risk:

o Use stronger passwords with more characters and symbols

Data Interception:

 This involves stealing data by tapping into a wired or a wireless

transmission line

o Wardriving - The act of locating and using wireless internet

connections illegally
o Packet Sniffing - Uses Packet sniffers to examine packets sent over a

line; all the data collected is sent back to the attacker

 Effect:

o It can cause a computer to crash

o Can delete or corrupt files/data

 To remove risk:

o Install anti-virus software

o Don’t use software from unknown sources

o Be careful when opening emails from unknown

Distributed Denial of Service Attacks (DDoS)

 An attempt at preventing users from accessing part of a network

 Usually temporary but may be damaging

 An attacker may be able to prevent the user from:

o Accessing their emails

o Accessing websites

o Accessing online services

Hacking

 The act of gaining illegal access to a computer system

 Effect:

o This leads to identity theft, gaining personal information

o Data can be deleted, changed or corrupted

 To remove risk:

o Firewalls

o Strong passwords/ user IDs

o Use of anti-hacking software

 Difference between hacking and cracking


o Hacking breaks into computer systems to steal data

o Cracking is when someone edits a program code, malicious

Malware

 Stands for Malicious Software. A few examples are -

o Virus - A program that can replicate itself with the intention of

deleting or corrupting files, causing a computer malfunction

o Ransomware - Attackers encrypt the user’s data until a certain

amount of money is paid

o Adware - Displays unwanted ads on the user’s screen

o Trojan Horse - Programs that are disguised as legitimate software

o Spyware - Sends data about all the activities of the user to the

attacker

o Worms - Programs that can replicate themselves with the intention

of corrupting the entire network instead of the computer alone

Phishing

 Attackers send legitimate-looking emails to bait the user into giving out

their information.

 To remove risk:

o Don’t open links from unknown receivers

o Use anti-phishing tools

o Block pop-up ads

o Have an up-to-date browser

Pharming

 The attacker installs a malicious code on the computer, which redirects the

user to fake websites

 Effect:

o The user gives out login details and other personal details
 To remove risk:

o Using anti-virus software

o Checking the spelling and the weblink carefully

o Make sure that the green padlock is present in the URL bar

Social Engineering

 Attackers create a social situation which leads to victims giving out their

details (For example - Spam calls informing them that their account has

been hacked)

Keeping data safe from threats

 Access Levels - Having Different levels of access for different people (for

example - Only doctors can have access to patient’s data)

 Antivirus - Protects user’s computer from malware attacks

 Authentication - User proving who they are. The most common methods

are passwords, PINs, Mobiles (OTPs), biometrics and more)

Benefits and Drawbacks of Biometric Method

Biometric
Benefits Drawbacks
Methods

Most development
Intrusive as used to identify
methods are very easy to
Fingerprint criminals, Can’t be used if the
use and require very low
Scans finger gets dirty or damaged
storage space to store
(e.g. cuts)
the biometric data.

With very high accuracy, It is very intrusive, Takes longer


Retina Scan it Impossible to replicate to verify, Expensive to install
a person’s retina and set up

Can’t identify if there are any


Face Non-intrusive method,
changes in the lighting, change
Recognition Relatively cheaper
in age or person’s age.
Biometric
Benefits Drawbacks
Methods

Voices can be recorded and


Non-Intrusive method, used for verification, but low
Voice verification is done accuracy and illnesses such as
Recognition quickly and relatively colds or coughs can affect a
cheaper person’s voice, making
identification impossible.

 Two-Step Verification - Requires two methods of authentication to prove

who the user is

 Automatic Software Updates - Latest updates contain patches which

improve device security

 Spelling and Tone - Fake emails tend to have wrong spelling and grammar

(amazonn instead of amazon), and the tone would also seem urgent

 Firewalls - Hardware or Software which monitors the traffic between a

network and the user’s computer

 Proxy Servers - Acts as an intermediate between the user’s computer and

the web server. They are used for -

o Filtering Internet traffic

o Keeping the user’s IP Address Confidential

o Blocking access to certain websites

o Attacks like DDoS and Hacking attack the proxy server, keeping the

web server safe.

o Acts as a firewall as well.

 Privacy Settings - Used to limit who can access and see a user’s profile

 SSL (Secure Socket Layer) - Set of rules used while communicating with

other users on the internet.


Automated and Emerging
Technologies
Automated Systems
 Automated Systems are a combination of software and hardware designed

to function without human intervention.

 Process of Automated Systems

o Sensors take inputs, and they are sent to the microprocessor. The

data is usually analogue, so it has to go through Analogue-to-Digital

Converter (ADC)

o The microprocessor processes the data and makes the necessary

decisions based on its program

o The actions are then executed by the actuators (Motors, wheels and

so on)

Advantages and Disadvantages of Automated Systems

Advantages Disadvantages

Faster and Safer Expensive to set up and maintain

Any changes can be Any computerised systems are prone to


identified quickly attacks

Less Expensive in the long Over-reliance on automated systems may


run cause humans to lose skills

Higher Productivity and


Efficiency

You should be able to describe the advantages and disadvantages

of an automated system used for a given scenario.

Including scenarios from:


 industry

 transport

 agriculture

 weather

 gaming

 lighting

 science

Robotics
 Robotics is the branch of computer science that combines robot design,

construction and operation.

 Isaac Asimov’s Laws of Robotics -

o A robot may not injure a human through action or inaction

o A robot must obey orders given by humans unless it comes into

conflict with Law 1

o a robot must protect itself unless this conflicts with law 1.

 Characteristics of a robot -

o Ability to sense their surroundings

o Have a degree of movement

o Programmable

NOTE - ROBOTS DO NOT POSSESS AI; THEY TEND TO DO

REPETITIVE TASKS RATHER THAN REQUIRING HUMAN

CHARACTERISTICS

 Types of Robots -
o Independent - Have no human intervention; they can completely

replace humans

o Dependent - Needs human intervention through an interface, can

supplement but can’t completely replace humans

Advantages and Disadvantages of Robots

Advantages Disadvantages

Robots can find it difficult to do non-


Robots can work 24/7
standard tasks

Robots can work in hazardous Robots can lead to higher


conditions unemployment

They are less expensive in the long Risk of deskilling as robots replace
run humans in some task

They have high productivity and Expensive to install and maintain in


are more consistent the short run

Robots have the risk of getting


hacked.

Artificial Intelligence
 AI is the branch of computer science that simulates intelligent human

behaviour.

 Types of AI -

o Narrow AI - A machine has superior performance to a human when

doing one specific task

o General AI - A machine is similar to a human when doing one

specific task

o Strong AI - Machine has superior performance to a human in many

tasks

 Characteristics of AI -
o Collection of Data and Rules

o Ability to Reason

 Ability to learn and adapt

Types of AI

 Expert System - AI that is developed to mimic human knowledge and

experiences. They are usually used for answering questions using

knowledge and inference.

 They have many applications, including chatbots, diagnosis in the medical

industry, financial calculations and so on

Advantages and Disadvantages of Expert Systems

Advantages Disadvantages

Setup and Maintenance costs are very


High level of Expertise
high

High Accuracy and Can only rely on the information in the


Consistent system

High response times Tend to give cold responses sometimes

 Machine Learning is a subset of AI in which machines are trained

to learn from past experiences.

Difference Between AI and Machine Learning

AI Machine Learning

Representation of human Machines are trained to make decisions


intelligence in machines without being programmed to

The aim is to build machines The aim is to make machines learn


that think like humans through data acquisitions
Algorithm Design & Problem-
Solving
Program Development Life Cycle (PDLC)
 Analysis

 Design

 Coding

 Testing

 Maintenance

Analysis

 Before solving a problem, it is essential to define and document the

problem clearly, known as the "requirements specification" for the

program.

 The analysis stage involves using tools like abstraction and decomposition

to identify the specific requirements for the program.

 Abstraction focuses on the essential elements needed for the solution

while eliminating unnecessary details and information.

 Decomposition involves breaking down complex problems into smaller,

more manageable parts that can be solved individually.

 Daily tasks can be decomposed into constituent parts for easier

understanding and solving.

Design

 The program specification derived from the analysis stage is used as a

guide for program development.


 During the design stage, the programmer should clearly understand the

tasks to be completed, the methods for performing each task, and how the

tasks will work together.

 Documentation methods such as structure charts, flowcharts, and

pseudocode can be used to document the program's design formally.

Coding and iterative testing

 The program or set of programs is developed based on the design.

 Each module of the program is written using a suitable programming

language.

 Testing is conducted to ensure that each module functions correctly.

 Iterative testing is performed, which involves conducting modular tests,

making code amendments if necessary, and repeating tests until the

module meets the required functionality.

Testing

 The completed program or set of programs is executed multiple

times using various test data sets.

 This testing process ensures that all the tasks within the program

work together as specified in the program design.

 Running the program with different test data can identify and

address potential issues and errors.

 The testing phase aims to verify the overall functionality and

performance of the program by evaluating its behaviour with

various inputs.

Structure Diagrams
 Every computer system is made up of sub-systems, which are in

turn made up of further sub-systems.


 Structure Diagrams – The breaking down of a computer system

into sub-systems, then breaking each sub-system into smaller sub-

systems until each one only performs a single action. A structure

diagram diagrammatically represents a top-down design. Example

below.

Pseudocode & Flowcharts

 Pseudocode - Verbal representation of an algorithm (a process or

set of steps) and flowcharts are a diagrammatic representation.

 Flowcharts: A flowchart shows diagrammatically the steps required

to complete a task and the order that they are to be performed

 Algorithm: These steps, together with the order, are called an

algorithm
An example of a flowchart is given below from a past paper question in

which all of the functions of a flowchart are shown:


This flowchart’s task is to check if a rider’s height is more the requirement

(1.2) in this case. It then counts until the accepted riders are 8. After they

are 8, it outputs the number of rejected riders and tells the rest that they

are ready to go!

Pseudocode
 Declaration & Usage of Variables & Constants

o Variable – Store of data which changes during execution of the

program (due to user input)

o Constant – Store of data that remains the same during the

execution of the program

 Basic Data Types

Integer – Whole Number e.g. 2; 8; 100

o Real – Decimal Number e.g. 7.00; 5.64

o Char – Single Character e.g. a; Y

o String – Multiple Characters (Text) e.g. ZNotes; COOL

o Boolean – Only 2 Values e.g. True/False; Yes/No; 0/1

 Input & Output (READ & PRINT) – Used to receive and display

data to the user respectively. (It is recommended to use input and

output commands)
 Declaration of variable - A variable/constant can be declared by
the following manner

 Array: Array is similar to variable but it can store multiple values of


same datatype under single name

 Assignment - Each variable is assigned using a left arrow.

 Conditional Statements:
IF…THEN…ELSE…ENDIF
CASE…OF…OTHERWISE…ENDCASE – Multiple conditions and
corresponding consequences

 Loop Structures:

REPEAT… UNTIL – Will run at least once till condition is satisfied;


Verification is done after running code
WHILE…DO…ENDWHILE – May not ever run; Verification is done before
running code

Note: When using conditions in these loop structures and conditional


statement, it has to be kept in mind that it can be done in two ways:
1. use of a Boolean variable that can have the value TRUE or FALSE
2. comparisons made by using coparison operators, where
comparisons are made from left to right
Standard methods used in algorithm:
 Totalling :Totalling means keeping a total that values are added to

 Counting: Keeping a count of the number of times an action is


performed is another standard method.
 Maximum, minimum and average : Finding the largest and smallest
values in a list are two standard methods that are frequently found
in algorithms

 Linear Search: In a linear search, each item in the list is inspected


sequentially until a match is found or the entire list is traversed.
 Bubble Sort: Iteratively compare and swap adjacent elements in a
list to sort them. Start from the first element and continue until the
second-to-last element. After each pass, the last element is in its
correct place. However, other elements may still be unsorted.
Repeat the process, excluding the last element, until only one
element remains or no swaps are needed.
Validation and Verification
To ensure the acceptance of reasonable and accurate data inputs,
computer systems must thoroughly examine each data item before
accepting it, and this is where Validation and Verification come into play!

Validation
Validation in computer systems involves automated checks to ensure the
reasonableness of data before accepting it. If the data is invalid, the
system should provide an explanatory message for rejection and allow
another chance to enter the data.
There are many types of it.

Range check
A range check verifies that a numerical value falls within specified upper
and lower limits.
Length check
This can either ensure that data consists of a precise number of
characters.

It can also check if the data entered is a reasonable number of characters


or not
Type check
A type check verifies that the entered data corresponds to a specific data
type.

Presence check
A presence check checks to ensure that some data has been entered and
the value has not been left blank

Format Check
A format check checks that the characters entered conform to a pre-
defined pattern.

Check Digit
 A check digit is the final digit included in a code; it is calculated from all
the other digits.
 Check digits are used for barcodes, product codes, International Standard
Book Numbers (ISBN), and Vehicle Identification Numbers (VIN).

Verification
Verification is checking that data has been accurately copied from one
source to another
There are 2 methods to verify data during entry ( there are other
methods during data transfer, but they are in paper 1)

1. Double Entry
 Data is inputted twice, potentially by different operators.
 The computer system compares both entries and if they differ, an error
message is displayed, prompting the data to be reentered.

2. Screen/Visual check
 A screen/visual check involves the user manually reviewing the entered
data.
 After data entry, the system displays the data on the screen and prompts
the user to confirm its accuracy before proceeding.
 The user can compare the displayed data against a paper document used
as an input form or rely on their own knowledge to verify correctness.

Test Data
 Test data refers to input values used to evaluate and assess the

functionality and performance of a computer program or system.

 It helps identify errors and assess how the program handles different

scenarios

Normal Data
 Normal data is the test data which accepts values in acceptible range of

values of the program

 Normal data should be used to work through the solution to find the actual

result(s) and see if they are the same as the expected result(s)

 e.g. in a program where only whole number values ranging from 0 to 100

(inclusive) are accepted, normal test data will be : 23, 54, 64 , 2 and 100
Abnormal Data
 Test data that would be rejected by the solution as not suitable, if the

solution is working properly is called abnormal test data / erroneous test

data.

 e.g. in a program where only whole number values ranging from 0 to 100

(inclusive) are accepted, abnormal data will be: -1, 151, 200, 67.2, “Sixty-

Two” and -520

Extreme Data
 Extreme data are the largest and smallest values that normal data can

take

 e.g. in a program where only whole number values ranging from 0 to 100

(inclusive) are accepted, extreme data will be: 0 and 100

Boundary Data
 This is used to establish where the largest and smallest values occur

 At each boundary two values are required: one value is accepted and the

other value is rejected.

 e.g. in a program where only whole number values ranging from 0 to 100

(inclusive) are accepted, one example of boundary data will be: 100 and

101. 100 will be accepted and 101 will not be accepted

Trace Table
 A trace table is utilized to document the outcomes of every step in an

algorithm. It is employed to record the variable's value each time it

undergoes a change.
 A dry run refers to the manual process of systematically executing an

algorithm by following each step in sequence.

 A trace table is set up with a column for each variable and a column for

any output e.g.

Test data is employed to execute a dry run of the flowchart and document

the outcomes in a trace table. During the dry run:

 Whenever a variable's value changes, the new value is recorded in the

respective column of the trace table.

 Each time a value is outputted, it is displayed in the output column.

An example of trace table is given below using a past paper question:

Q: The flowchart below inputs the height of children who want to ride on a

rollercoaster. Children under 1.2 metres are rejected. The ride starts when

eight children have been accepted.


Complete the trace table for the input data: 1.4, 1.3, 1.1, 1.3, 1.0, 1.5, 1.2,

1.3, 1.4, 1.3, 0.9, 1.5, 1.6, 1.0

Rider Rejec Heigh


OUTPUT
s t t

0 0

1 1.4

2 1.3

1 1.1

3 1.3

2 1.0

4 1.5

3 1.2
Rider Rejec Heigh
OUTPUT
s t t

5 1.3

6 1.4

7 1.3

4 0.9

Ready to go
8 1.5
4

Identifying errors:
 Trace tables can be used to trace errors in a program. For example, if the

requirement for the previous question would be to accept riders that are of

height 1.2 too, rather than rejecting them, then the error would have been

caught in the trace table as when 1.2 is entered, it would increment

rejected which it shouldn’t in our example

How to write an algorithm?


The ability to write an algorithm is very important for this

syllabus and paper. Some key steps/points to be known in-order

to write the perfect algorithm are as follows:

1. Make sure that the problem is clearly understood which includes knowing

the purpose of the algorithm and the tasks to be completed by the

algorithm.

2. Break the problem into smaller problems (e.g. in a program which outputs

average values, divide the problem into multiple ones i.e. how to count the

number of iterations and how to count the total of all values)


3. Identify the data that is needed to be saved into

variables/constants/arrays and what datatype it is, and declare all the

variables/constants/arrays accordingly, with meaningfull names

4. Decide on how you are going to construct your algorithm, either using a

flowchart or pseudocode. If you are told how to construct your algorithm,

then follow the guidance.

5. Construct your algorithm, making sure that it can be easily read and

understood by someone else. Take particular care with syntax e.g. when

conditions are used for loops and selection.

6. Use several sets of test data (Normal, Abnormal and Boundary) to dry run

your algorithm and check if the expected results are achieved (a trace

table can be used for this purpose) . If error is found, find the point of error

in the trace table and fix it in the code.

Note: The algorithms that you have looked at so far in these notes were

not designed with readability in mind because you needed to work out

what the problem being solved was.

Sample 15 mark Question


Sample #1 [15 marks]

Given a student name array and a 2D student mark array, calculate the

total and average marks, award grades for each student, and output the

number of distinctions, merits, passes, and fails for the whole class.

#Declare the variables constants and arrays, although you need not

specify the values for the array.


THIS IS AN EXAMPLE QUESTION FROM THE:
COMPUTER SCIENCE 0478/02 Paper 2 Algorithms, Programming and Logic
For examination from 2023 SPECIMEN PAPER

Programming
Programming Languages
There are many high-level programming languages to choose

from. We will only be treating Python, Visual Basic, or Java.

 Python is an open-source, versatile programming language that

encourages quick program development and emphasises code readability.

The integrated development environment (IDE) showcased in this chapter

is referred to as IDLE.

 Visual Basic is a popular programming language that is extensively used

for Windows development. The integrated development environment (IDE)

featured in this chapter is known as Visual Studio, which is utilised for

capturing screenshots.

 Java is a widely adopted programming language utilised by numerous

developers. The integrated development environment (IDE) employed for

capturing screenshots in this chapter is known as BlueJ.

Programming Concepts
Constructs of a Program

 Data use – variables, constants and arrays


 Sequence – order of steps in a task

 Selection – choosing a path through a program

 Iteration – repetition of a sequence of steps in a program

 Operators use arithmetic for calculations and logic and Boolean for

decisions.

Variables and Constants

 A variable within a computer program refers to a named storage

unit with a value that can be modified throughout the program's

execution. To enhance comprehension for others, it is advisable to

assign significant names to variables.

 A constant within a computer program represents a named storage

unit that holds a value which remains unchanged throughout the

program's execution. Similar to variables, it is recommended to

assign meaningful names to constants to enhance comprehensibility

for others.

Data Types

 Different data types are assigned to computer systems for effective

processing and storage.

 Data types allow data, such as numbers or characters, to be stored

appropriately.

 Data types enable effective manipulation using mathematical operators

for numbers and character concatenation.

 Some data types provide automatic validation.

 The types of datatypes are told in Chapter 1 already!

Input and Output

 Programs require input and output statements to handle data.


 In IGCSE Computer Science, algorithms and programs are designed to take

input from a keyboard and output to a screen.

 Prompting the user with clear instructions for input is necessary for the

user to understand what is expected.

 Input data in programming languages must match the required data type

of the variable where it will be stored.

 By default, inputs are treated as strings, but commands can convert input

to integer or real number data types.

 Users should be provided with information about the output/results for a

program to be useful.

 Each output should be accompanied by a message explaining the result's

meaning or significance.

 If an output statement has multiple parts, they can be separated by a

separator character.

Basic Concepts
When writing the steps required to solve a problem, the following

concepts need to be used and understood:

 Sequence

 Selection

 Iteration

 Counting and totalling

 String handling

 Use of operators.

Sequence

The ordering of the steps in an algorithm is very important. An incorrect

order can lead to incorrect results and/or extra steps that are not required

by the task.
Selection

Selection is a very useful technique, allowing different routes through the

steps of a program. The code of this is explained in the notes of previous

chapters.

Iteration

As explained in the previous chapter, we already

Totalling and Counting

As explained in the previous chapter, we already

String Handling

 Strings are used to store text and can contain various characters.

 An empty string has no characters, while the programming language

specifies the maximum number of characters allowed.

 Characters in a string can be identified by their position number, starting

from either zero or one, depending on the programming language.

 String handling is an important aspect of programming.

 In IGCSE Computer Science, you will need to write algorithms and

programs for the following string methods:

o Length: Determines the number of characters in a string,including

spaces.

o Substring: Extracts a portion of a string.

o Upper: Converts all letters in a string to uppercase.

o Lower: Converts all letters in a string to lowercase.

 These string manipulation methods are commonly provided in

programming languages through library routines.

Finding the length of a string:


Extracting a substring from a string:

Converting a string to upper case

Converting a string to lowercase

Arithmetic, Logical and Boolean Operators


As explained in the previous chapter, we already
Use of Nested Statements
 Selection and iteration statements can be nested, meaning one statement
can be placed inside another.
 Nested statements help reduce code duplication and simplify testing of
programs.
 Different types of constructs can be nested within each other, such as
selection statements within condition-controlled loops or loops within
other loops.
Procedures and Functions
 A procedure refers to a collection of programming statements
organized under a single name, invoked at any given point in a
program to execute a specific task.
 A function is a compilation of programming statements consolidated
under a singular name, invoked at any moment within a program to
accomplish a particular task. Unlike a procedure, a function also has
the capability to return a value back to the main program.
 Parameters refer to variables that store the values of arguments
passed to a procedure or function. While not all procedures and
functions require parameters, some utilize them to facilitate their
operations.

Procedures without parameters:

The procedure with parameters:

Function:

 When defining procedures and functions, the header is the first statement
in the definition.
 The header includes:
o The name of the procedure or function.
o Parameters passed to the procedure or function, along with their
data types.
o The data type of the return value for a function.
 Procedure calls are standalone statements.
 Function calls are made as part of an expression, typically on the right-
hand side.
Local and Global Variable
 Any part of a program can use a global variable – its scope covers
the whole program
 A local variable can only be used by the part of the program it is
declared in – its scope is restricted to that part of the program.
Note: Any variables/arrays made in this procedure and functions
will be local and cannot be used out of these. To be made
available all over the program, they must be declared globally in
the following way.

Library Routines

 Programming language development systems often provide library

routines that can be readily incorporated into programs.

 Library routines are pre-tested and ready for use, making programming

tasks easier.

 Integrated Development Environments (IDEs) typically include a standard

library of functions and procedures.

 Standard library routines perform various tasks, including string handling.

 MOD – returns the remainder of a division

 DIV – returns the quotient (i.e. the whole number part) of a division

 ROUND – returns a value rounded to a given number of decimal places

 RANDOM – returns a random number.

Examples:

 Value1 <--- MOD(10,3) returns the remainder of 10 divided by 3

 Value2 <---- DIV(10,3) returns the quotient of 10 divided by 3

 Value3 <--- ROUND(6.97354, 2) returns the value rounded to 2 decimal

places
 Value4 <--- RANDOM() returns a random number between 0 and 1

inclusive

Creating a Maintainable Program

A maintainable program should:

 always use meaningful identifier names for variables, constants, arrays,

procedures and functions

 be divided into modules for each task using procedures and functions

 be fully commented using your programming language’s commenting

feature

Commenting in pseudocode:

Arrays
 An array is a data structure containing several elements of the same data
type; these elements can be accessed using the same identifier name.
 The position of each element in an array is identified using the array’s
index.
 There are two types of arrays
One-Dimensional Array
Explained in the previous chapter in detail
Two-Dimensional Array
 A two-dimensional array can be referred to as a table with rows and
columns.

 When a two-
dimensional array is declared in pseudocode, the first and last index
values for rows and the first and last index values for columns alongside
the data type are included.

Declaring a 2D Array:

Filling a 2-D array using a loop:

File Handling
 Computer programs store data that will be needed again in a file.
 Data stored in RAM is volatile and will be lost when the computer is
powered off.
 Data saved to a file is stored permanently, allowing it to be accessed by
the same program at a later date or by other programs.
 Stored data in a file can be transferred and used on other computers.
 The storage of data in files is a commonly used feature in programming.

Key point: When writing in a file, the program is outputing the


data to the file, and when reading a file, the program in inputing
the data from the file.
There are 3 ways a file can be opened in a program i.e. to write, to read
and to append

Writing in a file

Appending a file

Reading a file:
Reading a file till EOF:

Databases
A database is a well-organized compilation of data that enables individuals

to retrieve information according to their specific requirements. The data

contained within a database can encompass various forms such as text,

numerical values, images, or any other type of digital content that can be

stored on a computer system.

Why do we need a database?


 To store data about people, things, and events.

 Any modifications or additions need to be made only once, ensuring data

consistency.

 All users access and utilize the same set of data, promoting uniformity.

 Relational databases store data in a non-repetitive manner, eliminating

duplication.

What makes a database?


 Data is stored in tables in databases. Each table consists of a specific

type of data e.g. cars. These tables HAVE to be named according to what

they contain e.g. a table containing patient information will be PATIENT


 These tables consist of records (rows). Each record consists of data about

a single entity (a single item, person or event ) e.g. a single car

 These tables also have columns that are knows an fields. These consist of

specific information regarding the entities that are written later in records

e.g. car name, car manufacturer etc.

Note: In this chapter, skills of dealing with a database are also

required so working with Microsoft Access is needed to

understand this chapter better. You have to be able to define a single-

table database from given data storage requirements, choose a suitable

primary key for a database table and also be able to read, complete and

understand SQL scripts.

Source: Cambridge IGCSE and O Level Computer Science by Hodder

Education

Validation in databases
 Database management software automatically provides some validation

checks, while others need to be set up by the developer during

construction.

 For example; The software automatically validates fields like

"DateOfAdmission" in the PATIENT table to ensure data input is a valid

date. \n
Basic Data Types
Each field will require a data type to be selected. A data type classifies

how the data is stored, displayed and the operations that can be

performed on the stored value.

The datatypes for database are quite similar to original datatypes,

however, there are a few differences.

Note: Access datatype refers to the software Microsoft Access

which is a DBMS (DataBase Management System). Here,

databases could be worked upon in practical form

Primary Key
 Each record in a table represents a unique item, person, or event.

 To ensure reliable identification of these items, a field called the primary

key is necessary.

 The primary key is a unique field that distinguishes each item within the

data.

 In order to serve as a primary key, a field must have values that are never

repeated within the table.

 An existing field can serve as a primary key if it is unique, such as the

ISBN in the book table.

 In cases where all existing fields may contain repeated data, an additional

field, such as "HospitalNumber," can be added to each record to serve as

the primary key.


Structured Query Language - SQL
 Structured Query Language (SQL) is the standard language for writing

scripts to retrieve valuable information from databases.

 By using SQL, we can learn how to retrieve and display specific

information needed from a database.

 For instance, someone visiting a patient may only require the ward

number and bed number to locate them in the hospital, while a consultant

may need a list of the names of all the patients under their care. This can

be done using SQL

SQL Scripts

 An SQL script is a collection of SQL commands that are used to perform a

specific task, often stored in a file for reusability.

 To comprehend SQL and interpret the output of an SQL script, practical

experience in writing SQL scripts is necessary.

Select Statements:

Selecting Sum of values in a table:

Counting the number of records where the field matches a


specified condition
==ORDER BY Field1, Field2, etc. – this specifies a sort in ascending or

alphabetical order starting with the first field.

==ORDER BY Field1, Field2 DESC – this specifies a sort in descending or

reverse alphabetical order starting with the first field.

Note: ORDER BY is not necessary to add. It has to be only added if

required!

Operators
Just like pseudocode, the operators used there can also be used here for

conditions, however, a few more are also used in databases


Boolean Logic
Logic Gates and their functions
Six types of logic gates

 NOT Gate

 AND Gate

 OR Gate

 NAND Gate

 NOR Gate

 XOR Gate

NOT gate: an inverter

Outpu
A
t

0 1

1 0
AND gate: multiplication

Outpu
A B
t

0 0 0

0 1 0

1 0 0

1 1 1

OR gate: addition

Outpu
A B
t

0 0 0

0 1 1

1 0 1

1 1 1

NAND gate: (not and gate)

Outpu
A B
t

0 0 1
Outpu
A B
t

0 1 1

1 0 1

1 1 0

NOR gate: (not or gate)

Outpu
A B
t

0 0 1

0 1 0

1 0 0

1 1 0

XOR gate: (a and not b) or (not a and b)

Outpu
A B
t

0 0 0
Outpu
A B
t

0 1 1

1 0 1

1 1 0

Writing Logic Statements


Logic Statements is a way of showing all the logics that are in place for a

logic circuit.

Writing from a logic circuit


1. Look at the ciruit and go around the logic gates used in the circuit

2. Go from the one output that is being given towards the input

3. Write the last gate ( the first gate you walk through ) in the middle and

then, for each of the value coming into the gate, leave space at the side

4. If the value coming into the gate is coming from another gate, use a

bracket for the gate’s logic

5. Repeat process 3-4 till you are able to reach the input values fully

Writing from a truth table


1. Create logic circuit fom the truth table (shown later)

2. Write the logic statement using the ciruit


Writing from a Problem statement
1. See what logics go in place in the statement to take place

2. Go from the logic of any 2 inputs at the start, and then keep on going until

you are able to reach the final gate which gives the output

3. When writing the statement, make sure you show the logic statement

where the output is 1

Example of a LOGIC STATEMENT


(B AND C) OR (A NOR (A NAND C)) is the logic statement for the

following Logic Circuit

Creating Truth Tables


From Logic Circuits
1. Create a truth table with each input possible, creating every possible

combination of inputs . Tip: For the first input, write it in the

combination of 1,0,1,0 and so on. For the second, go 1,1,0,0 and

so on, and for the third one, go 1,1,1,1,0,0,0,0 going by the

powers of 2 for each input. This would guarantee each possible

combination

2. Run through the circuit with the inputs and get the output that will be

reached and write it accordingly


For logic statements, and problem statements, convert them to

logic circuits first and then do the rest

Example
This is the example of a truth table of a logic circuit

The circuit:

Logic Statements from Truth


Tables
1. Given the truth table above, take the rows where the output (x) is 1 (Rows

1, 2, 4, 5, 6, 7)

2. Create a logic expression from these rows (example, row 1 will be (NOT A

AND NOT B AND NOT C) = X

3. Create logic expressions for all the rows with output 1 and connect them

with OR gate

Exam-Style Question
1. The Conditions are given so make logic statements using the conditions

and the table. (NOT S AND T) OR (S AND W) OR (NOT T AND W)

2. Make the logic circuit from the given equation

3. Make the truth table

You might also like