0% found this document useful (0 votes)
29 views107 pages

CHAPTERS-WPS Office

The document provides an overview of data representation, focusing on number systems such as binary, denary, and hexadecimal, along with conversion methods between them. It explains binary calculations, logical shifts, and two's complement for representing negative values, as well as the use of hexadecimal in various applications. Additionally, it covers the representation of text, sound, and images in digital formats, including ASCII, Unicode, and the calculation of file sizes based on image resolution and sound sampling.

Uploaded by

tendaimukucha495
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views107 pages

CHAPTERS-WPS Office

The document provides an overview of data representation, focusing on number systems such as binary, denary, and hexadecimal, along with conversion methods between them. It explains binary calculations, logical shifts, and two's complement for representing negative values, as well as the use of hexadecimal in various applications. Additionally, it covers the representation of text, sound, and images in digital formats, including ASCII, Unicode, and the calculation of file sizes based on image resolution and sound sampling.

Uploaded by

tendaimukucha495
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 107

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 (aka Hex)

 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 Value Hexadecimal Value Denary Value

0000 0 0

0001 1 1

0010 2 2

0011 3 3

0100 4 4

0101 5 5

0110 6 6

Page 1 of 107
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:

128 64 32 16 8 4 2 1

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:

2 142

2 71 Remainder 0

2 35 Remainder 1

2 17 Remainder 1

2 8 Remainder 1
Page 2 of 107
2 4 Remainder 0

2 2 Remainder 0

2 1 Remainder 0

0 Remainder 1

 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.

Hexadecimal: 2 1 F D

Denary 2 1 15 13

Binary 0010 0001 1111 1101

Final Answer: 0010000111111101

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

Page 3 of 107
Given Value: 1 0 0 0 0 1 1 1 1 1 1 1 0 1

When grouped: 10 0001 1111 1101

After 2 values added to left: 0010 0001 1111 1101

After Conversion to Denary: 2 1 15 13

Denary to Hexadecimal: 21FD

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.
Page 4 of 107
 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

Byte1 0 1 1 0 1 1 1 0

Byte2 1 1 0 1 1 1 1 0

overflow

solution 1 0 1 0 0 1 1 0 0

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.

iii. The solution would now be (1) 0 1 0 0 1 1 0 0

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)==

Page 5 of 107
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:

-128 64 32 16 8 4 2 1

1 0 1 1 1 0 1 0

-128 + 32 + 16 + 8 + 2 = -70

Use of the Hexadecimal System

Page 6 of 107
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

Page 7 of 107
 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.

‘a’ 1 1 0 0 0 0 1 Hex 61 (lower case)


‘A’ 1 0 0 0 0 0 1
Hex 41 (upper case)

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

Page 8 of 107
 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

Page 9 of 107
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 size No. of Bytes Equivalent Denary Value

1 kibibyte (1KiB) 210 1 024 bytes


Page 10 of 107
1 mibibyte (1MiB) 220 1 048 576 bytes

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

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

1 pibibyte (1PiB) 250 1 125 899 906 842 624 bytes

Conventional System

Name of No. of bytes Equivalent denary value


memory size

1 kilobyte (1KB) 103 1 000 bytes

1 megebyte (1MB) 106 1 000 000 bytes

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

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

1 petabyte (1PB) 1015 1 000 000 000 000 000 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). (For a stereo sound file, you would then multiply
the result by two.)

File Types

Musical Instrument Digital Format (MIDI)

 Storage of music files

 A communications protocol that allows electronic musical instruments to interact with


each other

Page 11 of 107
 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:

 The first byte is the status byte – which informs the MIDI device what function to
perform

 Encoded in the status byte is the MIDI channel (operates on 16 different channels)

 Examples of MIDI commands:

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

 Key pressure: indicates how hard it has been pressed (loudness of music)

 It needs a lot of memory storage

MP3

 It 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%

 Done using file compression algorithms, which use Perceptual Music Shaping

 Removes sounds that the human ear cannot hear properly

 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

Page 12 of 107
 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 again when the file 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.”

Page 13 of 107
 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 as 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 in 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 -

 Header

 Contains the IP address of the sender and the receiver

 The sequence number of the packet


Page 14 of 107
 Size of the packet

 Payload

 Contains the actual data

 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 single line of Packets may be lost


communication

Possible to overcome failed or busy nodes More prone to errors in real-time streaming

High data transmission speed Delay at the receiver while the 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.

Page 15 of 107
Comparison of Serial and Parallel Data Transmission

Serial Parallel

Better for longer distances (Telephone Lines) Better for short distances (Internal circuits)

Cheaper Option Expensive (More hardware required)

Used when the size of data transmitted is small Used when speed is necessary

Slower Option Faster than Serial

Universal Serial Bus (USB)

 USB is an asynchronous serial data transmission method

 USB consists of:

 Four-wire shielded cable

 Two wires are used for power and earth

 Two wires are used in data transmission

Advantages Disadvantages

Automatically detected Transmission rate is less than 120 MB/sec

Only fit one way, prevents incorrect connections Maximum cable length is about 5 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 -

 Even - Even number of 1-bits

 Odd - Odd numbers of 1-bits


Page 16 of 107
 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.

1 2 3 4 5 6 7

A 1 0 1 1 1 1 1 0

B 1 1 0 1 0 0 0 1

C 1 0 1 1 0 1 1 1

D 1 1 0 1 0 0 1 1

E 1 1 1 0 0 1 0 0

1 1 1 0 0 1 1 1

 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.

Page 17 of 107
 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 -

 6372 typed as 6379

 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

Page 18 of 107
 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:

 It uses an encryption key for the encryption process; the same key is used for
encrypting and decrypting the data.

 Asymmetric Encryption:

 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.

 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)
Page 19 of 107
 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:

REGISTER ABBREVIATION DEFINITION

CIR Current instruction register Stores the instruction the CPU is currently decoding or executing

MAR Memory address register Stores the Address of the instruction, copy it, and sends it to MDR

MDR Memory data register Stores the Data from the address received from the MAR and sends
data to CIR

PC Program counter Stores the address of the next instruction to be fetched from
memory

ACC Accumulator During calculations, data is temporarily held in it

Page 20 of 107
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
Page 21 of 107
 A computer’s memory is divided into partitions: Each partition consists of an address and
its contents, e.g.

MEMORY LOCATION CONTENT

10101010 01010110

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

Page 22 of 107
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

 The document is placed on a glass panel

 A bright light illuminates the document

 A scan head moves across the document until the whole page is scanned. An
image of the document is produced and sent to a lens using a series of mirrors

 The lens focuses on the document image

Page 23 of 107
 The focused image now falls onto a charge-coupled device (CCD), which consists
of several integrated circuits

 The software produces a digital image in 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 in 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 to 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

Page 24 of 107
 The left and right-hand sides of the barcode are separate using guard bars

 Allows barcode to be scanned in any direction

 The barcode is read by a red laser or red LED

 Light is reflected off the barcode; dark areas reflect little light, which allows the
bars to be read

 Reflected light is read by sensors (photoelectric cells)

 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:

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

 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

Page 25 of 107
 Each character has an ASCII value and is converted into a digital signal

 Slow method

 Prone to errors

Pointing devices

 Mouse/trackball

 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)

 Made up of many layers of glass

 Creating electric fields between glass plates in layers

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

 Co-ordinates where the screen was touched are determined by an on-board


microprocessor

 Infra-red heat (expensive)

Page 26 of 107
 Use glass as the screen material

 Needs a warm object to carry an input operation

 Infra-red optical (expensive)

 Uses glass as screen material

 Uses an array of sensors (grid form)

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

 Resistive (inexpensive)

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

 When the top polyester is touched, the top layer and bottom layer complete a
circuit

 Signals are then sent out, which are interpreted by a microprocessor to 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:

 Acoustic - These sensors act like a microphone that converts sound to electric
pulses.

 Accelerometer - These sensors measure an object's acceleration or deceleration


and motion.

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

Page 27 of 107
 Gas - These sensors measure the amount/level of any gas in the environment.

 Humidity - This sensor measures the water vapour in the air or any sample.

 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.

 Infra-red (passive) - These sensors detect the heat emitted by any object.

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

 Light - These devices use light-sensitive cells that generate electric current based
on light brightness.

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

 Moisture - This type of sensor detects the water content wherever this sensor has
been installed.

 pH - This measures the acidity or alkalinity.

 Pressure - This sensor measures the pressure applied

 Proximity - This sensor detects the nearby objects around the sensor

 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:

Page 28 of 107
 Signal sent from microprocessor to street lamp

 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)

Page 29 of 107
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)

Page 30 of 107
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:

 LEDs reach their maximum brightness immediately

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

 LEDs improve the colour image

 Monitors using LED are much thinner than CCFL

 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:

 Digital Light Projector (DLP)

 LCD Projector

 Projectors are used to project computer output onto larger screens/interactive whiteboards

Digital Light Projectors (DLP)


Page 31 of 107
 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

Page 32 of 107
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 that is actively being
used or processed by the user immediately.

Features of RAM

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

 Used to store; data, files

 It can be written to or read from, and the contents of the memory can be changed
Page 33 of 107
 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)

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)

Page 34 of 107
 You may be expected to draw a diagram like the above.

 The main advantages of virtual memory are

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

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

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

Read Only Memory (ROM)

Features of ROM

 Non-volatile/permanent memories (contents remain even when ROM is turned off)

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

 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


Page 35 of 107
 Benefits of using SSD rather than HDD:

 More reliable (no moving parts)

 Considerably lighter (suitable for laptops)

 Lower power consumption

 Run much cooler than HDDs

 Very thin

 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.

 A thin layer of metal alloy is used 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

Page 36 of 107
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

Page 37 of 107
Embedded System

 A combination of hardware and software is designed to carry out a specific set of tasks.

 Embedded systems may contain -

 Microcontrollers - CPU, RAM, ROM and other peripherals on one single chip

 Microprocessor - Integrated circuit with CPU only

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

 Process of Embedded Devices -

 Input from the user is sent to the microprocessor (ADC needed if the data is
analogue)

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

 The microprocessor then sends signals to actuators which are the output

 Non-programmable devices need to be replaced if they need a software update.

Page 38 of 107
 Programmable devices have two methods of updating

 Connecting the device to a computer and downloading the update

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

Advantages and Disadvantages of using embedded systems

Advantages Disadvantages

Small in size, therefore can easily fit into devices Can be difficult to upgrade

Low cost to make The interface can confusing sometimes

Requires very little power Troubleshooting is a specialist’s job

Very fast reaction to changing input Often thrown away as difficult to upgrade and
faults are harder to find

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

Can be controlled remotely Any computerised system is prone to attacks

Applications of Embedded devices

 GPS systems

 Security Systems

 Vending Machines

 Washing Machines

 Oven

 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).

Page 39 of 107
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 is that UAA is made Universally and cannot
be changed, but it is the opposite for LAA.

IP Addresses

 IP address allocation:

 The network allocates IP addresses.

 Two types of IP addresses: static and dynamic.

 Static IP addresses:

 Assigned manually to a device.

 Does not change over time.

 Dynamic IP addresses:

 Assigned automatically by a DHCP (Dynamic Host Configuration Protocol)


server.

 Changes periodically or when the device connects to a different network.

 IPv4 (Internet Protocol version 4):

 Widely used protocol.

Page 40 of 107
 Consists of four groups of decimal numbers separated by dots (e.g., 192.168.0.1).

 Provides approximately 4.3 billion unique addresses.

 IPv6 (Internet Protocol version 6):

 Developed to address the limitations of IPv4.

 Uses eight groups of hexadecimal numbers separated by colons (e.g.,


2001:0db8:85a3:0000:0000:8a2e:0370:7334).

 Provides an extremely large number of unique addresses (approximately 340


undecillion).

 Differences between IPv4 and IPv6:

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

 Address space: IPv4 provides approximately 4.3 billion addresses, whereas IPv6
offers around 340 undecillion addresses.

 Address allocation: IPv4 addresses are allocated manually using DHCP, while
IPv6 addresses are primarily assigned using stateless auto-configuration.

Routers

 Router functionality:

 A router is a networking device that directs data packets between different


networks.

 It determines the most efficient path for data transmission.

 Sending data to a specific destination on a network:

 A router examines the destination IP address of incoming data packets.

 It uses routing tables to determine the next hop or the next router on the path to
the destination.
Page 41 of 107
 The router forwards the data packet to the appropriate next hop.

 Router's role in IP address assignment:

 A router can act as a DHCP server (Dynamic Host Configuration Protocol) and
assign IP addresses to devices on a local network.

 It dynamically allocates IP addresses from a predefined range to connected


devices.

 DHCP allows for automatic IP address configuration and simplifies network


management.

 Connecting a local network to the Internet:

 A router serves as the gateway between a local network and the internet.

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

 The router receives data packets from devices on the local network and forwards
them to the internet.

 It also receives incoming data packets from the internet and routes them to the
appropriate devices on the local network.

SOFTWARE
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:

Page 42 of 107
 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

Examples

System 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.

Page 43 of 107
 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,

Page 44 of 107
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.

Utility Software

Page 45 of 107
 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.

Page 46 of 107
 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.

Page 47 of 107
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

Page 48 of 107
 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

 Memory Management - Manages the RAM and the HDD/SSD during the execution of
programs

Page 49 of 107
 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

Page 50 of 107
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

Assembly Language

 Few programmers use assembly language to -

 Make use of special hardware

 Write code that doesn’t take up much space

 Write code that runs very quickly

 Assembly language must be translated into machine code using an assembler to


run.

Page 51 of 107
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

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

An executable file of machine code No executable file of machine code An executable file of machine code
is produced. is produced. is produced.

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

Compiled programs are run without Interpreted programs cannot be run Assembled programs are used
the compiler. without the interpreter. without the assembler.

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

Integrated Development Environments (IDEs)

 An IDE would usually have these features -

 Code Editor

 Translator

 Debugger

 Error Reports

 Auto-Completion and Auto-Correction

 Auto-Documenter

 Pretty Printing

The Internet and Its Uses


The Internet and the World Wide Web

Internet World Wide Web (WWW)

Uses transmission protocols such as TCP and IP Collection of webpages and other information on
(Internet Protocols) websites

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

Worldwide Collection of Interconnected Networks and URLs (Uniform Resource Locator) are used for the
Devices location of the web 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 -

 domain host (www)

 domain name (website name)

 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

 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

Page 54 of 107
 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 the RAM till the Remembers the user’s login details so the user doesn’t
browser is closed. have to log in every time they visit a website

Doesn’t collect any information on the user Stored on the hard disk on the computer until their
expiry date or the user deletes 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)

Page 55 of 107
 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:


Page 56 of 107
 Hackers try to guess your password by trying all the different combinations of letters,
numbers and symbols.

 Effect:

 Hacker gets access to user’s personal data (credit cards, passwords and more)

 To remove risk:

 Use stronger passwords with more characters and symbols

Data Interception:

 This involves stealing data by tapping into a wired or a wireless transmission line

 Wardriving - The act of locating and using wireless internet connections illegally

 Packet Sniffing - Uses Packet sniffers to examine packets sent over a line; all the
data collected is sent back to the attacker

 Effect:

 It can cause a computer to crash

 Can delete or corrupt files/data

 To remove risk:

 Install anti-virus software

 Don’t use software from unknown sources

 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

Page 57 of 107
 An attacker may be able to prevent the user from:

 Accessing their emails

 Accessing websites

 Accessing online services

Hacking

 The act of gaining illegal access to a computer system

 Effect:

 This leads to identity theft, gaining personal information

 Data can be deleted, changed or corrupted

 To remove risk:

 Firewalls

 Strong passwords/ user IDs

 Use of anti-hacking software

 Difference between hacking and cracking

 Hacking breaks into computer systems to steal data

 Cracking is when someone edits a program code, malicious

Malware

 Stands for Malicious Software. A few examples are -

 Virus - A program that can replicate itself with the intention of deleting or
corrupting files, causing a computer malfunction

Page 58 of 107
 Ransomware - Attackers encrypt the user’s data until a certain amount of money
is paid

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

 Trojan Horse - Programs that are disguised as legitimate software

 Spyware - Sends data about all the activities of the user to the attacker

 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:

 Don’t open links from unknown receivers

 Use anti-phishing tools

 Block pop-up ads

 Have an up-to-date browser

Pharming

 The attacker installs a malicious code on the computer, which redirects the user to fake
websites

 Effect:

 The user gives out login details and other personal details

 To remove risk:

 Using anti-virus software

Page 59 of 107
 Checking the spelling and the weblink carefully

 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 Methods Benefits Drawbacks

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

Retina Scan With very high accuracy, it It is very intrusive, Takes longer to
Impossible to replicate a person’s verify, Expensive to install and set
retina up

Face Recognition Non-intrusive method, Relatively Can’t identify if there are any
cheaper changes in the lighting, change in
age or person’s age.

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

 Two-Step Verification - Requires two methods of authentication to prove who the user is

Page 60 of 107
 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 -

 Filtering Internet traffic

 Keeping the user’s IP Address Confidential

 Blocking access to certain websites

 Attacks like DDoS and Hacking attack the proxy server, keeping the web server
safe.

 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

Page 61 of 107
 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)

 The microprocessor processes the data and makes the necessary decisions based
on its program

 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 identified quickly Any computerised systems are prone to attacks

Less Expensive in the long run Over-reliance on automated systems may 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

Page 62 of 107
 Robotics is the branch of computer science that combines robot design, construction and
operation.

 Isaac Asimov’s Laws of Robotics -

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

 A robot must obey orders given by humans unless it comes into conflict with Law
1

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

 Characteristics of a robot -

 Ability to sense their surroundings

 Have a degree of movement

 Programmable

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


RATHER THAN REQUIRING HUMAN CHARACTERISTICS

 Types of Robots -

 Independent - Have no human intervention; they can completely replace humans

 Dependent - Needs human intervention through an interface, can supplement but


can’t completely replace humans

 Advantages and Disadvantages of Robots

Advantages Disadvantages

Robots can work 24/7 Robots can find it difficult to do non-standard tasks

Robots can work in hazardous conditions Robots can lead to higher unemployment

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

They have high productivity and are more consistent Expensive to install and maintain in the short run

Page 63 of 107
Robots have the risk of getting hacked.

Artificial Intelligence

 AI is the branch of computer science that simulates intelligent human behaviour.

 Types of AI -

 Narrow AI - A machine has superior performance to a human when doing one


specific task

 General AI - A machine is similar to a human when doing one specific task

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

 Characteristics of AI -

 Collection of Data and Rules

 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

High level of Expertise Setup and Maintenance costs are very high

High Accuracy and Consistent Can only rely on the information in the system

High response times Tend to give cold responses sometimes

Page 64 of 107
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 intelligence in machines Machines are trained to make decisions without being
programmed to

The aim is to build machines that think like humans The aim is to make machines learn 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.

Page 65 of 107
 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.

Page 66 of 107
 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

Page 67 of 107
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

Variable – Store of data which changes during execution of the program (due to user input)

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

Real – Decimal Number e.g. 7.00; 5.64

Char – Single Character e.g. a; Y

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


Page 68 of 107
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)

INPUT Name

OUTPUT "Hello Mr." , Name

// Alternatively //

READ Name

PRINT "Hello Mr," , Name

Declaration of variable - A variable/constant can be declared by the following manner

DECLARE [Variable Name] : [DATATYPE OF VARIABLE]

Array: Array is similar to variable but it can store multiple values of same datatype under single
name

DECLARE [ARRAYNAME] : ARRAY [Lower Limit : Upper Limit ] OF [DATATYPE]

Assignment - Each variable is assigned using a left arrow.

[VARIABLE NAME] <---- [Value to be assigned]

ArrayName [IndexValue] <---- [Value to be assigned]

Conditional Statements:

Page 69 of 107
IF…THEN…ELSE…ENDIF

CASE…OF…OTHERWISE…ENDCASE – Multiple conditions and corresponding


consequences \n

Loop Structures:

FOR…TO…NEXT : Will run for a determined/known amount of times

REPEAT… UNTIL – Will run at least once till condition is satisfied; Verification is done after
running codeWHILE…DO…ENDWHILE – May not ever run; Verification is done before
running codeNote: 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.

use of a Boolean variable that can have the value TRUE or FALSE

comparisons made by using coparison operators, where comparisons are made from left to right

IF [BOOLEAN VARIABLE]

THEN

OUTCOME

Page 70 of 107
ELSE

OUTCOME

ENDIF

IF ((CONDITION 1) OR ( CONDITION 2)) AND (CONDITION 3) AND (CONDITION 4)

THEN

OUTCOME

ELSE

OUTCOME

ENDIF

Standard methods used in algorithm:

Totalling :Totalling means keeping a total that values are added to

Total ← 0

FOR Counter ← 1 TO LoopLimit

Total ← Total + ValueToBeTotalled

NEXT Counter

Counting: Keeping a count of the number of times an action is performed is another standard
method.

PassCount ← 0

FOR Counter ← 1 TO LoopLimit

INPUT Value

Page 71 of 107
IF Value > Range

THEN

PassCount ← PassCount + 1

ENDIF

NEXT Counter

Maximum, minimum and average : Finding the largest and smallest values in a list are two
standard methods that are frequently found in algorithms

MaxiumumValue <--- Array[1] MinimumValue <--- Array[1]

FOR Counter ← 2 TO LoopLimit

IF Array[Counter] > MaximumValue

THEN

MaximumValue ← Array[Counter]

ENDIF

IF Array[Counter] < MinimumValue

THEN

MinimumValue ← Array[Counter]

ENDIF

NEXT Counter

// Average//

Page 72 of 107
Total ← 0

FOR Counter ← 1 TO NumberOfValues

Total ← Total + StudentMark[Counter]

NEXT Counter

Average ← Total / NumberOfValues

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.

INPUT Value

Found ← FALSE

Counter ← 1

REPEAT

IF Value = Array[Counter]

THEN

Found ← TRUE

ELSE

Counter ← Counter + 1

ENDIF

UNTIL Found OR Counter > NumberOfValues

IF Found

Page 73 of 107
THEN

OUTPUT Value , " found at position " , Counter, " in the list."

ELSE

OUTPUT Value , " not found."

ENDIF

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.

First ← 1

Last ← 10

REPEAT

Swap ← FALSE

FOR Index ← First TO Last - 1

IF Array[Index] > Array[Index + 1]

THEN

Temp ← Array[Index]

Array[Index] ← Array[Index + 1]

Array[Index + 1] ← Temp

Swap ← TRUE

ENDIF

NEXT Index
Page 74 of 107
Last ← Last - 1

UNTIL (NOT Swap) OR Last = 1

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.

\n There are many types of it.

Range check

A range check verifies that a numerical value falls within specified upper and lower limits.

REPEAT

INPUT Value

IF Value < MinimumValue OR Value > MaximumValue

THEN

OUTPUT "The student's mark should be in the range", MinimumValue ," to ", MaximumValue

Page 75 of 107
ENDIF

UNTIL Value >= MinimumValue AND Value <= MaximumValue

Length check

This can either ensure that data consists of a precise number of characters.

OUTPUT "Please enter your value of ", Limit , " characters "

REPEAT

INPUT Value

IF LENGTH(Value) <> Limit

THEN

OUTPUT "Your value must be exactly" , Limit ," characters, please re-enter "

ENDIF

UNTIL LENGTH(Value) = Limit

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

OUTPUT "Please enter your value "

REPEAT

INPUT Value

IF LENGTH(Value) > UpperLimit OR LENGTH(Value) < LowerLimit

THEN

OUTPUT "Too short or too long, please re-enter "


Page 76 of 107
ENDIF

UNTIL LENGTH(Value) <= UpperLimit AND LENGTH(Value) >= LowerLimit

Type check

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

OUTPUT "Enter the value "

REPEAT

INPUT Value

IF Value <> DIV(Value, 1)

THEN

OUTPUT "This must be a whole number, please re-enter"

ENDIF

UNTIL Value = DIV(Value, 1)

Presence check

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

OUTPUT "Please enter the value "

REPEAT

INPUT Value

IF Value = ""

Page 77 of 107
THEN

OUTPUT "*=Required "

ENDIF

UNTIL Value <> ""

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
Page 78 of 107
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

Page 79 of 107
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:

Page 80 of 107
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

Riders Reject Height OUTPUT

0 0

1 1.4

2 1.3

1 1.1

3 1.3

2 1.0

4 1.5

3 1.2

5 1.3

6 1.4

7 1.3

Page 81 of 107
4 0.9

8 1.5 Ready to go 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:

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.

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)

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

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.

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.

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.
Page 82 of 107
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.

Programming

Next chapter

Reflecting on your learning progress will help you study more effectively.

Add your confidence rating

Customise theme

🔥 BOOSTER PERK

CHAPTERS

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.

Page 83 of 107
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

Page 84 of 107
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:

Page 85 of 107
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

Page 86 of 107
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:

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

Substring: Extracts a portion of a string.

Upper: Converts all letters in a string to uppercase.

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:

LENGTH("Text Here")

LENGTH(Variable)

Extracting a substring from a string:

Page 87 of 107
SUBSTRING("Computer Science", 10, 7)

// returns the next 7 values starting from the 10th value of the string "Computer Science" i.e.
"Science"

SUBSTRING(Variable, Position, Length)

Converting a string to upper case

UCASE("Text here")

UCASE(Variable)

Converting a string to lowercase

LCASE("Text Here")

LCASE(Variable)

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.

Page 88 of 107
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:

PROCEDURE ProcedureName ()

[Commands]

ENDPROCEDURE

//Calling/running the procedure

CALL ProcedureName()

The procedure with parameters:

Page 89 of 107
PROCEDURE ProcedureName (ParameterName : ParameterDatatype)

[Commands]

ENDPROCEDURE

//Calling/running the procedure

CALL ProecdureName (ParameterValue)

Function:

FUNCTION FunctionName (ParameterName : ParameterDatatype) RETURNS


DataTypeOfValueReturned

[Commands]

RETURN ValueToBeReturned

ENDFUNCTION

When defining procedures and functions, the header is the first statement in the definition.

The header includes:

The name of the procedure or function.

Parameters passed to the procedure or function, along with their data types.

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

Page 90 of 107
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.

DECLARE [VariableName] : DataType AS GLOBAL

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:

Page 91 of 107
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:

// Now the text written is commented and thus ignored

""

This method can also be used to comment

multiple lines but the singular line method

is more widely accepted and reccomended too

""

Arrays

Page 92 of 107
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:

DECLARE Name : ARRAY[RowLower:RowUpper,ColumnLower:ColumnUpper] OF


DATATYPE

Filling a 2-D array using a loop:

FOR ColumnCounter ← 0 TO 2

FOR RowCounter ← 0 TO 9

OUTPUT "Enter next value "

INPUT ArrayName [RowCounter, ColumnCounter]

NEXT RowCounter
Page 93 of 107
NEXT ColumnCounter

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

\n 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

OPENFILE "filename.txt" FOR WRITE

//When opening a file to write, all the data already existing in the file is OVERWRITTEN

WRITEFILE "filename.txt" , Value

Page 94 of 107
// The next command of WRITEFILE would be writen on next line of the file

CLOSEFILE "filename.txt"

Reading a file:

OPENFILE "filename.txt" FOR READ

READFILE "filename.txt" , Variable

// The value in the line (which is identified by the number of times this is being run) is stored in
the variable

CLOSEFILE "filename.txt"

Reading a file till EOF:

OPENFILE "filename.txt" FOR READ

DECLARE DataVariable : STRING

WHILE NOT EOF("filename.txt) DO

READFILE "filename.txt", DataVariable

// here the line can be outputted or stored in an array. This process will repeat until every line

//before the file ends has been read

ENDWHILE

Algorithm Design & Problem-Solving

Previous chapter

Databases

Next chapter

Page 95 of 107
Reflecting on your learning progress will help you study more effectively.

Add your confidence rating

Customise theme

🔥 BOOSTER PERK

CHAPTERS

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?

Page 96 of 107
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.

Page 97 of 107
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.
Page 98 of 107
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:

SELECT (fieldsname)

FROM (tablesname)

WHERE (condition)

ORDER BY (sortingcondition) ;

Selecting Sum of values in a table:

SELECT SUM ( fieldsname )

FROM (tablesname)

WHERE (condition)

ORDER BY (sortingcondition) ;

Counting the number of records where the field matches a specified condition

Page 99 of 107
SELECT COUNT ( fieldsname )

FROM (tablesname)

WHERE (condition)

ORDER BY (sortingcondition) ;

==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

Programming

Previous chapter
Page 100 of 107
Boolean Logic

Next chapter

Reflecting on your learning progress will help you study more effectively.

Add your confidence rating

Customise theme

🔥 BOOSTER PERK

CHAPTERS

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,

𝐴
Page 101 of 107

A Output

0 1

1 0

AND gate:

A.B

A.B

A B Output

0 0 0

0 1 0

1 0 0

1 1 1

OR gate:

+
Page 102 of 107
𝐵

A+B

A B Output

0 0 0

0 1 1

1 0 1

1 1 1

NAND gate:

A.B

A.B

A B Output

0 0 1

0 1 1

1 0 1

1 1 0

Page 103 of 107


NOR gate:

A+B

A B Output

0 0 1

0 1 0

1 0 0

1 1 0

XOR gate: A ⨁ B

A B Output

0 0 0

0 1 1

1 0 1

1 1 0

Page 104 of 107


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

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

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

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

If the value coming into the gate is coming from another gate, use a bracket for the gate’s logic

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

Writing from a truth table

Create logic circuit fom the truth table (shown later)

Write the logic statement using the ciruit

Writing from a Problem statement

See what logics go in place in the statement to take place

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

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

Page 105 of 107


Creating Truth Tables

From Logic Circuits

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

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

Page 106 of 107


Given the truth table above, take the rows where the output (x) is 1 (Rows 1, 2, 4, 5, 6, 7)

Create a logic expression from these rows (example, row 1 will be (NOT A AND NOT B AND
NOT C) = X

Create logic expressions for all the rows with output 1 and connect them with OR gate

Exam-Style Question

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)

Make the logic circuit from the given equation

Make the truth table

Databases

Previous chapter

Reflecting on your learning progress will help you study more effectively.

Add your confidence rating

Customise theme

🔥 BOOSTER PERK

Page 107 of 107

You might also like