Igcse 2023-2025 Computer Science Paper 1 Notes

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

Unit 1: Data Representation

Subtopic Subtopic IGCSE Points to understand


Number

1.1 Number Systems Decimal Number System: The decimal number system is a base-10 number system that uses ten digits (0-9) to
represent numbers.
Binary Number System: The binary number system is a base-2 number system that uses two digits (0 and 1) to
represent numbers.
Hexadecimal Number System: The hexadecimal number system is a base-16 number system that uses sixteen
digits (0-9 and A-F) to represent numbers.
Conversion between number systems: Conversion between number systems involves converting a number from
one base to another. This can be done using a variety of methods, such as long division or using a conversion
chart.
Binary arithmetic: Binary arithmetic involves performing mathematical operations (addition, subtraction,
multiplication, and division) using the binary number system. This can be done using the same methods as
decimal arithmetic, but with different rules and techniques.

1.2 Text, Sound and Text Representation: Text can be represented in a computer system using ASCII or Unicode encoding, which maps
characters to binary codes that can be stored and manipulated.
Images Sound Representation: Sound can be represented in a computer system using digital audio formats, such as WAV
or MP3, which sample and quantize the sound wave to create a digital signal that can be stored and played back.
Image Representation: Images can be represented in a computer system using digital image formats, such as
JPEG or PNG, which use a grid of pixels to represent the colors and brightness of an image.
Image Editing: Image editing involves manipulating digital images using software tools to adjust brightness,
contrast, color balance, or to remove unwanted elements or add new ones.
Sound Editing: Sound editing involves manipulating digital audio using software tools to adjust volume, add effects,
cut and splice audio tracks, or remove unwanted noise.
Text Editing: Text editing involves manipulating digital text using software tools to format text, change font and
color, add hyperlinks, or correct spelling and grammar errors.

1.3 Data Storage and Data Storage: Data storage involves saving digital data to a storage medium, such as a hard drive, USB drive, or
cloud storage. Data can be stored in different formats, such as text files, images, audio, and video files.
Compression Primary and Secondary Storage: Primary storage, such as RAM and cache, is temporary storage that holds data
and instructions currently being used by the CPU. Secondary storage, such as hard drives and flash memory, is
non-volatile storage that holds data and programs for long-term use.
Data Compression: Data compression is the process of reducing the size of digital data to save storage space and
improve transmission speeds. Compression can be lossless or lossy, with lossless compression retaining all original
data and lossy compression sacrificing some data to achieve higher compression ratios.
File Formats: File formats are used to specify the structure and content of digital data. Different file formats are
used for different types of data, such as images (JPEG, PNG), audio (MP3, WAV), and video (MP4, AVI).
Backup and Recovery: Backup and recovery involves creating copies of data and programs to protect against data
loss due to hardware failures, human errors, or natural disasters. Recovery involves restoring data from backups in
case of data loss.
Database Systems: Database systems are software applications that organize and manage large amounts of
data. They allow users to store, retrieve, and manipulate data efficiently and securely.

Unit 2: Data Transmission


Subtopic Subtopic IGCSE Points to understand
Number

2.1 Types and Methods Analog and Digital Data Transmission: Analog data is continuous and can take on any value within a range, while
digital data is discrete and represented in binary form. Analog data is transmitted through analog signals such as
of Data Transmission sound waves, while digital data is transmitted through digital signals such as electrical pulses.
Serial and Parallel Data Transmission: Serial data transmission involves the transmission of data one bit at a time
over a single communication channel, while parallel data transmission involves the transmission of multiple bits at
the same time over multiple communication channels. Parallel transmission is faster but more complex and
expensive than serial transmission.
Synchronous and Asynchronous Data Transmission: Synchronous data transmission involves the transmission of
data in synchronized time intervals, while asynchronous data transmission does not require synchronization and can
transmit data at irregular intervals. Synchronous transmission is faster but requires more complex hardware and
software.
Simplex, Half-Duplex, and Full-Duplex Data Transmission: Simplex transmission involves data transmission in one
direction only, while half-duplex transmission allows data transmission in both directions but only one direction at a
time, and full-duplex transmission allows data transmission in both directions simultaneously.
Modulation and Demodulation: Modulation is the process of converting digital data into analog signals, while
demodulation is the process of converting analog signals back into digital data. Modulation techniques include
amplitude modulation, frequency modulation, and phase modulation.
Transmission Media: Transmission media are the physical means through which data is transmitted, and can be
classified into guided (wired) and unguided (wireless) transmission media. Guided transmission media include
copper and fiber optic cables, while unguided transmission media include radio waves, microwaves, and infrared.
Multiplexing: Multiplexing is the process of combining multiple signals into one signal for transmission over a single
communication channel. Multiplexing techniques include frequency division multiplexing (FDM), time division
multiplexing (TDM), and code division multiplexing (CDM).

2.2 Methods of Error Parity Check: A method of error detection in which an extra bit is added to the data to make the total number of 1s
either odd or even, depending on the type of parity being used.
Detection Checksum: A method of error detection in which the sum of all the data bytes is calculated and appended to the
end of the data.
Cyclic Redundancy Check (CRC): A method of error detection that uses polynomial division to generate a remainder
that is appended to the data.
Hamming Code: A method of error detection and correction in which extra bits are added to the data to allow for the
detection and correction of errors.
Error-correcting codes (ECC): A method of error detection and correction that uses more sophisticated algorithms
than Hamming codes to correct errors in data.
Automatic Repeat Request (ARQ): A method of error detection and correction in which the receiver sends a request
to the sender to retransmit any data that was not received correctly.
2.3 Encryption Encryption is the process of converting plain text into encoded or scrambled text to prevent unauthorized access to
sensitive information. It is a way to protect the confidentiality and integrity of data during transmission or storage.
Symmetric Encryption: This encryption method uses the same key for both encryption and decryption. The sender
and receiver must have the same key to communicate securely.
Asymmetric Encryption: This encryption method uses two different keys, a public key and a private key, for encryption
and decryption. The public key is available to everyone, but the private key is kept secret. This method provides more
security than symmetric encryption.
Hashing: Hashing is a process of converting data of any size into a fixed-size string of text, called a hash. This hash is
unique for each input data and cannot be reversed to obtain the original data. Hashing is commonly used to verify
the integrity of data.
Digital Signatures: A digital signature is a mathematical technique used to validate the authenticity and integrity of
digital documents or messages. It uses public-key cryptography to provide assurance that a message was not
modified during transmission and that the sender is who they claim to be.
Public Key Infrastructure (PKI): PKI is a system that uses public key cryptography to provide secure communication
over the internet. It includes digital certificates, certificate authorities, and registration authorities to verify the identity
of individuals and organizations.

Unit 3: Hardware

Subtopic Subtopic IGCSE Points to understand


Number

3.1 Computer Central Processing Unit (CPU): The CPU is the brain of the computer and is responsible for executing instructions.
Memory: Memory is used to temporarily store data and instructions that the CPU needs to access quickly.
Architecture Input/Output Devices: Input devices are used to enter data into the computer, while output devices are used to display
or output data from the computer.
Bus Systems: Bus systems are used to transfer data between different parts of the computer.
Clock Speed: Clock speed refers to the speed at which the CPU can execute instructions.
Cache Memory: Cache memory is a small, high-speed memory that stores frequently used data and instructions.
Instruction Set: The instruction set is a set of instructions that the CPU can execute.
Machine Code: Machine code is the lowest-level programming language that a computer can understand, and it
consists of binary code.
Assembly Language: Assembly language is a low-level programming language that is easier to read and write than
machine code, and it is usually converted to machine code by an assembler.

3.2 Input and Input devices: Input devices are used to provide data and instructions to a computer. Examples of input devices include
keyboards, mice, touchscreens, scanners, and microphones.
Output Devices Output devices: Output devices are used to display or present data processed by a computer. Examples of output
devices include monitors, printers, speakers, and projectors.
Human-computer interaction: Human-computer interaction refers to the way in which humans interact with computers.
This includes the design of user interfaces, the use of feedback to indicate user actions, and the use of input devices that
are appropriate for the task.
Accessibility: Accessibility refers to the design of technology that can be used by people with disabilities. This includes
the use of alternative input and output devices, such as braille displays and voice recognition software.
Storage devices: Storage devices are used to store data on a computer. Examples of storage devices include hard
drives, solid state drives, USB drives, and memory cards. These devices can be used for both input and output, as data
can be stored on them and then retrieved later.
3.3 Data Storage Secondary Storage Devices: This subtopic covers various types of secondary storage devices like Hard Disk Drives, Solid
State Drives, Optical Disks, and Flash Memory. It explains their characteristics, capacity, access time, and transfer rate.
Storage Capacity: This subtopic covers the concept of storage capacity, including units of measurement such as bits,
bytes, kilobytes, megabytes, gigabytes, terabytes, etc. It also covers the impact of file size and compression on storage
capacity.
Storage Media: This subtopic covers the physical media used for data storage, including magnetic media like hard disks,
floppy disks, and magnetic tape, as well as optical media like CDs and DVDs.
Storage Devices and Media Selection: This subtopic covers the selection of storage devices and media based on the
requirements of the user, including cost, speed, capacity, durability, and portability.
Data Integrity and Backups: This subtopic covers the importance of data integrity, data backup, and data recovery. It
explains the methods of data backup like full backup, incremental backup, and differential backup.

3.4 Network Network Topologies: The arrangement of network devices and how they communicate with each other in a network.
Network protocols: A set of rules that governs communication between devices on a network.
Hardware LAN and WAN: LAN stands for Local Area Network, a network that covers a small geographic area, while WAN stands for
Wide Area Network, a network that covers a large geographic area.
Networking devices: Devices used to connect and manage networks such as routers, switches, and hubs.
Network media: Physical transmission media such as cables and wireless communication media such as radio waves,
microwaves, and infrared waves.
Network security: The measures put in place to protect networks from unauthorized access, attack, theft, or damage. It
involves the use of hardware and software tools to ensure network integrity, confidentiality, and availability.

Unit 4: Software

Subtopic Subtopic IGCSE Points to understand


Number

4.1 Types of Software and Types of software: There are two main types of software: system software and application software.
System software includes the operating system and utility programs that help manage and
Interrupts maintain the computer system. Application software includes programs designed to perform
specific tasks, such as word processors, spreadsheets, and graphics editors.
Interrupts: Interrupts are signals sent to the processor by external devices or software, which
temporarily pause the execution of the current program to handle the interrupt request. Interrupts
are used to handle events such as keyboard input, mouse input, or a hardware malfunction. There
are two types of interrupts: hardware interrupts, which are generated by external devices, and
software interrupts, which are generated by programs running on the computer.
4.2 Types of programming Types of Programming Languages: This subtopic covers different types of programming languages,
including high-level languages, low-level languages, and scripting languages. It also covers the
language, translators and characteristics and features of each type of language.
integrated development Translators: Translators are used to convert the source code written in one language into another
environments (IDEs) language that can be executed by the computer. This subtopic covers different types of translators,
including compilers, interpreters, and assemblers.
Integrated Development Environments (IDEs): An IDE is a software application that provides a
comprehensive environment for developers to write, test, and debug code. This subtopic covers the
features and benefits of using IDEs, including code editors, debugging tools, and source control
systems.
Syntax and Semantics: This subtopic covers the concepts of syntax and semantics in programming
languages. Syntax refers to the rules that govern how code is written, while semantics refer to the
meaning behind the code.
Variables and Data Types: This subtopic covers the concepts of variables and data types in
programming languages. It covers the different types of data that can be stored in a program,
including integers, floating-point numbers, and strings, as well as the different data structures that
can be used, such as arrays and lists.
Control Structures: Control structures are used to control the flow of a program. This subtopic covers
the different types of control structures, including loops and conditional statements, and how they
are used in programming.
Functions and Procedures: Functions and procedures are used to break down a program into
smaller, more manageable pieces. This subtopic covers the differences between functions and
procedures, as well as how they are used in programming.
Libraries and APIs: Libraries and APIs are used to provide pre-written code that can be used in a
program. This subtopic covers the different types of libraries and APIs, as well as how to use them in
programming.

Unit 5: The Internet and Its Uses

Subtopic Subtopic IGCSE Points to understand


Number

5.1 The internet and The Internet: The Internet is a global network of computers that are connected to each other, allowing the
exchange of information and communication among its users.
the world wide The World Wide Web: The World Wide Web (WWW) is a system of interconnected hypertext documents and
web other resources, linked by hyperlinks and URLs, that can be accessed via the Internet.
Client-Server Model: The client-server model is a model for communication between computers in which
one computer acts as the client, which makes requests for information or services, and another computer
acts as the server, which provides those services or information.
URLs: A Uniform Resource Locator (URL) is a web address that identifies a unique location on the World Wide
Web.
Web Browsers: A web browser is a software application that enables users to access and view web pages
on the World Wide Web.
Internet Service Providers (ISPs): An Internet Service Provider (ISP) is a company that provides internet
access to customers, usually for a fee.
Search Engines: A search engine is a software program that searches a database of websites based on
keywords or phrases entered by a user and returns a list of websites that match the search criteria.
Cookies: A cookie is a small text file that is stored on a user’s computer by a website, allowing the website to
recognize the user’s computer and remember user preferences or other information.

5.2 Digital Currency Digital Currency: Digital currency is a form of currency that is only available in digital or electronic form, and
is not tangible like physical money.
Types of Digital Currency: There are different types of digital currencies, including cryptocurrencies like
Bitcoin, Litecoin, and Ethereum, and centralized digital currencies like PayPal and Apple Pay.
Blockchain Technology: Blockchain is a decentralized and distributed digital ledger that records
transactions across many computers. It is the technology that underpins cryptocurrencies like Bitcoin.
Advantages of Digital Currency: Digital currency offers several benefits over traditional currencies, including
faster transactions, reduced fees, increased security, and anonymity.
Risks of Digital Currency: There are also risks associated with digital currency, such as volatility, lack of
regulation, and the potential for scams and fraud.
Future of Digital Currency: Digital currency is a rapidly evolving field, and there is much speculation about
its future. Some experts believe that digital currency could become the dominant form of currency in the
future, while others are more skeptical.

5.3 Cyber security Threats to cyber security: This subtopic covers the various types of threats to cyber security, including
malware, phishing, hacking, and social engineering.
Protecting systems and data: This subtopic covers the measures that can be taken to protect systems and
data from cyber-attacks. This includes firewalls, antivirus software, encryption, and backup and recovery
strategies.
Password security: This subtopic covers best practices for creating and managing passwords, including
creating strong passwords, using password managers, and avoiding common mistakes.
Social media and online safety: This subtopic covers the risks associated with social media and online
activity, including cyberbullying, identity theft, and oversharing personal information.
Cyber-crime: This subtopic covers the legal and ethical issues surrounding cyber-crime, including cyber
stalking, hacking, and identity theft. It also covers the methods used by law enforcement agencies to
combat cyber-crime.

Unit 6: Automated and emerging technologies

Subtopic Subtopic IGCSE Points to understand


Number

6.1 Automated Automated Systems: An automated system is a system that performs a task with minimal human intervention. It
can be used to control processes, manufacturing lines, transportation systems, and more.
Systems Advantages of Automated Systems: Automated systems offer several advantages such as increased
productivity, reduced labor costs, and improved accuracy and precision. They also operate 24/7 without breaks,
reducing downtime and increasing efficiency.
Disadvantages of Automated Systems: Automated systems may require significant investment in equipment
and infrastructure. They may also require specialized skills and knowledge to operate and maintain. Automated
systems can also lead to job loss for workers who are replaced by machines.
Sensors and Actuators: Sensors are devices that detect changes in the environment and provide data to a
control system. Actuators are devices that respond to signals from the control system and perform a physical
action, such as opening a valve or turning on a motor.
Control Systems: Control systems are software or hardware systems that receive input from sensors and use this
data to make decisions and issue commands to actuators. They can be used to control temperature, pressure,
speed, and more.
Feedback Loops: Feedback loops are used in control systems to maintain a desired output by continuously
monitoring and adjusting the input. They can be used to regulate temperature, flow rate, and other variables.
Programmable Logic Controllers (PLCs): PLCs are specialized computers that are used to control automated
systems. They can be programmed to perform specific tasks and respond to specific inputs, making them useful
for a wide range of applications.

6.2 Robotics Types of Robots: There are different types of robots, including industrial robots, service robots, and educational
robots.
Robot Components: The main components of a robot are actuators, sensors, and microcontrollers.
Robot Programming: Basics of robot programming, including robot languages, programming environments, and
control systems.
Applications of Robotics: Different applications of robotics include manufacturing, medicine, and space
exploration.
Robot Ethics: Ethical considerations surrounding the use of robots include their impact on employment and
privacy.
Robot Future: The future of robotics will consist of emerging technologies and their potential impact on society.

6.3 Artificial Artificial Intelligence (AI) refers to the field of computer science that focuses on the development of intelligent
machines and systems that can perform tasks that typically require human intelligence. AI involves the study and
intelligence implementation of various techniques and algorithms to enable machines to learn from data, reason, recognize
patterns, make decisions, and solve problems.
Machine Learning: There are machine learning algorithms used to create AI systems, such as supervised
learning, unsupervised learning, and reinforcement learning.
Natural Language Processing: The ability of machines to understand and interpret human language include the
basics of text analysis, language translation, and speech recognition.
Neural Networks: Neural networks, their structure, and their applications in artificial intelligence, such as image
recognition and natural language processing.
Ethics and Social Implications: Ethical considerations and social implications of AI include privacy, bias, and
employment, and explores how these issues can be addressed in the development and implementation of AI
systems.
1.DATA REPRESENTATION
Computers and Binary
Why Do Computers Use Binary?

• All data needs to be converted to binary to be processed by a computer


• Binary is a numbering system that uses only 0s (off) and 1s (on)
• A computer uses binary data for all of its operations
• The 0’s and 1’s are called bits. “Bits” is short for binary digits
• A bit is the smallest unit of data a computer can use (a single 0 or 1)
• Bits can be grouped to form larger units of data, such as bytes, kilobytes, etc.
• By using binary, computers can process and store data using electronic transistors that
can be either on or off
• Millions or billions of transistors fit onto a microchip
• Any form of data, including text, images, and sound, needs to
be converted to binary before it can be processed by a computer
• This conversion process involves assigning a binary code to each character, pixel, or
sample in the data
• The resulting binary code can then be processed using logic gates and stored in
registers

Logic Gates

• Logic gates are electronic devices that perform logical operations on binary data
• Logic gates are used to process binary data by applying Boolean logic to the input
values and producing a binary output
• Registers are temporary storage areas in a computer's CPU (central processing unit)
that hold binary data during processing
• Registers are used to store data that needs to be accessed quickly, such as variables in
a program or data being manipulated by logic gates
• The size of a register determines the maximum amount of binary data that can be stored
in it at one time

Number Systems
The Denary, Binary & Hexadecimal Number Systems

• In Computer Science there are 3 numbering systems used to represent data:


o Denary
o Binary
o Hexadecimal
The Denary Number System

• The denary number system, also known as the decimal system, is a base-10 numbering
system that uses 10 digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9
• Denary numbers can be used to represent any quantity, including whole numbers,
fractions, and decimals
• Each digit in a denary number represents a power of 10, with the rightmost digit
representing 100, the next representing 101, and so on
• It is necessary to convert data from one number system to another eg. denary to binary
or denary to hexadecimal
• It is much easier to do conversions with a table:
o The number 3268 (three thousand two hundred and sixty-eight) can be
represented in the following table:

• (3 x 1000) + (2 x 100) + (6 x 10) + (8 x 1) = 3268

The Binary Number System

• The binary number system is a base-2 numbering system that uses only two digits: 0
and 1
• Each digit in a binary number represents a power of 2, with the rightmost digit
representing 20, the next representing 21, and so on.
• Eg: the number 12 represented in binary is 1100:

• We know this as (1 x 8) + (1 x 4) + (0 x 2) + 0 x 1) =12


The Hexadecimal Number System:

• The hexadecimal number system is a base-16 numbering system that uses 16 digits: 0,
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F where 10 is represented by A, 11 by B and
so on up to 15 represented by F
• Each digit in a hexadecimal number represents a power of 16, with the rightmost digit
representing 160, the next representing 161, and so on
• E.g. the number 146 represented in hexadecimal is 92

• (0 x 4096) + (0 x 256) + (9 x 16) + (2 x 1) = 146

Converting Between Binary & Denary

Converting Denary to Binary Walkthrough:

• Write down the powers of 2 in binary from right to left, starting with 20 (1), 21 (2), 22 (4),
23 (8), and so on, until you reach 128 (as answers must be given in 8 bits)

128 64 32 16 8 4 2 1

0 0 1 0 1 0 1 1

• Starting from the leftmost column, write a 1 if the corresponding power of 2 is less than
or equal to the number you’re converting, 171 in this example, otherwise write a 0.

128 64 32 16 8 4 2 1
1 0 0 1 0 1 1
1

• Check your working by adding together all column headings with a 1 underneath
(128+32+8+2+1=171)
• Read the binary digits from left to right to get the binary equivalent of 171.
10101011
Converting Binary to Denary Walkthrough:

• Write down the powers of 2 in decimal from right to left, starting with 20 (1), 21 (2),
22 (4), 23 (8), and so on, until you reach 128 (as answers must be given in 8 bits)

128 64 32 16 8 4 2 1

• Starting from the leftmost column, write the binary digit in the column if it is a 1 write 1,
and write 0 if it is a 0.

128 64 32 16 8 4 2 1
0 1 1 0 0 1 1 0

• Add up the values in each column where the binary digit is 1.


64 + 32 + 4 + 2 = 102

Converting Between Hexadecimal & Binary

Converting Binary to Hexadecimal Walkthrough:

• Group the binary digits into groups of 4, starting from the rightmost digit. If there are
not enough digits to make a group of 4, add leading zeros as needed.
0110 1110

• Add column headings to work out the value of each nibble

8 4 2 1 8 4 2 1
0 1 1 0 1 1 1 0
4+2 = 6 8+4+2=14 = E in hex

• Replace each group of 4 bits with its corresponding hexadecimal value:


0110 1110
6 E
• Write down the resulting hexadecimal values to get the final answer:
6E

Converting Hexadecimal to Binary Walkthrough:

• To convert a Hex number like A2 into binary write each hex digit in 4-bit binary

• A=10

8 4 2 1 8 4 2 1
1 0 1 0 0 0 1 0
• The binary representation is the numbers altogether: 10100010

Converting Between Hexadecimal & Denary

Converting Denary to Hexadecimal Walkthrough:

1. Divide the decimal number (in this example 57) by 16 and write down the answer
including the remainder:
57 ÷ 16 = 3 remainder 9
2. If the remainder is above 9, replace this with the corresponding letter
3. Repeat steps 1 and 2 until the number you’re dividing is zero:
3 ÷ 16 = 0 remainder 3
4. Write the hexadecimal values from step 3 to step 1 in reverse order:
39

Alternatively, you can turn your denary number into binary, and then turn the binary number
into hexadecimal:

1. Work out 57 in binary

128 64 32 16 8 4 2 1
0 0 1 1 1 0 0 1
2. Split it into 2 nibbles

8 4 2 1 8 4 2 1
0 0 1 1 1 0 0 1
3. Turn each nibble into its hex value

2+1=3 8+1=9

Answer is 39

Converting Hexadecimal to Denary Walkthrough:

• Write down the place value of each digit in the number, starting from the right and
increasing by a power of 16:

161 160

16 1
• If the hex digit is a letter, convert it to its denary equivalent (Using the following table to
help you):

Hexadecimal Decimal

A 10

B 11

C 12

D 13

E 14

F 15

• The hexadecimal value of the leftmost digit E has a decimal value of 14. The
hexadecimal value of the rightmost digit is 5, which has a decimal value of 5

16 1
E 5

• Multiply each decimal value by its corresponding place value, and sum the products:

(14 x 16) + (5 x 1) = 224 + 5 = 229

Therefore, the denary equivalent of E5 is 229.

Alternatively, you can turn your hexadecimal number into binary, and then turn
the binary number into denary:

1. Write each hex digit in binary

8 4 2 1 8 4 2 1
1 1 1 0 0 1 0 1
2. Convert the binary to denary

128 64 32 16 8 4 2 1
1 1 1 0 0 1 0 1
128+64+32+4+1=229
Hexadecimal

Why Use Hexadecimal?

• Hexadecimal numbers are often used as a beneficial method of data representation in


computer science
• It takes fewer digits to represent a given value in hexadecimal than in binary
• One hexadecimal digit can represent four bits of binary data
• It is beneficial to use hexadecimal over binary because:
o The more bits there are in a binary number, the harder it is to read
o Numbers with more bits are more prone to errors when being copied

How is Hexadecimal used in Computers?

• Using hexadecimal allows computer scientists to represent large amounts of


binary data in a more manageable and readable format

• There are many uses of hexadecimal in computers:


o Memory addresses and other hardware related values
o Representation of colour values
o Error messages
o Memory dump
o Debugging
o IP addresses
o ASCII / Unicode
o Assembly language
o URLs

• Representation of colour values in HTML/CSS and in computer graphics: eg. RGB (red-
green-blue) colour values can be represented in a compact and readable format.
E.g. #FF0000
• Error messages & debugging: eg. 0x80070643 to give technicians/developers
information about what the error is in relation to

• Memory dump: this is a record of what happened in the computer's memory at the time
of an error. These are often difficult to read because they contain a lot of technical
information, but computers can use hexadecimal values in memory dumps to
identify specific memory locations and values.
o Eg. A video game on a computer crash and a memory dump is created. A
technician analyses the memory dump and looks for hexadecimal values to
identify the cause of the crash. They might look for specific memory addresses
and values that relate to the game being played or the graphics card in the
computer.

• IP addresses:
o Hexadecimal values can be used to represent each set of numbers in an IP
address
o Each set of numbers can be converted into a two-digit hexadecimal value,
giving a total of eight digits in the IP address
o Eg. the IP address "192.168.0.1" could be represented in hexadecimal as
"C0A80001"
o The hexadecimal values can make IP addresses easier to work with in some
cases, such as when configuring network devices or writing scripts that interact
with IP addresses, however, they are not commonly used in everyday
applications or browsing the internet

• ASCII / Unicode: eg. The letter "A" is represented in ASCII as the decimal value 65,
which is equivalent to the binary value 01000001. This binary value can also be
represented in hexadecimal as the value 41

• Assembly language:
o Hexadecimal values are used in assembly language to represent the binary code
for the instructions and data
o Each instruction or data value is represented by a specific sequence of
hexadecimal digits, which can make it easier for programmers to read and
understand the code
o Eg. "MOV AX, 5" instruction is represented by the hexadecimal value "B805",
which tells the computer to move the value 5 into register AX

• URLs:
o To encode a space in a URL using hexadecimal, the space character is replaced
by a percent sign ("%") followed by the hexadecimal value of the space
character. In ASCII, the space character has a decimal value of 32, which can
be represented in hexadecimal as "20".
o So, to encode the URL "my website.com/page one" using hexadecimal, it
would look like this: my%20website.com/page%20one

Binary Addition

• Adding binary numbers follows a similar process to adding denary numbers

• The binary adding rules are:


o 0+0=0
o 0+1=1
o
o 1+1=10 (The 1 is carried into the next column on the left)
o 1+1+1=11 (The 1 is carried into the next column on the left)

Adding binary steps:

Step 1:
Start by writing the two binary numbers you want to add underneath each other, with the least
significant bit (LSB) on the right.

Step 2:
Begin by adding the LSBs together. If the sum is less than or equal to 1, write it down in the sum
column. If the sum is 2 or greater, write the remainder of the sum (i.e., the sum minus 2) in the
sum column and carry over the quotient (i.e., 1) to the next column

Step 3:
Repeat this process for the next column to the left, adding the two bits and any carryover from
the previous column. Again, if the sum is less than or equal to 1, write it down in the sum
column; if the sum is 2 or greater, write the remainder of the sum in the sum column and carry
over the quotient to the next column.

Step 4:
Continue this process for each subsequent column until you have added all the bits.

Step 5:
If the sum of the last two bits produces a carryover, add an additional bit to the left of the sum to
represent the carryover.

Step 6:
Check the sum to make sure it fits within 8 bits. If it doesn't, you will need to use more bits to
represent the sum.

Adding binary walkthrough:

• In this example, we start by adding the two LSBs: 0 + 0 = 0, which we write down in the
sum column
• We then move to the next column to the left and add the two bits and the carryover from
the previous column: 1 + 1 + 0 = 10
• We write down the remainder of the sum (i.e., 0) in the sum column and carry over the
quotient (i.e., 1) to the next column
• We repeat this process for the next two columns, and end up with the sum 101110000

Overflow

• An overflow error occurs when the result of a binary addition exceeds the maximum
value that can be represented. In the case of 8-bits, the maximum value is 255
• Overflow occurs when the addition of two numbers results in a carry bit that cannot
be accommodated
• To avoid overflow errors, it's important to check the result of binary addition to ensure
that it doesn't exceed the maximum value that can be represented
• Overflow errors can also occur in other operations besides addition, such
as multiplication or division

Binary Shifts

• A binary shift is the term used for multiplying or dividing in binary


• A binary shift moves all the bits in a binary number a certain number of positions to the
left or right
• When performing a logical binary shift to the left, the bits shifted from the end of the
register are lost, and zeros are shifted in at the opposite end
• When performing a logical binary shift to the right, the bits shifted from the beginning of
the register are lost, and zeros are shifted in at the opposite end
• When performing a logical binary shift, the positive binary integer is multiplied or divided
according to the shift performed. A shift to the left is equivalent to multiplication by a
power of 2, while a shift to the right is equivalent to division by a power of 2
• When performing a logical binary shift, the most significant bit(s) or least significant bit(s)
are lost, depending on the direction of the shift

Binary shift walkthrough:

• E.g. shifting the binary number 11001100 to the left by two positions gives 00110000.
The two bits shifted from the end are lost, and two zeros are shifted in at the opposite
end
• E.g. shifting the binary number 11001100 to the right by two positions gives 00110011.
The two bits shifted from the beginning are lost, and two zeros are shifted in at the
opposite end
• E.g. shifting 11001100 to the left by two positions, is multiplying it by 22, or 4. The result
is 00110000, which is equal to 4 times the original value
• Shifting the binary number 11001100 to the right by two positions, is dividing it by 22, or
4. The result is 00110011, which is equal to the original value divided by 4

Two's Complement

• Two's complement is a method of representing signed integers in binary form, where


the leftmost bit represents the sign (0 for positive and 1 for negative)
• To convert a positive number to a two's complement 8-bit integer, first represent the
number in binary form with leading zeros until it is 8 bits long. If the number is positive,
the leftmost bit should be 0
• To convert a negative number to a two's complement 8-bit integer, first invert all the
bits in the binary representation of the positive equivalent of the number (i.e., flip all
the 1's to 0's and all the 0's to 1's). Then, add 1 to the result to obtain the two's
complement representation
Two's complement walkthrough:

• The binary number 00101011 represents the positive integer 43 in 8-bit binary form
• E.g. to represent the negative integer -43 in two's complement 8-bit form, start by
representing the positive equivalent of 43 in binary form: 00101011. Then invert all the
bits to get 11010100, and add 1 to get 11010101

Text, Sound and Images


Character Sets

• Text is a collection of characters that can be represented in binary, which is the


language that computers use to process information
• To represent text in binary, a computer uses a character set, which is a collection of
characters and the corresponding binary codes that represent them
• One of the most commonly used character sets is the American Standard Code for
Information Interchange (ASCII), which assigns a unique 7-bit binary code to each
character, including uppercase and lowercase letters, digits, punctuation marks, and
control characters
• E.g. The ASCII code for the uppercase letter 'A' is 01000001, while the code for the
character '?' is 00111111
• ASCII has limitations in terms of the number of characters it can represent, and it does
not support characters from languages other than English
• To address these limitations, Unicode was developed as a character encoding standard
that allows for a greater range of characters and symbols than ASCII,
including different languages and emojis
• Unicode uses a variable-length encoding scheme that assigns a unique code to each
character, which can be represented in binary form using multiple bytes
• E.g. The Unicode code for the heart symbol is U+2665, which can be represented in
binary form as 11100110 10011000 10100101
• As Unicode requires more bits per character than ASCII, it can result in larger file
sizes and slower processing times when working with text-based data
Representing Sound
• Sound is a type of analog signal that is captured and converted into digital form to
be processed by a computer.
• To convert sound into digital form, a process called sampling is used. This
involves taking measurements of the sound wave at regular
intervals and converting these measurements into binary data
• The quality of the digital sound depends on the sample rate, which is the number of
samples taken per second. A higher sample rate results in a more accurate
representation of the original sound wave, but also increases the file size of the
digital sound
• E.g. A typical CD-quality digital sound has a sample rate of 44.1 kHz, which means
that 44,100 samples are taken per second
• The sample resolution is another factor that affects the quality of the digital sound. This
refers to the number of bits per sample, which determines the level of detail and
accuracy of each sample
• A higher sample resolution results in a more accurate representation of the sound
wave, but also increases the file size of the digital sound
• E.g. A CD-quality digital sound typically has a sample resolution of 16 bits, which
means that each sample is represented by a 16-bit binary number
• It's important to choose the appropriate sample rate and resolution based on the specific
requirements of the digital sound application. E.g. A high-quality music recording may
require a higher sample rate and resolution than a voice recording for a podcast

• Two examples of sound files are:


o MIDI
▪ Musical Instrument Digital Interface (file)
▪ Stores a set of instructions (for how the sound should be played)
▪ It does not store the actual sounds
▪ Data in the file has been recorded using digital instruments
▪ Specifies the note to be played
▪ Specifies when each note plays and stops playing
▪ Specifies the duration of the note
▪ Specifies the volume of the note
▪ Specifies the tempo
▪ Specifies the type of instrument
▪ Individual notes can be edited

o MP3
▪ MP3 is a format for digital audio
▪ MP3 is an actual recording of the sound
▪ MP3 is a (lossy) compression format
▪ It is recorded using a microphone
Representing Images
• A bitmap image is made up of a series of pixels, which are small dots of colour that are
arranged in a grid. Each pixel can be represented by a binary code, which is processed
by a computer
• The resolution of an image refers to the number of pixels in the image. A higher
resolution image has more pixels and is, therefore, sharper and more detailed but
also requires more storage space
• The colour depth of an image refers to the number of bits used to represent each
colour. A higher colour depth means that more colours can be represented,
resulting in a more realistic image but also requires more storage space
• E.g. an 8-bit colour depth allows for 256 different colours to be represented (28=256),
while a 24-bit colour depth allows for over 16 million different colours to be
represented (224=16,777,216)
• The file size of an image increases as the resolution and colour depth increase.
This is because more pixels and colours require more binary data to represent them
• The quality of an image also increases as the resolution and colour depth increase.
However, it's important to balance the desired quality with the practical limitations of
storage space

Data Storage
• Data storage is measured in a variety of units, each representing a different size of
storage capacity. The smallest unit of measurement is the bit, which represents a single
binary digit (either 0 or 1)
• A nibble is a group of 4 bits, while a byte is a group of 8 bits
• Kibibyte (KiB), mebibyte (MiB), gibibyte (GiB), tebibyte (TiB), pebibyte (PiB),
and exbibyte (EiB) are all larger units of measurement
• Specifically, 1 KiB is equal to 210 bytes, 1 MiB is equal to 220 bytes, 1 GiB is equal to
230 bytes, 1 TiB is equal to 240 bytes, 1 PiB is equal to 250 bytes, and 1 EiB is equal to
260 bytes

To calculate the file size of an image file:

• Determine the resolution of the image in pixels (width x height)


• Determine the colour depth in bits (e.g. 8 bits for 256 colours)
• Multiply the number of pixels by the colour depth to get the total number of bits
• Divide the total number of bits by 8 to get the file size in bytes
• If necessary, convert to larger units like kibibytes, mebibytes, etc

Calculating image file size walkthrough:

An image measures 100 by 80 pixels and has 128 colours (so this must use 7 bits)

100 x 80 x 7 = 56000 bits ÷ 8 = 7000 bytes ÷ 1024 = 6.84 kibibytes


To calculate the file size of a sound file:

• Determine the sample rate in Hz (e.g. 44,100 Hz)


• Determine the sample resolution in bits (e.g. 16 bits)
• Determine the length of the track in seconds
• Multiply the sample rate by the sample resolution to get the number of bits per second
• Multiply the number of bits per second by the length of the track to get the total number
of bits
• Divide the total number of bits by 8 to get the file size in bytes
• If necessary, convert to larger units like kibibytes, mebibytes, etc

Calculating sound file size walkthrough:

A sound clip uses 48KHz sample rate, 24 bit resolution and is 30 seconds long.

48000 x 24 = 1152000 bits per second x 30 = 34560000 bits for the whole clip

34560000 ÷ 8 = 4320000 bytes ÷ 1024 = 4218.75 kibibytes ÷ 1024 = 4.12 mebibytes

Compression

Compression is reducing the size of a file. This is done to reduce the amount of storage space it
takes up or to reduce the bandwidth when sending a file. There are 2 types of compression:

• Lossless Compression:
o A compression algorithm is used to reduces the file
size without permanently removing any data
o Repeated patterns in the file are identified and indexed
o The data is replaced with the index and positions stored
o The number of times the pattern appears is also stored
o Techniques like run-length encoding (RLE) and Huffman encoding are used
o RLE replaces sequences of repeated characters with a code that
represents the character and the number of times it is repeated
o Huffman encoding replaces frequently used characters with shorter codes and
less frequently used characters with longer codes

• Lossy Compression:
o Lossy compression reduces the file size by permanently removing some
data from the file
o This method is often used for images and audio files where minor details or data
can be removed without significantly impacting the quality
o Techniques like downsampling, reducing resolution or colour depth,
and reducing the sample rate or resolution are used for lossy compression
o The amount of data removed depends on the level of compression selected and
can impact the quality of the final file

For example, when applying a lossy file compression algorithm to:

» an image, it may reduce the resolution and/or the bit/colour depth


» a sound file, it may reduce the sampling rate and/or the resolution.

Lossy files are smaller than lossless files which is of great benefit when
considering storage and data transfer rate requirements. Common lossy file
compression algorithms are:

» MPEG-3 (MP3) and MPEG-4 (MP4)

» JPEG

• Overall:
o Compression is necessary to reduce the size of large
files for storage, transmission, and faster processing
o The choice between lossy and lossless compression methods depends on
the type of file and its intended use
o Lossy compression is generally used for media files where minor data loss is
acceptable while lossless compression is used for text, code, and archival
purposes

2.Data Transmission
Types and Methods of Data Transmission
Data Packets

What are packets?

• Information on the internet is broken down into packets and are created by TCP and
transmitted over the internet
o Packets are small chunks of information/data
o TCP stands for Transmission Control Protocol and is used for organising data
transmission over networks
• Small chunks of data are easier and quicker to route over the internet than big chunks of
data
o Routing involves finding the most optimal path over a network
• Data can include anything from text, images, audio, video, animations, etc, or any
combination of these

What do packets contain?

• Packets are “chunks” of information. This information is called the “payload”


• Packets act like postage letters, each one has:
o a delivery address (destination IP address)
o a return address (source IP address),
o and a message (data payload)
• Packets are split into three parts:
o Packet header
o Payload (the actual data)
o Trailer
• The header contains:
o Source IP
o Destination IP
o Packet number
o Error checker e.g. a checksum or parity bit

• The trailer contains:


o Additional error checks
o End of packet notification

Figure 1: To transmit the message “This is a message :)”over the internet, the TCP might
break the message down into 4 packets

• Each packet in figure 1 contains a source IP address, destination IP address, payload


(the data) and a packet number. Error checking and end of packet notifications have not
been included in this example
• Individual packet structure depends on the protocol used to create them; variations
exist
• Error checks make sure that when a packet is received there is minimal or
no corruption of the data
• Corruption is where packet data is changed or lost in some way, or data is gained that
originally was not in the packet
• A parity bit checks that no bits have been flipped from 0 to 1 or vice versa
• A checksum performs a calculation and compares the result to the checksum value. If
the values are different then the data has been corrupted

How are packets sent across the internet?


• Sending packets over the internet is called packet switching and is more efficient
than circuit switching
• Packet switching involves:
o Routers know which nearby router is closer to the destination device
o Like normal car traffic, data traffic builds up on the internet. Routers can see this
and decide to send a packet down a different route that avoids traffic.
o Packets from the same message can take different routes from the sender to the
receiver, and may arrive in different orders. The receiver's computer reassembles
the message by reordering the packets using the packet numbers
o Breaking down a file into packets and sending these packets down different
routes over the internet (via routers) from a source to a destination and
reassembling them at the end
o Packet numbers allow for the original message, which has been broken down
into smaller parts, to be re-assembled in the correct order, or assembled
together like a jigsaw, once all of the packets have been received
o Routers contain routing tables which keep track of nearby routers like a map or
contacts list
o If a packet does not reach its destination the receiver can send a resend
request to the sender to resend the packet

Figure 2: Packets take different routes across a network from the source address to
reach the destination address as shown by the green, blue and red routes taken

• The advantages of packet switching are:


o Interference and corruption are minimal as individual packets can be resent if
they are lost or damaged
o The whole file doesn’t need to be resent if a corruption occurs, only the individual
packets that were corrupted need to be resent. This saves time and
internet bandwidth
o Packet switching is quicker than sending a large packet as each packet finds the
quickest way around the network
o It's harder to hack an individual's data as each packet contains minimal data, and
travels through the network separately
Data Transmission
Wired connections

• Wires can be:


o Serial
▪ One bit is sent at a time across a single wire

Figure 1: A sender sends a stream of bits in sequence, one after the one across a single
wire

o Parallel
▪ Multiple bits are sent at a time across several wires.
▪ Transmission is asynchronous as some bits may arrive quicker than
others. This is known as skewing or skewed data.
▪ Asynchronous transmission means data does not always arrive
at the same time

Figure 2: A sender sends a stream of bits in sequence, one after the other across
multiple wires at the same time

o Simplex
▪ Simplex transmissions are unidirectional and travel in only one
direction
o Half-duplex
▪ Half-duplex transmissions are bidirectional i.e. can travel in both
directions, but not simultaneously!
o Full-duplex
▪ Full-duplex transmissions are bidirectional but can transmit signals
in both directions at the same time
• Wires can be combinations of serial, parallel, simplex, half-duplex and full-duplex

Simplex Half-duplex Full-duplex


Serial Serial-Simplex Serial-Half-duplex Serial-Full-duplex
Parallel-Half- Parallel-Full-
Parallel Parallel-Simplex
duplex duplex
Figure 3: Wire types can be combined between serial/parallel and simplex/half-
duplex/full-duplex
o Serial-Simplex
▪ Data is transmitted one bit at a time in a single direction on one wire
o Serial-Half-duplex
▪ Data can be transmitted in both directions on a single wire but only one
bit at a time can be transmitted in one direction at a time
o Serial-Full-duplex
▪ Data can be transmitted in both directions at the same time on a single
wire one bit at a time
o Parallel-Simplex
▪ Multiple wires transmit one bit at a time in one direction
o Parallel-Half-duplex
▪ Multiple wires send multiple bits of data in both directions but only
one direction at a time
o Parallel-Full-duplex
▪ Multiple wires send multiple bits of data in both directions at
the same time

Advantages and disadvantages of each method

Advantages Disadvantages

Serial • The data will arrive in the • Data transmission is slow,


order it is sent especially over long distances as
• It is less likely to have errors only small quantities of data can
• Serial transmission be transmitted at a time
is cheap over short and long
distances as the cost of wire
is fairly inexpensive • Serial transmission is expensive
over very long distances as the
cost of wire dramatically increases

Parallel • Parallel transmission • Parallel transmission


is fast as large quantities of is expensive over short distances
data can be transmitted at as multiple wires need to be
any one time purchased. Transmission is very
expensive over long distances as
the cost of wires dramatically
increases with the distance

• Delays can be caused if data


arrives asynchronously as the
receiver has to wait for all of the
bits before accepting new data.
This is especially true over longer
distances
o Buffers may be used to
store data temporarily while
waiting for all bits to arrive

Simplex • Simplex wires are cheap as • Data transmission is slow as data


only one wire is used still travels one bit at a time in only
one direction at a time

• Simplex transmission requires two


sets of wires for bidirectional
transmission meaning it can
become expensive

Half-duplex • Half-duplex transmission


• Transmission is still slow as data
is cheaper than simplex for
travels one bit at a time in only one
bidirectional transmission as
direction at a time
it requires fewer wires

Full-duplex • Full-duplex transmission


is faster as data can travel in
both directions • Full-duplex is expensive as the
simultaneously. The receiver wire technology to transmit in both
does not have to wait for the directions is more difficult to
sender to stop before they implement
can start transmitting their
data

Example scenarios of using each method

• Serial
o Connecting an external hard drive to a computer
o Transmitting data over a telephone line
• Parallel
o Transmitting data from a computer to a printer using a multi-wire connector
• Simplex
o Transmitting data from a computer to a printer. The printer doesn’t need to send
data back to the computer
▪ Modern versions of devices such as printers may send acknowledgement
signals to confirm they have received the data. This may require half-
duplex rather than simplex connections
• Half-duplex
o Phone conversations where only one person needs to speak at a time
o A walkie-talkie is a two-way radio with a push to speak button. The receiver is
turned off while the transmitter is turned on. This prevents you from hearing the
other person while you speak
• Full-duplex
o Broadband connections to the internet. Data must be sent and received at the
same time. Accessing information on the internet is known as downloading
information. Putting information onto the internet for others to access is known as
uploading
o Phone conversations where both people can talk and be heard at the same time
allowing them to interrupt each other

USB

• The Universal Serial Bus (USB) is an asynchronous and serial method of transmitting
data between devices and has become an industry standard
• Many devices use USB such as keyboards, mice, video cameras, printers, portable
media players, mobile phones, disk drives, network adapters, etc
• Different USB connectors exist for different devices. Some examples are:
o USB-A (flash drives, mice, keyboards, external HDD, etc)
o USB-B (printers, scanners, optical drives, floppy drives, etc)
o USB-C
• USB-C is becoming the new standard of USB due to its small size and speed

• When a device is connected to a USB port the computer is:


o Automatically detects that the device has been connected
o Automatically recognised and the appropriate device driver is loaded so that
the device can communicate with the computer
▪ If the device is new, the computer will look for a matching device driver. If
one cannot be found then the user must download and install an
appropriate driver manually
Advantages and disadvantages of USB

Advantages Disadvantages

Devices are automatically detected and drivers


are automatically loaded for communication. The maximum cable length is roughly 5
This simplifies the data transmission process for metres meaning it cannot be used over long
the user distances, limiting its use

Cable connectors fit in only one way. This


prevents incorrect connections and ensures Older versions of USB have limited transmission
compatible data transmission rates for example USB 2.0 has 480Mbps

As USB usage is standardised, there is a lot of Very old USB standards may not be
support available online and from retailers supported in the near future (USB 1.1, USB 2.0,
etc)
Several different data transmission rates are
supported. The newest transmission rate as of
2022 is USB4 2.0 with 80 Gbps (81,920 Mbps,
170x faster than USB 2.0)

Newer USB standards are backwards


compatible with older USB standards

Methods of Error Detection


Error Checking

• When data has been received it could be subject to errors and Corruption

Why check for errors?

• Computers expect data in certain formats


o A format is a way of arranging the data so that it can be easily understood by
people and by computers
o People agree to certain formats so that systems work more efficiently and there
is little chance of misunderstanding each other
• An example of a format is date and time. Date and time can have multiple formats such
as:
o 13/04/14 (DD/MM/YY)
o 12/31/2020 (MM/DD/YYYY)
o Jul-04-16 (MMM/DD/YY)
• Computers usually perform processes and calculations on data. If the data is not as
expected, things can go wrong. For example, if a receiver expected to receive a date in
format DD/MM/YY as 03/04/17 but received 04/03/17, did the sender mean 3rd April
2017 or 4th March 2017?
• An error or corruption occurs when data received is not as expected and therefore
is difficult or impossible to process

How is data represented?

• All data is represented in binary as 1’s (high voltage) and 0’s (low voltage)
o For example, the number 67 is represented as 01000011
o An error could cause one of the bits to flip from 1 to 0 or vice versa
o If the sixth most significant bit is flipped, 01000011 -> 01000111, 67 becomes
71
o The number 67 in ASCII represents the uppercase letter ‘C’ whereas the
number 71 represents ‘G’
o By flipping a single bit, the meaning of the binary string has changed
o If a book was transmitted over a network, assuming many bits were flipped, it
would likely be difficult to read the original text

How can errors cause problems?

• Some errors are small and trivial such as a single swapped letter in a large text
• Other errors, in data such as postage addresses, aerospace coordinates or bank
transfers, can be difficult to rectify or be disastrous
• Any job or task that relies on a computer to perform highly sensitive or secure processes
must have methods of error checking and correction

How do errors occur?

• Errors can occur using wired or wireless technology due to interference


• Examples of interference include wire degradation or electrical fields changing the
signal
• Results of interference include:
o Data loss - data is lost in transmission
o Data gain - additional data is received
o Data change - some bits have been changed or flipped
• Wireless technology uses radio signals or other electromagnetic signals to transmit
data
o These signals can be blocked by physical barriers such as buildings, walls, cars
or other objects
o Interference can be caused by bad weather such as rain or clouds, or by
other wireless signals or electromagnetic radiation
• Wired technology carries more chance of causing an error as physical components can
be damaged, degrade or receive interference from outside signals
o Data loss can also occur from interruptions to data transmission such as
a blocked signal or if the transmission is intermittent
Error Detection Methods

Parity check

• The parity checking protocol determines whether bits in a transmission have


been corrupted
• Every byte transmitted has one of its bits allocated as a parity bit
• The sender and receiver must agree before transmission whether they are using
odd or even parity
• If odd parity is used then there must be an odd number of 1’s in the byte, including
the parity bit
• If even parity is used then there must be an even number of 1’s in the byte, including
the parity bit
• The value of the parity bit is determined by counting the number of 1’s in the
byte, including the parity bit
• If the number of 1’s does not match the agreed parity then an error has occurred
• Parity checks only check that an error has occurred, they do not reveal where the
error(s) occurred

Even parity

• Below is an arbitrary binary string

EVEN
Byte
Parity bit

0 1 0 1 1 0 1 0

• If an even parity bit is used then all bits in the byte, including the parity bit, must add
up to an even number
o There are four 1’s in the byte. This means the parity bit must be 0 otherwise the
whole byte, including the parity bit, would add up to five which is an odd number

Odd parity

• Below is an arbitrary binary string

ODD
Byte
Parity bit
1 1 0 1 1 0 1 0

• If an odd parity bit is used then all bits in the byte, including the parity bit, must add up
to an odd number
o There are four 1’s in the byte. This means the parity bit must be a 1 otherwise the
whole byte, including the parity bit, would add up to four which is an even number
• The table below shows a number of examples of the agreed parity between a sender
and receiver and the parity bit used for each byte

Example Agreed Parity Total number


Main bit string
# parity bit of 1’s

#1 ODD 0 1 1 0 1 0 1 1 5

#2 EVEN 1 0 0 0 1 0 0 0 2

#3 EVEN 1 0 1 0 1 1 1 1 6

#4 ODD 1 0 1 1 1 0 0 1 5

#5 ODD 1 1 0 1 0 1 0 1 5

#6 EVEN 0 1 0 0 1 1 1 0 4

• Example #1: The agreed parity is odd. All of the 1’s in the main bit string are added (5).
As this number is odd already the parity bit is set to 0 so the whole byte stays odd
• Example #2: The agreed parity is even. All of the 1’s in the main bit string are added (1).
As this number is odd the parity bit is set to 1 to make the total number of 1’s
even (2)
• Example #6: The agreed parity is even. All of the 1’s in the main bit string are added (4).
As this number is even already the parity bit is set to 0 so the whole byte stays even

How do errors occur?

• When using parity bits, an error occurs when the number of total bits does not match
the agreed parity
• Bits can be flipped or changed due to interference on a wire or wirelessly due
to weather or other signals

Total
Example Agreed Parity
Main bit string number of Error
# parity bit
1’s

#1 ODD 1 1 1 0 1 0 1 1 6 Error

#2 EVEN 1 0 0 0 1 0 0 0 2 No error

#3 EVEN 1 0 1 1 1 1 1 1 7 Error
#4 ODD 1 0 1 1 1 0 0 1 5 No error

#5 ODD 1 1 0 1 0 1 1 1 6 Error

#6 EVEN 0 1 0 0 0 1 1 0 3 Error

• Example #1: The agreed parity is odd but the total number of 1’s is even (6). An error
has occurred somewhere
• Example #2: The agreed parity is even and the total number of 1’s is even (2). No error
has occurred here
• Example #3: The agreed parity is even but the total number of 1’s is odd (7). An error
has occurred somewhere
• Parity checks are quick and easy to implement but fail to detect bit swaps that
cause the parity to remain the same
• Below is an arbitrary binary string. The agreed parity is odd and the total number of 1’s
is five (odd)

Total
Agreed Parity
number of Error
parity bit
1’s
No
ODD 1 0 1 0 1 0 1 1 5
error
Total
Agreed Parity
number of Error
parity bit
1’s
No
ODD 1 1 0 0 0 0 0 1 3
error

Parity bytes and parity blocks

• Parity checks do not pinpoint errors in data, only that an error has occurred
• Parity blocks and parity bytes can be used to check an error has occurred and where
the error is located
o A parity block consists of a block of data with the number of 1’s totalled
horizontally and vertically
o A parity byte is also sent with the data which contains the parity bits from the
vertical parity calculation
• Below is a parity block with a parity byte at the bottom and a parity bit column in the
second column

ODD Parity bit Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8
Byte 1 0 1 1 0 1 0 1 1
Byte 2 0 0 0 0 1 0 0 0
Byte 3 1 0 1 0 1 1 1 1
Byte 4 1 0 1 1 1 0 0 1
Byte 5 1 1 0 1 0 1 0 1
Byte 6 1 1 0 0 1 1 1 0
Byte 7 0 0 1 1 1 1 1 0
Byte 8 0 1 0 1 1 0 0 0
Parity byte 0 1 1 1 1 1 1 1

• The above table uses odd parity


• Each byte row calculates the horizontal parity as a parity bit as normal
• Each bit column calculates the vertical parity for each row. This is the parity byte. It
is calculated before transmission and sent with the parity block
• Each parity bit tracks if a flip error occurred in a byte while the parity byte calculates
if an error occurred in a bit column
• By cross referencing both horizontal and vertical parity values the error can be
pinpointed
• In the above example the byte 3 / bit 5 cell is the error and should be a 0 instead
• The error could be fixed automatically or a retransmission request could be sent to
the sender

Checksums

• Checksums determine if data has been corrupted but do not reveal where
• Data is sent in blocks and an additional checksum value is added at the end of the
block
• Checksums are custom user-created algorithms that perform mathematical
calculations on data
• An example of a custom checksum algorithm in computer science is:
o A checksum byte is defined as a value between 1 and 255 which is stored in 8
bits. 8 bits are collectively known as a byte
o If the sum of all of the bytes of a transmitted block of data is <= 255 then
the checksum value is the sum of all of the bytes
o If the sum of all of the bytes is > 255 then the checksum is calculated with an
algorithm:
▪ X = sum of all of the bytes
▪ Y = X / 256
▪ Round down Y to nearest whole number
▪ Z = Y * 256
▪ Checksum = X - Z
Custom Checksum Walkthrough

o If X = 1496
▪ Y = 1496 / 256 = 5.84
▪ Rounded down Y = 5
▪ Z = 5 * 256 = 1280
▪ Checksum = 1496 - 1280 = 216
o The checksum value in this example would be 216
• When a block of data is to be transmitted, the checksum is first calculated and then
transmitted with the rest of the data
• When the data is received the checksum value is calculated based on the received
data and compared to the checksum value received. If they are the same then the
data does not contain any errors
• If an error does occur then a resend request is sent and the data is retransmitted

Echo check

• Echo checks involve transmitting the received data back to the sender.
The sender then checks the data to see if any errors occurred during transmission
• This method isn’t reliable as an error could have occurred when the sender
transmits the data or when the receiver transmits the data. Neither will know when
the error occurred.
• If an error does occur the sender will retransmit the data

In summary:

» a copy of the data is sent back to the sender

» the returned data is compared with the original data by the sender’s computer

» if there are no differences, then the data was sent without error

» if the two sets of data are different, then an error occurred at some stage during the
data transmission.

Check Digits

• Check Digits to determine if data has been corrupted but do not reveal where
• Data is sent in blocks and an additional check digit value is added at the end of the
block
• Check Digits are custom user-created algorithms that perform mathematical
calculations on data

• An example of a check digit is the ISBN (International Standard Book Numbers) value
on books:
o Each book has a unique ISBN number that identifies the book
o A standard ISBN number may be ten digits, for example, 965-448-765-9
o The check digit value is the final digit (9 in this example). This number
is chosen specifically so that when the algorithm is completed the result is a
whole number (an integer) with no remainder parts
o A check digit algorithm is performed on the ISBN number. If the result is a
whole number then the ISBN is valid

ISBN Check Digit Walkthrough

▪ To calculate an ISBN check digit the following algorithm is performed on


965-448-765-9:
▪ Multiply each ISBN digit by 1 to 10 and add them all up:
▪ 9x1 + 6x2 + 5x3 + 4x4 + 4x5 + 8x6 + 7x7 + 6x8 + 5x9 +
9x10 = 352
▪ Take the total number and divide it by 11: 352/11 = 32. 32 is a
whole number with no remainder so the ISBN is valid

• Another example of a check digit is barcodes Vehicle Identification Numbers (VIN) on


purchasable items:
o Barcodes consist of black and white lines which can be scanned using barcode
scanners. Barcode scanners shine a laser on the black and white lines
which reflect light into the scanner. The scanner reads the distance between
these lines as numbers and can identify the item
o Barcodes also use a set of digits to uniquely identify each item. The number
of digits varies from code to code. An example would be 9780201379624
o The final digit on a barcode is usually the check digit. Like an ISBN this can be
used to validate and authenticate an item

Barcode Check Digit Walkthrough



o To calculate a barcode check digit we can perform the following example
algorithm on 9780201379624 (the final digit is the check digit):
▪ Multiply each digit by 1 or 3, alternating between these two values and
add them all up
▪ 9x1 + 7x3 + 8x1 + 0x3 + 2x1 + 0x3 + 1x1 + 3x3 + 7x1 + 9x3 + 6x1
+ 2x3 = 96

▪ The check digit (the final digit) should be the difference between the sum
and the closest multiple of 10 that is larger or equal to the sum
▪ 96 rounded to the nearest 10 = 100
▪ 100-96 = 4
▪ The check digit is therefore 4 which matches our original barcode
number

• An example of a custom check digit algorithm in computer science is:


o A check digit byte is defined as a value between 1 and 255 which is stored in 8
bits. 8 bits are collectively known as a byte
o If the sum of all of the bytes of a transmitted block of data is <= 255 then
the check digit value is the sum of all of the bytes
o If the sum of all of the bytes is > 255 then the check digit is calculated with an
algorithm:
▪ X = sum of all of the bytes
▪ Y = X / 256
▪ Round down Y to a nearest whole number
▪ Z = Y * 256
▪ Check digit = X - Z

Custom Check Digit Walkthrough



o If X = 1496
▪ Y = 1496 / 256 = 5.84
▪ Rounded down Y = 5
▪ Z = 5 * 256 = 1280
▪ Check digit = 1496 - 1280 = 216
o The check digit value in this example would be 216

• When a block of data is to be transmitted, the check digit is first calculated and then
transmitted with the rest of the data
• When the data is received the check digit value is calculated based on the received
data and compared to the check digit value received. If they are the same then the
data does not contain any errors
• If an error does occur then a resend request is sent and the data is retransmitted

Additional Notes on Check Digits

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

Check digits are used to identify errors in data entry caused by mis-typing or mis-scanning a
barcode. They can usually detect the following types of error:

» an incorrect digit entered, for example 5327 entered instead of 5307


» transposition errors where two numbers have changed order, for example 5037 instead of
5307
» omitted or extra digits, for example 537 instead of 5307 or 53107 instead of 5307
» phonetic errors, for example 13 (thirteen), instead of 30 (thirty).

There are a number of different methods used to generate a check digit. Two common methods
will be considered here:
» ISBN 13
» Modulo-11
Automatic Repeat Request (ARQ)

• When the receiver receives transmitted data it must check for the presence of any
errors. Errors can usually be detected but not always pinpointed
• An Automatic Repeat Request is a protocol that notifies the sender that an error
has occurred and that the data received is incorrect. It works as follows:
o If an error is detected the receiver sends a negative
acknowledgement transmission to indicate the data is corrupted
o If no error is detected the receiver sends a positive
acknowledgement transmission meaning the data is correct
o If the receiver does not send any acknowledgement transmission, then
the sender waits for a certain time period known as a time-
out before automatically resending the data
o This process is repeated until all data has been received and acknowledged

Encryption
• Many threats exist to system and network security. Examples include:
o Malware
o Viruses
o Spyware
o Hackers
o Denial of service attacks
o Social engineering
o SQL injection
• Hackers are people who try to gain unlawful or unauthorised access to computers,
networks and data by writing programs
• They look for weaknesses in the system and use them to gain access
• Hackers have various motives such as financial gain, a challenge or protests etc
• Hackers sometimes target data in order to steal and use it, or block people from using
the data by creating programs called ransomware
• Hackers may also used packet sniffer to intercept and read data transmitted across the
internet or a network
• Hackers will often want to use people’s information and therefore it is beneficial
to encrypt your data

What is encryption?

• Encryption involves encoding data into a form that is meaningless using an algorithm
o An example could be turning the phrase “Computer Science” into
“YekLKEZizFuFjHNCjHj3Md7qyTiGxLNNwPVFZtJU74I=”
• Once encrypted, data can be decrypted which turns the encrypted data into data that
can be understood again
• Encryption doesn’t prevent hackers from hacking but makes the data hard if not
impossible to understand unless they have matching decryption tools
• There are two types of encryption: symmetric encryption and asymmetric encryption

The purpose of encryption

When data is transmitted over any public network (wired or wireless), there is always a risk of it
being intercepted by, for example, a hacker. Under these circumstances, a hacker is often
referred to as an eavesdropper. Using encryption helps to minimise this risk. Encryption alters
data into a form that is unreadable by anybody for whom the data is not intended. It cannot
prevent the data being intercepted, but it stops it from making any sense to the eavesdropper.
This is particularly important if the data is sensitive or confidential (for example, credit card/bank
details, medical history or legal documents).

Plaintext and ciphertext

The original data being sent is known as plaintext. Once it has gone through an encryption
algorithm, it produces ciphertext:
3.HARDWARE
COMPUTER ARCHITECTURE

The CPU & Microprocessor

What is the role of the central processing unit (CPU) in a computer?

• A computer system consists of hardware and software


• The main hardware components of a computer system are input devices, the central
processing unit, primary memory, secondary storage and output devices
• Examples of input devices - keyboard, mouse, game controller, sensors, microphone and
webcam
• Examples of output devices - monitor, phone screen, speakers, printer, and motors
• Data and commands are inputted by the user using an input device, the central processing
unit (CPU) processes data by executing instructions and the results are outputted to an
output device

• A diagram showing the input, process, output sequence followed by computer


systems

• Below is an example of data being inputted, processed and the results being outputted

Step Example

Input • A keyboard is used to input a number

Process • If the instruction being executed is ADD, the


inputted value is added to an existing value

Output • The result of the calculation is outputted to


the user via the monitor
What is a microprocessor?

• A microprocessor is a type of integrated circuit on a single chip


• An integrated circuit is a small electronic circuit made up of transistors, capacitors,
resistors and other electronic components
• The integrated circuit contains a central processor designed to perform arithmetic and
logic operations, which include adding, subtracting, transferring numbers from one
memory location to another, and comparing two numbers
• The single chip also contains input/output interfaces, and memory
• Microprocessors are a compact way of processing data and can be used in a wide range
of electronic devices, including general-purpose computer system and Embedded
system.

Von Neumann Architecture

The components in a CPU, in a computer that has a Von Neumann architecture

• John Von Neumann developed the concept of the stored program computer in the
1940s

• The Von Neumann computer architecture which most modern day computers use, is
based upon this concept
o The key feature of the stored program concept, and Von Neumann architecture,
is data and instructions are stored in the same memory ( RAM ) as binary
o Another feature of Von Neumann architecture is a central processing unit
(CPU) fetches instructions from memory and executes them one at a time
(serially)
o The CPU then stores the results back into memory

Components of the Central Processing Unit

A diagram showing the main components of the CPU


• The main purpose of the CPU is to execute instructions and process data

• The CPU has two main components - the Control Unit (CU) and the Arithmetic Logic
Unit ALU)
o The Control Unit controls the flow of data around the CPU
o The Control Unit also sends control signals to the different components
instructing them what to do e.g. read, write, add, subtract
o The Control Unit decodes instructions (into an opcode and operand )
o The Control Unit controls the timings of operations (the clock speed)
o The Arithmetic Logic Unit(ALU) performs the calculations required to execute
the instructions, these include ADD and SUBTRACT
o The ALU also carries out logical operations such as COMPARE
o The ALU has a built-in register where it stores interim results of calculations
o After calculations, the ALU sends data to the MDR
• The CPU also contains a number of registers which are small memory locations
within the CPU, which temporarily store data needed to execute an instruction
• Special purpose registers have specific roles to play in the execution of an instruction

Special purpose register Definition

Program Counter (PC) • stores the address of the next instruction to be


fetched from memory

Memory Address • stores the address of the instruction or data to


Registers (MAR) be fetched from or written to memory

Memory Data Register • stores the data that has been fetched from
(MDR) memory or being written to memory
• Data from MDR is sent to ALU to be executed

Current Instruction • stores the instruction the CPU is currently


Register (CIR) decoding or executing

Accumulator • Temporarily stores the results of the


calculations performed by the arithmetic and
logic unit
Buses

• Components within the CPU and wider computer system are connected by buses.
These are wires down which electronic signals and data travel. The different buses are
collectively called the system bus
• The system bus is made up of three different buses - the data bus, the control
bus and the address bus
o The data bus transmits data from the CPU to memory or input/output
controllers. It is bidirectional which means data can travel in both directions
o The address bus transfers addresses from the CPU to memory. It
is unidirectional which mean addresses only go from the CPU to memory
o The control bus transfers control signals from the control unit to other
components in the computer system such as memory or input/output controllers.
The control bus is bidirectional

A diagram showing how the different buses connect the components in a computer
system

The Fetch, Decode, Execute cycle

• The Central Processing Unit (CPU) executes instructions by performing the Fetch
Decode Execute cycle
o The CPU fetches an instruction from memory
o The instruction is then decoded ( by the Control Unit) into an opcode and
an operand
o The instruction is executed and the whole cycle is repeated with the next
instruction in the process
A diagram depicting the Fetch Decode Execute cycle
Step Detailed Explanation

Fetch • The memory address of the instruction to be


fetched is stored in the Memory Address
Register and is sent down the address bus.
• The data/instruction at the memory address is
transferred back to the CPU, via the data bus,
where it is stored in the Memory Data Register
• The instruction is copied into the Current
Instruction Register and the Program
Counter increments

• The instruction in the Current Instruction


Decode Register is decoded, by the Control unit, into
an opcode and an operand

Execute

• The instruction is executed by the Arithmetic


Logic Unit and the opcode is performed upon
the operand.
• The result is stored in the accumulator or
written to a memory location within memory

CPU Performance

• Central Processing Units can have multiple cores


o A dual-core processor has two cores
o A quad-core processor has four cores
o Each core runs separate fetch, decode, execute cycles, independently from
one another and at the same time (simultaneously) meaning parallel
processing can take place
o Multiple cores enables multitasking (running more than one program at the
same time)
o Some programs cannot be split between cores
o The more cores a computer has the more instructions that can be executed per
second resulting in better performance
• Each core has a clock speed
o The clock speed is how many instructions the core can execute each second
o The clock speed is measured in Hertz
o Modern cores can execute billions of instructions per second
o A gigahertz (GHz) is a billion instructions per second
o A megahertz (MHz) is a million instructions per second
o A CPU core with a clock speed of 3.4GHz can execute 3.4 billion
instructions per second
• Cache is a small amount of memory situated within or close to the CPU with very fast
read/write speeds
o It is used for storing frequently used instructions/data, recently used
instructions, and instructions that are to be fetched and executed next in a
process.
o The impact of increasing the amount of cache is that more data can be stored
there and accessed faster than if it was in RAM …which improves the
performance of the CPU.
• Double the number of cores does not necessarily mean double the number of
instructions executed a second. The cores might have different clock speeds and cache
sizes

Instruction Sets
• An instruction set is a list of all the commands that can be processed by a CPU
• Each command has a unique binary code
• The table below shows an example instruction set. Each instruction has
a mnemonic that indicates what the instruction does alongside a corresponding binary
code

Instruction Set

ADD 10100001

SUB (subtract) 00100010

LDA (load) 10111111

STR (store) 01100000

BRA (branch) 01011010

After an instruction is decoded into an opcode and an operand, the CPU finds the
opcode in the processor’s instruction set. It then knows what operation to perform when
executing the instruction Instruction lists are machine-specific
• This means a program created using one computer’s instruction set would not run on a
computer containing a processor made by a different manufacturer
• For example, a computer program created using Intel’s instruction set would not run on a
device containing an ARM processor.
Embedded Systems
• An embedded system is a computer system with a either one function or limited
specific functions built within a larger mechanical device
• Its purpose is to control the device and allow a user to interact with it
• It runs on firmware and does not have additional peripherals
• An embedded system is different to a general purpose computer system like a laptop or
desktop computer which can be used to perform many different tasks
• The vast majority of microprocessors manufactured are for use as embedded systems
• Some embedded systems are microcontrollers meaning they are part of an integrated
circuit with built in memory

Type of embedded
Description
system

Integrated circuit containing a CPU and memory (RAM


Microcontrollers
or ROM) built in to the same chip

Integrated circuit containing only a CPU on the chip


Microprocessor
RAM , ROM , peripherals need to be added

• The microprocessor used in an embedded system is often custom designed


• Embedded systems often have firmware which is software built into the system which
cannot be reprogrammed by the user. The software may be able to be updated e.g. GPS
software in a car navigation system
• Embedded systems usually have some form of analog or digital input
Diagram of an embedded system

Embedded
Possible input devices Possible Output
system

Buttons to set the Screen showing the time


Digital clock
time/mode/alarm Alarm

Pedestrian button
Traffic Lights Timer Lights
Movement sensor

Lighting system Movement sensor Lights

Keypad to enter alarm code


Security system Camera Alarm
Movement sensor

Actuator controlling
Vending machine Keypad to make choice
movement of choice

Central Heating Keypad to set temperature


Heat
system Temperature sensor
• There are many advantages of embedded systems
o low power consumption
o small physical size
o low cost to manufacturer
o they can be controlled remotely
o can operate in real time and respond to inputs very quickly
INPUT AND OUTPUT DEVICES
Input Devices

• Every computer system receives commands and data, from the real world, via input
devices
• Input devices converts inputs into digital data which can be processed
• For conventional computer systems, such as desktop computers and laptops, the most
common input devices are the mouse and the keyboard
• There are a wide range of input devices used in more specialist computer systems such
as scanners and sensors.

Barcode Scanner

Diagram of a barcode being scanned by a handheld barcode scanner

• Barcodes are a series of black and white bars which represent a code
• A barcode reader shines a red laser at the barcode to read the data it represents
• The light from the white lines is reflected back
• Black lines absorb the light so less is reflected
• The different levels of reflection are converted into a binary value which can be
processed by a microprocessor
• A barcode reader can be handheld or built into a larger machine such as a self-service
checkout at a supermarket
• Barcodes can be used in many ways such as identifying a product being sold
or tracking a package through the delivery process
• Benefits include faster checkouts, automated stock control, less chance of
error due to manual entry of data, and more detailed tracking information
Digital Camera

• A digital camera works by capturing light and converting it into a digital image
• Light enters the camera through the lens, it reaches an image sensor where it is split into
millions of pixels (small squares). Each pixel measures light intensity which
is converted into binary and represents a colour.
• Digital cameras are integrated into smartphones , used in security systems and
by professional photographers to create high quality digital images
• An advantage of digital cameras is they show a preview of the image
• They also instantly create an image which can then be
easily duplicated and transmitted via bluetooth or WiFi
• Software can be used to edit digital photos, for example applying a filter or retouching
a photo

Keyboard

• A keyboard is the most common device used for text-based data input
• They are connected either by a USB cable or wirelessly to the computer system
• They are built into laptops.
• Smartphones and tablets have virtual keyboards
• Each key on a keyboard has a peg underneath it which makes contact with a conducting
membrane. This is then converted into an electrical signal to transmit a unique
character code

Microphone

• A computer microphone works by converting sound waves into electrical signals that
can be processed by the computer.
• They can capture any real world sound and convert it into digital data which can be
stored, duplicated or modified
• The microphone has a diaphragm that vibrates in response to sound waves. These
vibrations are then converted into electrical signals by a coil of wire attached to the back
of the diaphragm. Changes in the signal are recorded by a microprocessor using a
analogue to digital converter
• Microphones are used to record music, telephone calls, communicate
online and dictation

Optical Mouse

• A mouse use a laser to detect and track movement, this is then processed by a
microprocessor which interprets the movement and replicates it when moving a virtual
cursor on-screen
• Items can be selected or moved using the left mouse button, whilst the right button
usually displays additional menus
• They can be wired or wireless
• They are used to control the cursor in a Graphical User Interface (GUIs)
• They are simple to use and provide the user with an intuitive way to navigate the
computer
• They are reliable due to no moving parts

QR code scanner

Diagram of a QR code being scanned by a mobile device

• A QR code is a visual representation of data using black and white squares


• QR codes can represent over 7000 digits whereas a barcode represents up to 30 digits
• QR codes are scanned by a camera (often on a mobile device)
• A piece of software convert the squares into binary data
• QR codes often link to a website where more information can be found
• They can also be used to advertise products, share contact details,
provide promotional codes, train tickets, and event tickets
Touchscreen

• A touchscreen can be classed as both an input device and an output device

Types of touch screen

Type How it works Benefits/Drawbacks Uses

Resistive screen Resistive screens consist of two + Cheap to produce.


conductive layers. The top layer
is flexible. When the screen is + Resistant to
touched the two layer connect, surface contaminants Used in cash machines,
completing a circuit information kiosks,
medical equipment
+ Can be activated with nearly
every object (stylus, finger,
gloved hand)
Infra-red screens LEDs shine infrared light across + Excellent image quality,
a screen forming a matrix.
When the screen is touched the + high precision
beams are interrupted
+ durable
Tablets, laptops,
smartphones
+ allows for multiple touches at
the same time

- Requires a bare finger or stylus


for activation
Capacitive Made up of a protective layer, a +Excellent image quality
screens transparent conductive layer Large scale commercial
and a glass substrate. Touching +Unlimited touch-life displays
the screen changes the
electrostatic field of the +Scale well Information kiosks
conductive layer
- Sensitive to interference from Medical equipment
light, water, snow

2D and 3D scanners

• A two-dimensional (or flat-bed) scanner shines a strip of light over a document.


Reflected light is measured for each pixel. This data is converted into binary data so the
document can be digitally recreated
• A three- dimensional laser scanner shines a light over an object. The geometry and
dimensions are recorded so the object can be recreated digitally
• The digital 3D model can be modified using specialist software
• A 3D printer could then print out the model
• 2D scanners can be used for creating digital versions of documents or photographs
• Reading passports at airports
• 3D scanners can be used to create 3D models for use with computer-aided
design (CAD) software
• Creating replicas with 3D printers
• Typical uses of 3D scanners and printers are dentistry, product development, medical
• A cheap and quick way of creating a digital representation of both 2D and 3D objects
so they can be manipulated, stored, transmitted or copied

Summary of input device uses and benefits

Device Example Uses Benefits

Barcode scanner Faster checkout, less errors, detailed


Checkouts, parcel delivery
stock/tracking information
QR code scanner Can hold more information than a
barcode
Advertising products, linking to
websites, e-tickets
Can be scanned using a camera on a
mobile device (smartphone)
2D and 3D scanners Converts 2D and 3D objects into digital
Scan documents, photos and objects data which is easier and quicker to
transmit/duplicate or manipulate
Digital camera Smartphones, professional
Instant preview and image
photography, security systems
Keyboard
Entering text Universal, easy to use
Mouse Navigating a GUI
Intuitive
Making selections and entering
commands
Microphone Recording real-world sound

Musical recordings

Telephone calls

Dictation
Touchscreen Entering text and commands on mobile
devices (tablet, smartphone)
Can be durable
Cash machines
Good image quality
Interactive advertisements
Intuitive/easy to use
Information screens
Output Devices

• An output device shows the results of the processing in a way humans can
understand
• In a general purpose computer system, the main output device is the monitor/screen
• Other output devices include projectors, printers, speakers and actuators

Actuators

• Actuators are used in conjunction with a motor to translate energy (electrical, air,
hydraulic) into real-world movement of a physical object.
• They come in a variety of sizes and have been made specifically for a particular
function.
• Examples of use include turning a wheel, opening or closing a door, controlling a
conveyer belt, operating machinery, moving robotic arms, vibrating a machine,
starting or stopping a pump, opening or closing a valve
• They are often used with sensors. The input of the sensor is checked against stored
values. If the input is within a certain range an actuator is used to provide movement of
a physical object

Light projectors

• Used to project computer outputs onto a large screen


• Used to give presentations in both business and education settings
• There are two types - Digital light processing (DLP) projectors and Liquid crystal
display (LCD) projectors.
• DLP systems use millions of micro-mirrors arranged in a grid on a microprocessor within
the projector. Light is shone through colour filters and the mirrors. The position of the
mirrors can be altered to change the intensity of the light
• LCD projectors use three mirror filters to separate an image into red, green and blue
wavelengths. The three images are then combined to produce the full colour image
which is passed through the lens on to the wall/screen
Device Advantages Disadvantages

Digital light projector


(DLP) Higher contrast ratios.
Image tends to suffer from “shadows”
when showing a moving image
Smooth video

DLP do not have grey components in


Higher reliability
the image

The colour definition is not as good as


Smaller and lighter
LCD projectors

Better suited to dusty atmospheres than LCD


projectors
LCD projector
Give a sharper image than DLP projectors Contrast ratios are not as good as DLPs

Better colour saturation and intensity than DLP


Have a limited life
projectors

Use less power and generate less heat LCD panels degrade over time.
Quieter running that DLP

Laser and Inkjet printers

• Both printers create hard copies of a digital document


• Hard copies are needed when you do not have access to an electronic device

Inkjet printers:

• Have a print head which moves across the page


• Spray liquid ink droplets from ink cartridges through very fine nozzles onto the paper
(these are in the print head)
• The droplets can be piezoelectric or thermal bubble technology
• Inkjet printers produce high quality hard copies of digital images or documents

Laser printers:

• Are very fast when making multiple copies of a document


• Are useful for high volume print jobs for example producing leaflets
• Have a low running cost per page.
• Are often used in business and education setting
• Have large toner (dry ink) cartridges and large paper trays
• Use positive and negative charges to make the toner particles stick to piece of paper,
heat is then used to bond the particles to the paper
3D printers

• 3D printers create 3D models of a digital model by depositing layers of material,


such as plastic or resin, on top of one another to slowly build up a 3D object
• They allow for precision and can be used in medicine to create prosthetics and blood
vessels
• 3D printers can be used to create rapid prototypes
• Models can be transmitted digitally and then models printed out all across the world

Liquid Crystal Display screens

• LCD screens are made up of millions of tiny liquid crystals.


• The display is made of pixels arranged in a matrix
• The display requires backlighting
• They are used for TVs, monitors, tablets and phones
• They have low power consumption and run at a cool temperature
• They do not suffer image burn or flicker issues
• They provide bright images and colours
• They are cheaper to produce than LED screens

Light emitting diode (LED) screen

• An LED screen is made up of tiny LEDs


• They do not need backlighting which makes them thinner and lighter to hang on the
wall
• LED screens are replacing LCD displays in TVs, monitors, laptops and mobile devices
• They have better image quality and a longer life span
• They can be used to create very large screens that can be used to show visual content
at events such as football matches and music festivals
• They consume very little power making them suitable for being switched on for many
hours in the day

Organic light emitting diode (OLED) screen

• Much thinner and lighter than traditional LCD screens


• Use organic light emitting diodes (OLEDS).
• They use organic carbon compound to create semiconductors
• No form of back lighting is required
• You can have very thin, flexible screens

Speakers

• Speakers are used to take digital sounds or recordings and output them as sound waves
which can be heard by humans
• The digital data is changed into a electric current using a digital to analogue
converter (DAC)
• It is then passed through an amplifier to create a current large enough to drive a
loudspeaker
• The loudspeaker converts the current into a sound wave
• Typical uses include listening to music, listening to video sound, telephone
calls and alarms

Sensors

• Sensors are input devices


• They measure a physical property of their environment such as light levels,
temperature or movement
• Sensors can be used for monitoring systems and control systems
o A monitoring system tracks the state of a system, it gathers data and may
issue warning messages
o A control system will control the system based upon the input from sensors
o For example, if the water temperature in a fish tank fell below the acceptable
level, a control system would start up a heater. The system will then continue to
check the water temperature readings and when they are within the acceptable
range it will switch off the heater
▪ This process of the outputs affecting the following set of input values
received from the sensors is called a feedback loop

Sensor type What it measures Typical use

Acoustic Sound levels To detect changes in sound levels of


industrial machinery

To monitor noise pollution

In security system to detect suspicious


sounds
Accelerometer Acceleration rate, tilt, vibration Detecting sudden changes in vehicle
movement and deploy safety features if
needed

In mobile phones to detect orientation of


the device
Flow Rate of gas, liquid or powder flow Detect changes in the flow through pipes
in water system
Gas Presence of a gas e.g. carbon monoxide
Detect levels of gas in confined spaces

Detect gas levels when fixing gas leaks

Humidity Levels of water vapour Monitor humidity in greenhouses


Infra-red Detecting motion or a heat source Security systems detecting intruders who
break the beam

Measures heat radiation of objects -


used by emergency services to detect
people
Level Liquid levels
Detects levels of petrol in a car tank

Detect levels of water in a water tank

Detect a drop in water levels due to a


leak

Light Light levels Automatically switching on lights when it


gets dark (street lights, headlights)
Magnetic field Presence and strength Anti-lock braking system

Monitoring rotating machinery such as


turbines
Moisture Presence and levels of moisture Monitoring moisture in soil

Monitoring damp in buildings


pH Acidity or alkaline Monitoring soil to ensure optimum
growing conditions

Monitor Ph levels in chemical processes


Pressure Gas, liquid or physical pressure Monitoring tyre pressure

Monitoring pressure in pipes during


manufacturing process
Proximity Distance Monitoring position of objects in robotics

Used in safety systems to prevent


objects colliding
Temperature Temperature in Celsius, Fahrenheit or Used to maintain temperature in
Kelvin swimming pools

Used to control temperature in chemical


processes
Primary Storage
• Primary storage is directly accessible by the CPU , it includes RAM, Cache, and ROM
• The purpose of Random Access Memory (RAM) is to store data, instructions and
software (including parts of the OS) currently in use
o RAM is also called main memory
o RAM has faster read/write speeds than secondary storage
o RAM is volatile which means it is temporary memory and all data will be
lost when the computer is switched off
o The larger the main memory, the more data the computer access quickly,
which can improve the computer's performance
o A standard desktop computer has between 4GB and 16GB of RAM
• The parts of the operating system currently in use will be stored in RAM
• The purpose of cache is to store frequently/recently used instructions and data
o Cache has faster read/write speeds than RAM
o There are different levels of cache
▪ Level 1 cache is situated within the CPU
▪ Level 2 and 3 cache are situated on the motherboard
o If you increase the amount of cache you can store more frequently used data
and increase the performance of your computer
▪ If you have too much cache it will decrease the data access speeds
because the data requested will take longer to find
o Cache is volatile and all data will be lost when the computer is switched off
A diagram showing the parts of a computer system which are classed as primary storage

• The role of Read-only memory (ROM) is to store the computer’s boot-up sequence
o The boot-up sequence is a set of instructions the computer executes when then
computer is initially switched on
o This sequence will run a series of checks to ensure all of the system hardware is
working
o It will then load the operating system which will move from secondary storage
to RAM
• ROM is non-volatile which means data will be stored when the computer is switched off
• ROM is read-only which means data cannot be written to ROM

The difference between ROM and RAM

RAM ROM

Volatile Non-volatile
Can read and write data to RAM Read-only
Secondary Storage
• Secondary storage is not directly accessed by the CPU
• It is used for permanent storage of data
• Secondary storage is non-volatile. This means data is stored even when power is lost
to the device
• Secondary storage is needed as primary storage (such as RAM ) is volatile and will not
retain data when the computer is turned off
• Unlike ROM, secondary storage can be read from and written to. ROM is read only
• Common examples of secondary storage include hard disk drives (HDDs), solid-state
drives (SSDs), external hard drives, USB flash drives, CDs, DVDs, and Blu-ray
discs. These can be used to store data to transfer it to another computer
• Data access speeds for secondary storage devices are typically slower than primary
storage (such as RAM)
• Secondary storage devices often have large capacity (can store large amounts of data)
• Software such as the operating system is saved permanently on secondary storage.
The instructions and data that makes up the software then moves to RAM when it is in
use
• Secondary storage devices can be internal (inside the computer) and external (outside
the computer)

Diagram showing different internal and external secondary storage devices


Comparison of primary and secondary storage

Primary storage Secondary storage

Volatile / temporary Non-volatile /permanent

RAM and cache can be read from and written to


Secondary storage can be read from and written to
ROM is read-only

Can be directly accessed by the CPU Cannot be directly accessed by the CPU

Smaller capacity Larger capacity

Data access speeds faster than secondary storage Data access speeds slower than primary storage

Stores data and instructions Stores data and instructions


Types of secondary storage
• There are three types of secondary storage - magnetic, solid state and optical

Magnetic

• Magnetic hard disk drives have been the main type of internal secondary storage in
personal computers for many years however solid-state drives are increasingly popular
due to their durability, low power consumption and high read/write speeds
• A magnetic hard disk is made up of several metal discs coated with a magnetic
material
o These are called platters
o Iron particles on each platter are magnetized to represent a 0 or 1

A diagram showing the structure of a magnetic hard disk

• Each platter is divided by concentric circles creating several tracks and wedge
shaped sectors. Where they intersect is a track sector

A diagram showing how each platter is divided by tracks and sectors


• The hard drive spins the metal disk(s) at a high speed (typically around 5400-7200
RPM) using a motor
• A read/write arm, controlled by an actuator, moves the head over the surface of the
disc to the location of the data
• The data is read/written using electromagnets

Solid State

• Solid State secondary storage is made of transistors that are arranged in a grid layout
• It uses NAND and NOR gates in electrical circuits to persistently control the flow of
electrons
• Current flowing is 1, no current is 0 - which is how electrical flow can represent binary
values
• A NAND gate will take in two inputs and produce an output (1/electrical current) as long
as both inputs are not 1

The truth table truth table for a NAND gate

InputA InputB Output

0 0 1

0 1 1

1 0 1
1 1 0

• A NOR gate will produce an output (1) only when both inputs are 0

The truth table for a NOR gate

InputA InputB Output

0 0 1
0 1 0
1 0 0
1 1 0

Optical

• Optical devices include CDs, DVDs and Blu-rays


o Blu-rays have the largest capacity
o CDs have the lowest capacity
o CD-R are read-only (you cannot save data on to them)
o CD-RW can be written to and read from
o DVD-RW can be written to and read from
• All optical devices work by shining a laser at the disk and processing the reflection
• An arm moves the laser across the surface of the disk
• In CD-Rs a laser burns the data, permanently on to the disk, by
creating pits and lands
• The laser is also used to read the data from the pits and lands
• When the laser light hits the point where the pit changes into a land or vice versa the
light scatters and is not reflected back as well. This is captured by a sensor and can be
interpreted as a change in the binary value

A diagram showing how data is burnt on to optical discs to create lands and pits which
can then be used

• In CD-RW the chemical composition of the disk is changed to represent 0s and 1s. This
change can be overwritten
Virtual Memory
• The purpose of RAM is to store current data and program instructions in use
• The amount of physical RAM available is limited. The average modern desktop
computer has between 4GB and 16GB of RAM. Some programs are larger than this
• Virtual memory is part of secondary storage which acts as RAM when RAM is full
• It prevents the computer system crashing when RAM is full
• Data that needs to be accessed by the CPU directly is switched by the operating system
from virtual memory into RAM and an inactive page from RAM replaces it in virtual
memory. This is called page switching

A diagram showing page switching between RAM and virtual memory

• The table describes the steps that are taken when a program is opened on a
computer

Step Description

1 • The memory manager software built into the Operating


System checks to see if there is sufficient space in RAM to
move the new program’s instructions into RAM, so that they
can be directly accessed by the CPU

2 • If RAM is full, the memory manager will move out the most
inactive pages of data and put them in virtual memory until
needed

3 • The new program instructions are moved into RAM


Cloud Storage
• Cloud storage is the concept of storing data on remote servers, that can be accessed via
the internet, instead of on a local storage device (such as an SSD or HDD)
• The physical servers, where the data is stored, are owned and managed by a hosting
company

o Cloud storage warehouses often have thousands of servers containing hard drives
o The hosting company provides services such backing up the data, managing
access to the data as well as general security
• The data can be accessed at any time, on any device, as long as there is an internet
connection
• The data is accessible using a web browser or dedicated software that connects to the
cloud storage service
• There is potentially limitless storage, although it does need to be paid for
• Online storage means it is easy to share data and collaborate with others
• If the internet connection is slow/lost the access to your data is affected

A diagram showing different devices connecting to remote servers


Advantages of cloud storage
• Cloud storage offers several advantages over storing data on a local secondary storage device

Benefit Explanation

Accessibility • Data can be accessed from anywhere


• Data can be accessed by anyone with the relevant
permissions, making it quick to share files and
collaborate with others
• Data can be accessed on any device with an internet
connection

Scalability • Cloud storage providers allow customers to increase or


decrease their storage capacity as needed

Reliability • Cloud storage providers often use multiple servers to


store and backup data, reducing the risk of data loss due
to hardware failure

Security • Cloud storage providers offer advanced security


features, such as data encryption and multi-factor
authentication multi-factor authentication, to protect
user data from unauthorized access
• There is no need to hire specialist staff as IT services
being provided by the cloud storage provider

• You also do not need to purchase local secondary storage devices


• One cloud storage center is more environmentally friendly than millions of individual servers
• There are some drawbacks to using cloud storage
o If the user has a slow or unreliable internet connection, they would have
problems accessing their files
o If you are storing a lot of data, it can be expensive
▪ You have to pay the cloud storage provider
▪ You may need to commit to an annual subscription
▪ You may have to pay for high download and upload data transfer limits
o Data being sent over the internet has the potential to be intercepted
o Security is managed by the cloud storage provider which means the user does not have
complete control over it but is still legally responsible for ensuring any personal and
sensitive data is secure
Network Interface Card
• A Network Interface Card (NIC) or Network Interface Controller is an internal physical
component which enables computers and other devices to connect to a network
• They are also known as network adapters
• NICs have a built in ethernet port and can be connected to a network via
an Ethernet cable
• You can have Wireless Network Interface Cards (WNIC) which allow a device to
wirelessly connect to a network
• The primary function of a NIC is to send and receive data packets between the
computer or device and the network
• The NIC converts data to be sent into signals that can be sent across the
transmission medium
o If this is through a wired network, the signals will be voltages through an ethernet
wire or pulses of light through a fiber
o If this is through a wireless network, the signals will be radio waves
• NICs are likely to be integrated into the motherboard but can be added as an expansion
card

MAC Addresses
• A Media Access Control/MAC address is used to identify a device on a network
• It is a unique code which consists of six pairs of hexadecimal codes separated by a
colon
• Each pair of hex digits is a Byte of data. So in total a MAC address is 6 bytes or 48 bits
long
• An example MAC address is b4:71:ac:f3:21:a2
• The MAC address is assigned to the NIC by its manufacturer
• The first three pairs are the manufacturer ID number and the last three pairs is the
serial number of the NIC and identifies the device on the network

An example MAC address - the first part identifying the manufacturer and the second
part identify the device

• A MAC address cannot be changed. It is static


A table listing the differences between an IP address and a MAC address

MAC Address IP Address

Permanently assigned to a Can be used to identify devices on a network


NIC and cannot be changed but are dynamic and can be changed

MAC addresses are written in


IP addresses are written in denary
hexadecimal
MAC addresses are 6 bytes
IP addresses are 4 bytes long
long

MAC addresses are used to MAC addresses are used to identify a device
identify a device on a LAN on a WAN

IP Address
• An IP (Internet Protocol) address is a unique numerical identifier assigned to devices
connected to the internet
o IP addresses are used to identify and locate devices on the internet
o This allows data to be sent and received between devices
• An IPv4 address is four numbers separated by a full stop
o Each number is a byte and range between 0-255
o There are over 4 billion unique addresses using the IPv4 system
o For example, an IPv4 address might look like this: 192.164.3.1

• Routers and gateways have a unique public address


• Public addresses are assigned by your internet service provider and is the IP
address for the network
• Public addresses are often static addresses meaning they do not change
A diagram showing how Private and Public IP addresses are used to identify devices on
the Internet and within a LAN

• A router can assign private IP addresses to devices connected within its network
• These are often dynamic IP addresses meaning they can change
• Dynamic addresses are assigned from a list of available addresses at the time they
are required

• The IP4 system is running out of possible addresses due to the enormous increase in
networked devices
• A new system called IPv6 has been developed. It provides enough unique addresses for
every networked device on the planet
o IPv6 uses a 128-bit address
o Digits are organized into eight groups
▪ Each group is made up of four hexadecimal digits
▪ For example, bb43: ff3f: 0000:549b: e43e:db84:1f1f:0b9e

A comparison of IPv4 and IPv6 IP addresses

IPv4 IPv6

32-bit address 128 bit address


Eight groups of four
Four groups of denary digits
hexadecimal digits separated by
separated by a full stop
a colon
Over 4.3 billion unique Almost infinite amount of unique
addresses addresses
Router
• A router is an important piece of network hardware. It connects one network to another
network
o This means it can be used to connect a local area network (LAN) to the
internet, which is a wide area network (WAN)

• An important role of the router is to analyze data packet and direct them on to their
destination

A diagram showing multiple networks connected by routers, represented by the blue


circular objects

• A router being used to connect a LAN to a WAN will have a public IP address, which
has been assigned to it by an Internet Service Provider
• It is this public IP address which other routers use to identify and direct packets to the
network
• An important role of the router is to analyze data packets and direct them on to their
destination
o The IP address of both the sender and intended recipient is stored in
the header of the data packet
▪ The header contains information about the packet
▪ The payload is the actual data being sent
• If the data packet is coming into the LAN, the router will send the data packet to
the specific device, within its LAN, that the packet is meant for
• If the packet is being sent from a device within the LAN, it will read the header of the
packet to determine the intended destination IP address
o It will then forward the packet on to the destination
▪ It might have to travel through several routers before it gets to its
destination
▪ Each pass from router to router is called a hop
• The network access device or ‘home hub’ used in your home network will have a router
built into it
A summary of the steps a router takes when it receives a data packet

Step Description

1 • a router receives incoming data


packets from one network and analyses the
packet header to determine the destination
IP address

2 • It then looks up the IP address in a routing


table (routing table of known networks) to
determine the next network where the packet
should be sent

3 • The router then forwards the packet to the


appropriate network or device

• This process is repeated by every router the data packet passes through, until it reaches
its destination
• In addition to routing data between networks, routers can also perform other functions
such as…
o assigning IP addresses to devices within the LAN
o filtering incoming traffic based on certain criteria, such as IP address, port
number, or protocol type
4.Software
System Software & Application Software

• Systems software provides the services that the computer requires, including operating
system and utility software
• E.g. allowing instructions to be processed by the CPU to allow word processing software
to process. Without systems software the system would be useless
• Systems Software is made up of two core elements: the operating system and utility
software

Operating System
• This is a program designed to run other programs on a computer. It is considered the
backbone of a computer, managing both software and hardware resources
• Operating systems are responsible for everything from the control and allocation of
memory to recognising input from external devices and transmitting output to computer
displays. They also manage files on computer hard drives and control peripherals, like
printers and scanners.
• Examples of Operating System: Windows, MAC, Linux

Utility Software
• Utility programs perform specific tasks related to computer functions, resources, files
and security. They help to configure the system, analyze how it is working and optimize
it to improve its efficiency. Some of these utilities include:

• Security utilities:

o Anti-Virus - Scans the computer system and ensures that files are quarantined
so that they can be removed by the user
o Encryption - uses an algorithm to scramble (encrypt) a file according to the
key which is used to make the file unreadable; the key is needed to decrypt the
file back to its original form so it can be read
o Firewall - monitors network traffic and blocks unauthorized access. Criteria is set
and if the data meets the criteria, it is accepted otherwise it is rejected

• Disk organisation utilities:

o System Clean-Up Tools – to search for and remove files no longer needed, to
reduce space and speed up access to the system
o Disk Defragmentation Tools - it is used to rearrange the parts of files on the
disk drive: when a file is saved to the disk, parts of the file might be saved in
different areas of the disk, these tools try to move all the parts to the same area
for quicker access
• Data compression utilities
o File Compression Software – to make files smaller so that they take up less
storage space and can be transmitted to other users more easily
• File backup utilities
o Full Backup - stores all files and software on the system
o Incremental Backup - only backs up the files and software that have been
added since the last backup

Application Software

• This is designed to carry out a specific task the user would need for completing a variety
of tasks. These are the applications that the operating system would process and allow
end users to complete their vital day to day tasks. Examples are:
• Word Processing Software
o This allows users to create written documents
o e.g., letters, reports etc.
• Spreadsheet Software
o This allows users to perform numerical calculations and function to create
automation for all mathematical elements
o e.g., budgeting, accounting, stock counts etc.
• Presentation Software
o This allows users to create interactive and multimedia presentations to show to
an audience
o e.g., sales pitches, launching of products etc.
• Multimedia Software
o This is used to create multimedia and interactive content for a number of
purposes, it explores text, audio, images, video, sound and animations
o e.g., image manipulation, editing a video etc.
• Web Browsers
o This allows the user to access the internet and use the world wide web

Distribution Methods
Freeware software is where:

• The user is not allowed to access the source code so, they cannot tailor the software
to their needs or fix any bugs in it
• The software is still covered by copyright and the user must get the owner’s
permission to do anything beyond using it

Free software is where:


• The user can access the source code so, they can tailor the software to their needs
and fix any bugs in it
• The source code could be studied for educational purposes
• The user can redistribute the software but this must be done under the same terms as
the original software

Shareware is software which:

• Gives a trial version of the software for a limited time with limited features free of charge
• Requires the user has to pay fee if the full version is needed
• Is protected by copyright
• Is a type of software license

There are many ethical considerations when distributing software:

• Accessibility of software
• Age appropriation
• Copyright
• Distribution of malware
• Environmental impact of distribution media e.g., CDs
• Following guidelines of professional bodies e.g., ACM/IEEE/BCS
• Intellectual property theft
• Offensive materials
• Plagiarism
• Privacy of data
• Security of software
The Operating System
What does the Operating System do?

• Managing Files:

o The file manager controls all of the different files on the system, e.g., text files,
graphic files, and program files. It controls file permissions such as the user's
ability to see or open a file, write a file or delete a file.It helps to organize and
control files so that they are as easy to use as possible for the user. It can help
to protect the user from accidental mistakes too

• Handling Interrupts:
o An interrupt is a signal from a device or software to the processor. This will stop
the processor temporarily from fulfilling this request immediately, some
examples could be:
o Software errors - e.g., files not found, or software not responding
o The user initiating Ctrl Alt Delete to lock, log off etc
o Files stop copying as the name of the file is already in the folder


o Once this interrupt is received by the CPU it either carries on or completes the
action desired
o Whenever an interrupt is initiated the status of this task is saved to the interrupt
service routine.
o Once the interruption has been completed the system continues back to normal
before the interruption even happened

• Providing an Interface:

o Users must interact with the operating system through a user interface. The
user interface is a system which converts what the user inputs to a form that the
computer can understand and vice versa
o Many computer or database operating systems use complex programming
languages which are not easy to use
o A user interface is created to allow easier control of the operating system by the
system user. A good interface should be easy to use
o e.g.: consistent menu structures; consistent operations from actions like clicking
the right mouse button

• Managing Peripherals and Drivers:



o The overall intention of this is to handle all the devices that are connected to the
computer system. This includes input devices such as a keyboard and mouse, it
also includes output devices such as a monitor and printer
o It communicates with the devices through software called drivers. These
translate the instructions by the device manager into one the devices can
understand Peripherals like a mouse, keyboard and printer all need drivers so
that they can communicate with the software

• Managing Memory:

o Memory management is in charge of the RAM. Programs use RAM throughout
their operation. Some programs will be large and complex and use
the RAM extensively whereas some are very small programs and won’t use it as
much
o Memory management checks all requests from programs are valid and allocates
accordingly. It will deallocate space and swap out data to virtual memory. It will
ensure overall that different programs can be open at the same time

• Manage Multitasking:

o Multitasking allows for software tasks to be completed at the same time to ensure
multiple elements can be completed immediately, it uses a system called time
slicing which splits different tasks into small segments
o They can all be run one after the other, giving the element of multiple tasks being
completed at the same time, instead of waiting for one operation to complete
before moving on to the next task

• Providing a Platform for Running Applications:



o Application programs and the hardware will communicate through a system
within the operating system called an application programs interface(API)
o This API is a library interface which will share data between software to allow
elements to process
o If any application is installed on the system, the Operating System will manage
this process, it will allocate memory space and will control the application's data
or devices, user access will also be managed

• Providing a System Security:



o System security is just about how the operating system can stay protected and
ensure that elements are monitored and actioned to ensure the system is secure.
Some areas of security are:


o
▪ Creating/Deleting users for the system
▪ Providing access level rights, e.g. administrator rights over installing,
modifying a system or accessing files or folders. This is compared to
standard rights of just accessing and using software/files on the system.
▪ Auditing - this is keeping a log of file edits, deleted files, creation of files
etc.
▪ Protecting from threats, viruses, worms, malware or remote hacker
attacks
▪ Security updates to fix patches in the operating system

• Managing User Accounts:



o Each user is provided with an account for access to the system. They will be
provided with their username and then will need to create a password based on
rules set out initially
o Each account will then be granted different levels of access, dependent on needs
and level of security. This will also monitor login activity and even log users out if
they have been inactive for a while

Hardware, Firmware & the OS

• Application Software must talk to the operating system, this will then allow it to interact
with the hardware
• The hardware will then process and send the information to the operating system which
then directly talks back to applications software in a continuous loop
• Firmware

o This process is in between the Operating System and Hardware


o When a computer initially first loads up, it has to explore the ROM for its initial
boot-up instructions These are contained in a Bootstrap loader
o The initial process is handled by the basic input/output system (BIOS) which is
known as firmware. This will provide some low-level control for all devices
o Once complete these are sent to RAM to be processed by the operating system
o Overall, this creates an extra layer which is to ensure that initially the hardware
devices e.g., keyboard is available and can be communicated directly with the
operating system
• E.g. - If you were to type on a word processing document, this would talk with the
operating system initially to request the key presses. It would send it to the firmware to
check whether the keyboard is available. Once the connection is established with the
hardware it communicates directly with the keyboard back through firmware, the key
instructions are passed up to the operating system and finally displayed on the word
processing software

Interrupts
• We know that computers use the fetch-decode execute cycle within the CPU to run
instructions over and over. However, while this is occurring other devices may need to
signal to the CPU to tell it to stop temporarily (interrupt) so that it can do the dedicated
specific task
• E.g. a user has initiated ctrl alt delete to run task manager or a user wants a document
printing
• Interrupts will need to ensure that the CPU can stop executing its current program to
run code for the overall interruption. Interrupts need to be added to an area called
the interrupt service routine

• Two types of interrupts:

o Hardware Interrupt - this is caused by a hardware device such as a hardware


failure e.g.
▪ pressing a key on the keyboard
▪ moving the mouse

o Software Interrupt - this occurs when an application stops or requests services


from the OS e.g.
▪ a program is not responding
▪ division by zero
▪ two processes trying to access the same memory location

• However, the CPU currently contains registers that are holding data currently being
handled: These include:

o Program Counter - The location of the next instruction which will need to be
fetched
o Current Instruction Register - holds the current instruction being executed
o Memory Address Register - stores the location of where the data is being
stored in RAM or where in RAM the data will be sent
o Memory Data Register - stores the actual data from the location in the RAM or
that will be sent to RAM

• The interrupt service routine is simply added to a particular area where a certain set of
instructions are sent that will need to be fetched, decoded and executed to complete the
commands of the interrupt
• As a result, it’s clear that the current registers will need to be changed at this point to
accommodate the interrupt
• The interrupt will be executed instead of the original instructions
• When the interrupt is received the current values that were held in the registers are
copied back to the RAM in an area known as a stack
• These values are pushed onto the stack and are added to the top of the stack frame,
which will save them for later retrieval when the interrupt is complete
• There is a possibility that an interrupt can also be interrupted which is known as a
division by zero. Due to the system in RAM with stack frames, the
current interrupt would be moved to the bottom of the stack frame to complete the
main interrupt initially

There are common interrupt priorities for different categories, these are:

• Hardware

o Power supply may have failed


o Power button may have been pressed

• User

o Moving the mouse


o Clicking an icon to open a new program
o Keyboard presses e.g. ctrl, alt, delete

• Software

o Illegal instruction encountered


o Overflow
o Login request
o Crashing

• Timer

o Data logging programs which read sensors continuously


o Screen recording applications

• Input/output devices

o Signaling of data transfer been completed


o Printer ink supply notifications
o Input devices not responding

High & Low Level Languages


Low Level Languages

• Low Level Languages are languages that sit close to a computer’s instruction
set. These are basic instructions that the CPU will understand
• For instance an assembly language which allows programmers to focus on
programming simple commands, which in turn is converted into machine code This
element is needed for the core hardware to be able to work with the software
• These languages are written for specific processors to ensure they embed the correct
machine architecture
• Assembly Language - The code is written using mnemonics, abbreviated text
commands such as LDA (Load), STO(Store) Using this language programmers can write
human-readable programs that correspond almost exactly to machine code.
• Machine code – is at the hardware level and is written in binary (1’s and 0’s)

Advantages Disadvantages

It gives programmers complete control over the Difficult to write and understand
system components so it can control hardware
components.
Efficient code can be written for the processor so it Machine dependent and cannot be
will occupy less memory and execute faster added to different specification
machines
They provide direct manipulation of hardware which More prone to errors
means it will be more efficient
Communicates directly with hardware Knowledge of computer architecture is
key to program effectively

High Level Languages

• High Level Languages are programming languages which use English-like statements
which allow users to program with easy to use code, allow for clear debugging and once
programs are created they become easier to maintain
• High level languages were needed more due to the development of processor speeds
and memory capacity increasing
• Examples of these languages are Python, C#, Java etc
Advantages Disadvantages

It is easier to read and write and the The user is not able to directly manipulate the
programmer is less likely to make mistakes hardware
Needs to be translated to machine code before
It is easier to debug so it will save time
running
The code is portable so can be used on any
The program may be less efficient
computer
One line of code can perform multiple
commands

Assembly Language

• The first languages were actually direct machine language, where programmers had to
program it with direct binary numbers of 1’s and 0’s. It was quite clear to see that this
method was incredibly difficult to program, which allowed the introduction of Assembly
languages

• Programmers who use assembly language do so for the following reasons:


o Need to make use of specific hardware or parts of the hardware
o To complete specific machine dependent instructions
o To ensure that too much space is not taken up in RAM
o To ensure code can completed much faster
• Assembly languages allow programmers to program with mnemonics. e.g.
o LDA Load - this will ensure a value is added to the accumulator
o ADD Addition - this will add the value input or loaded from memory to the value in
the accumulator
o STO, Store - stores the value in the accumulator in RAM

• This is used rather than binary code which allowed continuation of working directly with
the hardware but removed an element of complexity
• A mnemonic is received by the computer and it is looked up within a specific table
• An assembler is needed here to check the word so that it can be converted into
machine code
• If a match from the word is found e.g. STO the word is replaced with the relevant binary
code to match that sequence

Compilers & Interpreters

• Programmers will write program source code using high-level languages e.g. Python,
Java, C# etc. As programmers, we can understand source code as it is descriptive,
easy to read, maintain and debug. However this is not good for the hardware as it needs
to be converted into binary to allow the hardware to understand and execute it, this is
known as machine code. For this to work it needs to pass through a translator first.
There are two types of translators - a compiler and an interpreter

Compiler

• This method will translate a program into machine code. Compilers convert the source
code in one go into an executable file ready for distribution. This method is used mainly
when a program is finished with no syntax or logical errors
• Compiling may take time to be processed, however, this can be used over without
needing to be recompiled every time, bearing in mind that the program contains no
errors
• Error reports are produced after a program has been translated. Common errors in code
will allow the computer to crash and not respond, it’s important to be aware that if there
are errors the source code must be changed to compile again

Interpreter

• This is the method that directly sends the source code to the machine code. This will
translate each line of code individually, if an error occurs the program will stop and an
error message will occur. Once the error message is fixed, the program can carry on
running from where the error occurred

Advantages & Disadvantages

Compiler

Advantages Disadvantages

Run quickly as the program as the Due to all code being compiled at the same time there must
source code has been stored to be be enough memory space to handle this, if not and virtual
translated memory is used it can be much slower
Compilers optimise the code, this code
If there are errors in the code the compiler will not identify
will run quicker and take up less
directly where the error lies, making it difficult to debug
memory space
Original source code will not be seen,
which is ideal for programmers to stop It is designed solely for one specific processor
work being copied
If the program is changed it must be recompiled
Interpreter

Advantages Disadvantages
Each line of code has to be interpreted
Program will always run, it will just stop when it
separately by the CPU, which can lead to
finds a specific syntax error in the code
slower execution
Every time the program is run it has to be
It is easier to debug and understand where
translated, due to no instructions being
particular code has gone wrong
stored
Interpreters do not store instructions and are not
They cannot optimise code, it is translated
stored for later use, this means they require less
and executed as it is
RAM to process the code

IDE

An integrated development environment (IDE) is software that consolidates basic tools


required to write and test software to make a programmer's journey effective and useful, this will
ensure they have key features to improve programming code and ensure it does as instructed.
Some features are:

• Basic code formatting - changing the font, size of the font, making text bold etc.
• Coloured keywords in source code - e.g., Python code print, input etc. turn purple, if
turns orange. This makes it easy to see keywords
• Code Editing - this will allow users to write and manipulate source code, it includes
features such as auto-completion and auto-correction of code, bracket matching, syntax
checks etc.
• Commenting code - this allows sections of code to be commented out easily to stop it
from being run or as comments on what the program is doing
• Identifying errors - highlight particular areas of code or provide direct error messages
where the error may have appeared e.g., indentation errors etc.
• Run-Time environment - to allow the program to run and see its corresponding output
• Debugger - this will identify and remedy errors within the source code. This can provide
a step through command also which provides step by step instructions and shows what
is happening to the code line by line. This method is amazing for catching logical errors
• Libraries - extra modules that are not included in the main programming language e.g.,
math in Python for extra mathematical commands
• Graphical User Interface Builder - will create a graphical design rather than working
with source code
• Translator - which compiles or interprets the code
5.Internet and Its Uses
The Internet & WWW

The internet and the world wide web are often used interchangeably, but they are not the same
thing.

The Internet

• The internet refers to the global network of computers and other electronic devices
connected together through a system of routers and servers
• It is the infrastructure that allows us to send and receive information, including email,
instant messaging, and file transfers
• The internet also provides access to other services such as online gaming, video
streaming, and cloud computing

The World Wide Web

• The world wide web, or simply the web, is a collection of websites and web pages that
are accessed using the internet
• It was created in 1989 by Tim Berners-Lee, who envisioned it as a way to share and
access information on a global scale
• The web consists of interconnected documents and multimedia files that are stored
on web servers around the world
• Web pages are accessed using a web browser, which communicates with
web server to retrieve and display the content

URL

What is a URL?

• The URL is a text-based address that identifies the location of a resource on the
internet
• It is the address of a web page, image, video, or any other resource available on the
internet

Components of a URL

• A URL can contain three main components:


o Protocol
o Domain name
o Web page / file name
• The protocol is the communication protocol used to transfer data between the client and
the server
o E.g. HTTP, HTTPS, FTP, and others
• The domain name is the name of the server where the resource is located
o It can be a name or an IP address
• The web page / file name is the location of the file or resource on the server
o It can contain the name of the file or directory where the resource is located
• A URL looks like this:
o protocol://domain/path
o E.g. https://www.example.com/index.html is a URL that consists of
the HTTPS protocol, the domain name "www.example.com", and the file name
is "/index.html".

Protocols

Hypertext Transfer Protocol (HTTP) and Hypertext Transfer Protocol Secure (HTTPS) are
the two most common protocols used for transferring data between clients and servers on
the internet.

Hypertext Transfer Protocol (HTTP)

• HTTP is the protocol used for transferring data between a client and a server on the
internet
• It is a stateless protocol, meaning it does not store any information about previous
requests or responses
• HTTP operates on port 80 by default and sends data in plain text format, making
it vulnerable to interception and manipulation

Hypertext Transfer Protocol Secure (HTTPS)

• HTTPS is a secure version of HTTP that uses encryption to protect data transferred
between a client and a server
• It operates on port 443 by default and uses Transport Layer Security (TLS) or Secure
Socket Layer (SSL) to encrypt data
• HTTPS ensures that data transferred between the client and server is secure, making
it harder for unauthorised users to intercept or manipulate data

SSL & TLS

• SSL is a security protocol developed by Netscape in the 1990s to provide secure


communication over the internet
• TLS is a successor to SSL and is a security protocol used to provide secure
communication over the internet
• They both use a combination of symmetric and asymmetric encryption to secure data
and ensure data integrity
• SSL operates at the transport layer of the OSI model, ensuring that data is encrypted
before it is sent over the network
• The TLS protocol is made up of 2 layers:

o Handshake Layer
▪ This is used to establish a secure connection between two endpoints
o Record Layer

▪ This is responsible for transmitting data securely between the client and
the server
• The client/browser requests secure connection to the server
• The client/browser requests the server to identify itself
• The server provides a digital certificate
• The client/browser validates the certificate
• The client/browser sends a signal back to the server to begin data transmission
• The encryption method will be agreed & a session key is generated

Web Browser

A web browser is a piece of software used to access and display information on the internet.

Purpose of a Web Browser

• The main purpose of a web browser is to render hypertext markup language


(HTML) and display web pages
• Web browsers interpret the code in HTML documents and translate it into a visual
display for the user

Functions of a Web Browser

• Render HTML
o This will display the webpage
• Storing bookmarks and favourites
o Web browsers allow users to save links to frequently visited websites and access
them easily using bookmarks or favourites
• Recording user history
o Web browsers record the user's browsing history, allowing them to quickly revisit
recently viewed pages
• Allowing use of multiple tabs
o Web browsers allow users to open multiple tabs and switch between them
quickly and easily
• Storing cookies
o Web browsers store cookies, which are small files that contain user preferences
and login information for websites
• Providing navigation tools
o Web browsers provide navigation tools, such as back and forward buttons and a
home button, to help users move between pages
• Providing an address bar

Web browsers provide an address bar, which allows users to enter a URL or search term and
navigate to a website or search for information

• Homepage
o This is the initial page that appears when the browser is launched
o The homepage can be customised to display frequently visited websites or
specific content
• Runs Active Scripts
o These are small programs embedded in web pages that allow interactive content
such as animations, videos, and pop-up windows to be displayed
• Download Files
o A web browser allows files to be downloaded from the internet, such as
documents, images, and software
• Request Web Pages
o When you enter a web address in the address bar, the web browser sends a
request to the web server to obtain the contents of the web page
o The server responds by sending the web page to the browser, which displays it
on the screen
• DNS
o The web browser sends the URL to the DNS, which translates the URL into an IP
address, which is used to locate the web server
• Manages Protocols
o Web browsers manage the HTTP and HTTPS protocols, which are used to
transfer data between web servers and browsers
o HTTP is used for regular web pages, while HTTPS is used for secure pages that
require encryption, such as online banking or shopping sites

Web Pages

• When you type in a URL / click on a link the browser sends the URL to the DNS using
HTTP
• The DNS finds the matching IP addresses for the URL and sends the IP address to the
web browser
• The web browser sends a request to the web server for web pages
• The web pages are sent from the web server to the browser
• The browser renders HTML to display web pages
• Any security certificates are exchanged
• SSL/HTTPS is used to secure the data which will encrypt any data that is sent

Structure & Presentation

Websites can be separated into structure and presentation.

HTML is:

• A language used to create the structure/layout of a website


• Written in plain text
• Used in the content layer
• Made up of a set of markup codes
• Used to tell the browser how to display the page

E.g.

• Where text is placed


• Margins of page
• Line break
• Padding

CSS is:

• A language used to create the presentation / formatting of the page


• Written in plain text
• Used in the presentation layer
• Used by web pages to produce a consistent format between different web pages

E.g.

• Font size
• Font colour
• Background colour

Why are they kept separately?

• The presentation of the page can be changed without needing to alter the structure so
regular updates can be made without needing to check the structure
• The formatting document (written in CSS) can be used again for a different website
• If further content and web pages are added to the website, the necessary formatting can
be easily applied so this can save time when developing a website
• CSS to standardise formatting so CSS only needs to be created once and be applied to
each webpage
• One person can develop the structure and one can develop the presentation so this can
save time when developing and updating a website

Cookies

What are cookies?

Cookies are small files that are stored on a user's device by a website. They are used for
various functions, including:

• Saving Personal Details


o Cookies can save personal details which can be used to personalise the user
experience. This can include
▪ Name
▪ Email address
▪ Other preferences
• Tracking User Preferences
o Cookies can track user preferences such as language settings, font size, and
colour scheme, which can be used to customise the website experience
• Holding Items in an Online Shopping Basket
o Cookies can hold items in an online shopping cart, so that users can continue
shopping or return later without losing their selected items
• Storing Login Details
o Cookies can store login details such as usernames and passwords, which can be
used to remember users' login credentials and make it easier for them to log in
• Storing Relevant Purchases
• Displaying Relevant Adverts
• Tracking Visitor Statistics
o Determining whether a visitor to a website is a new visitor or repeat visitor

There are two types of cookies: session cookies and persistent cookies.

• Session Cookies
o These are temporary and are stored only during a user's browsing session
o They are used to maintain a user's state or activity during a single session, such
as when filling out a form or navigating through a website
• Persistent Cookies
o These are stored on a user's device for a longer period, usually for a few weeks
to several years
o They are used to remember user preferences and settings, such as language
preferences, login details, and shopping cart items

Cookies enhance the user experience and make it more convenient for users to interact with
websites. However, cookies can also raise privacy concerns and should be used responsibly by
website owners.

Digital Currency

A digital currency is a type of currency that exists only in electronic form and is not backed
by any physical commodity or government.

• Only Exists Electronically


o Digital currencies are purely electronic, meaning they do not exist in physical
form like traditional currencies such as cash or coins. They are stored in digital
wallets or accounts and can be transferred electronically between individuals or
businesses

• Decentralized
o Many digital currencies operate on a decentralized network; meaning that they
are not controlled by any central authority like a government or financial
institution
o Instead, transactions are verified and recorded on a public ledger known as
a blockchain
• Used for Transactions
o Digital currencies can be used for various transactions, including purchasing
goods and services online or transferring money internationally
o They can also be used for investments or as a store of value
• Volatile
o Digital currencies can be highly volatile; meaning their value can fluctuate rapidly
over short periods of time
o This can make them risky investments and can also make it difficult to use them
as a stable store of value
• Examples include Bitcoin, Ethereum, Litecoin, and Ripple

Blockchain

• Blockchain is a digital ledger that records every transaction made with a particular
digital currency
o Each transaction is time-stamped and added to the blockchain in a permanent
and unalterable way
• Blockchain is a decentralized technology, meaning that it is not controlled by a single
entity or authority
o Instead, every participant in the network has a copy of the ledger and
can verify the transactions independently
• The blockchain is made up of "blocks" of transactions that are linked together in a
"chain" using cryptographic algorithms
o This creates a secure and tamper-proof record of every transaction made with
the digital currency
• Each transaction in the blockchain must be verified by multiple participants in the
network
o This verification process ensures that the transaction is legitimate and prevents
any fraudulent activity

Cybersecurity
Cyber Security Threats

Cybersecurity threats pose a major challenge for individuals and organisations that rely on
digital technology to store and transmit sensitive information.

Brute-Force Attack

• A brute-force attack is a trial-and-error method used to crack passwords or encryption


keys by trying every possible combination until the correct one is found
• The aim of a brute-force attack is to gain unauthorised access to a system or network

Data Interception

• Data interception involves eavesdropping on communication channels to intercept


and steal sensitive information, such as passwords, credit card numbers, or personal
data
• The aim of data interception is to steal sensitive information for personal gain or to use it
for further cyber attacks

Distributed Denial of Service (DDoS) Attack

• A DDoS attack is where multiple computers are used as bots


• They flood a server with lots of requests at the same time which the server can’t
respond to; causing it to crash or become unavailable to users
• The aim of a DDoS attack is to disrupt the normal functioning of a system or network by
denying users access

Hacking

• Hacking involves gaining unauthorised access to a system or network to steal or


manipulate data, disrupt services, or cause damage
• The aim of hacking can vary from personal gain to activism or cyber espionage

Malware

Malware is malicious software designed to harm or gain unauthorised access to a system or


network. Types of malware include:

• A virus is a piece of code that attaches itself to a legitimate program or file and then
replicates itself to spread to other programs or files on the computer. It can cause
damage to the system, including deleting data or damaging hardware
• A worm is similar to a virus but is a standalone program that can spread and replicate
itself over computer networks. It can take up storage space or bandwidth
• A Trojan horse is a program that disguises itself as a legitimate program or file, but
when installed, it can delete data or damage hardware
• Spyware is software that records all key presses and transmits these to a third party
• Adware is a type of software that displays unwanted advertisements on the computer
without the user's consent. Some of these may contain spyware and some may link to
viruses when clicked
• Ransomware is a type of malware that encrypts the user's files and demands a ransom
payment to decrypt them. It can cause data loss, and financial damage and disrupt
business operations

The aim of malware attacks can range from data theft to extortion or disruption of services

Phishing

• Phishing involves the user is sent an email which looks legitimate


• This contains a link to a fake website where the user is encouraged to enter their
details
• The aim of phishing is to steal sensitive information for personal gain or to use it for
further cyber attacks

Pharming

• Pharming involves malware being downloaded without the user’s knowledge


• This redirects the user to a fake website where they’re encouraged to enter their
personal details
• The aim of pharming is to steal sensitive information for personal gain or to use it for
further cyber attacks
Social Engineering

• Social engineering involves manipulating individuals to gain access to confidential


information or to perform an action that benefits the attacker
• This can include techniques such as:
o This involves posing as someone else to gain trust or access to sensitive
information
o Attackers might pretend to be a co-worker, IT support personnel, or a law
enforcement officer to get people to divulge sensitive information or perform an
action they wouldn't otherwise do
o Baiting is a social engineering technique that involves enticing a victim with a
desirable item or promise to extract sensitive information or gain access to a
system
o Attackers might leave a USB drive with a tempting label, like "salary information,"
in a public place and wait for someone to pick it up and plug it into a computer
o Once the drive is connected to the computer, the attacker can access sensitive
information or install malware
o Pretexting involves creating a fake scenario to extract sensitive information
o The attacker might pose as a bank representative and ask for personal
information to "verify your account”
o Impersonation
o Baiting
o Pretexting

• The aim of social engineering is to exploit human behaviour and vulnerabilities to gain
unauthorised access to a system or network

Accidental Damage

Data could also be accidentally damaged in many ways:

Example Prevention
Loss of power Use a UPS
Liquids being spilt Don’t have water near the device
Flooding Keep device in a waterproof box when not is use
Use electrics safety and keep device in a fireproof
Fire
box when not is use
Hardware failure Correct care and maintenance of hardware
Software failure Making sure it is always up to date
Human error:
Add verification method for data deletion
• Pressing delete by mistake
• Not saving data Set access levels for data to limit who can delete
• Not shutting down the computer correctly the data
Incorrect use of storage device Making sure device is ejected before removing

Keeping Data Safe

Access Levels

• Access levels are used to restrict access to sensitive information to only authorised
personnel
• This helps to prevent unauthorised access, which is one of the main security threats to
data
• Access levels can be set based on a user's role, responsibility, or clearance level
o This allows the user to open, create, edit & delete files
o This only allows the user to open files without editing or deleting
o This hides the file from the user
o Full access
o Read-only access
o No access

Anti-Malware

• Anti-malware solutions are used to prevent and remove malware, which is a common
type of security threat to data
• Anti-malware software includes anti-virus and anti-spyware programs, which help to
detect and remove malicious software from a computer system
• This software works by scanning the computer’s files and any files being downloaded
and comparing them to a list of known malware
• If any malware is found, it is quarantined to prevent the spread
• The malware is then deleted

Authentication

• Authentication is used to ensure that only authorised users can access data
• There are several methods of authentication:
o Passwords are used to protect sensitive data by preventing unauthorised
access. A strong password should be complex, unique, and not easily guessed.
Passwords should be changed regularly, and users should avoid reusing
passwords across multiple accounts.
o Biometrics uses biological data for authentication by identifying unique physical
characteristics of a human such as fingerprints, facial recognition, or iris scans.
Biometric authentication is more secure than using passwords as:
▪ A biometric password cannot be guessed
▪ It is very difficult to fake a biometric password
▪ A biometric password cannot be recorded by spyware
▪ A perpetrator cannot shoulder surf to see a biometric password
o Two-factor authentication (2FA) requires users to provide two forms of
authentication before accessing data, such as a password and a verification code
sent to a mobile device. This provides an extra layer of security and reduces the
risk of unauthorised access. 2FA is widely used to protect online accounts, such
as email or banking.
• These methods help to prevent unauthorised access and protect sensitive data

Automating Software Updates

• Automating software updates ensures that software systems are up-to-date with the
latest security patches, which helps to prevent security threats
• This is especially important for operating systems and software that are frequently
targeted by hackers
• It does this by scanning the Internet for known updates to software which are installed
on the computer
• If any updates are found, these can either install automatically or notify the user to
install them

Communications

• Checking the spelling and tone of communications is important to prevent phishing


attacks

URL

• Checking the URL attached to a link is another way to prevent phishing attacks.
• Hackers often use fake URLs to trick users into visiting fraudulent websites
o e.g. http://amaz.on.co.uk/ rather than http://amazon.co.uk/

Firewalls

• A firewall can be software or hardware based


• It monitors incoming and outgoing traffic between the computer and the network and
keeps a log of the traffic
• The user sets criteria for the traffic (this is called the whitelist/blacklist) and the traffic is
compared with this
• The firewall will accept or reject the traffic based on this and an alert can be sent to the
user
• It can help prevent hacking and malicious software that could be a threat to the security
of the data

Privacy Settings

• Privacy settings are used to control the amount of personal information that is
shared online
• They are an important measure to prevent identity theft and other forms of online fraud
• Users should regularly review their privacy settings and adjust them as needed

Proxy-Servers
• Proxy-servers are used to hide a user's IP address and location, making it
more difficult for hackers to track them
• They act as a firewall and can also be used to filter web traffic by setting criteria for
traffic
• Malicious content is blocked and a warning message can be sent to the user
• Proxy-servers are a useful security measure for protecting against external security
threats as it can direct traffic away from the server

Secure Socket Layer

• SSL is a security protocol which is used to encrypt data transmitted over the internet
• This helps to prevent eavesdropping and other forms of interception
• SSL is widely used to protect online transactions, such as those involving credit card
information or other sensitive data
• It works by sending a digital certificate to the user’s browser
• This contains the public key which can be used for authentication
• Once the certificate is authenticated, the transaction will begin

Physical Methods

o Physical methods are used to physically protect hardware that stores sensitive
data
o This can include:
▪ Locked rooms needing a key or card access
▪ CCTV
▪ Bodyguards

Backup

• This is the process of making a copy of files in case something happens to the original
ones
• Backing up data is important to protect against data loss due to hardware failure, cyber-
attacks, or other disasters
• Backups should be stored in a secure location, and multiple copies should be made
• Regular backups ensure that data can be recovered in the event of a security breach or
data loss

Ethics

There are a number of ethical concerns when using the Internet:

• Addiction
o Aspects of the internet e.g. social media can cause this
• Breaching copyright
o Breaking the law by copying someone’s work
• Cyber bullying
o Using the internet to bully people
• Data protection
o A person’s data is not used according to the law
• Environmental effects
o Increased use of the internet increases the use of electrical power
• Fake news
o News stories that could be very misleading or harmful
• Inappropriate materials
o Materials that could cause harm/offence to people e.g. children
• Intellectual property theft
o Stealing other people's work
• Piracy
o Using piracy websites to gain content for free that should have been paid for
• Plagiarism
o The copying of other people’s work without their permission
o Claiming someone else’s work as your own
• Privacy
o A person’s data could be leaked

6.Automated and emerging technologies


Automated Systems

• Automated systems use sensors, a microprocessor and actuators


o Sensors detect changes in the environment and convert them into electrical
signals that can be processed by a microprocessor
o Microprocessors analyse the signals from the sensors and make
decisions based on pre-programmed logic
o Actuators receive signals from the microprocessor and perform actions such
as opening a valve or turning on a motor
• By combining sensors, microprocessors, and actuators, automated systems can be
created that respond to changes in the environment without human intervention

Here are some scenarios where automated systems are used

Scenario Advantages Disadvantages

• High initial investment


• Reduced labour costs • Limited flexibility to changes
• Improved efficiency and accuracy in production processes
Industry
• Increased production rate • Maintenance costs can be
high

• High initial investment


• Improved safety and reliability • May not be suitable for all
• Reduced labour costs types of transportation
Transport
• Improved fuel efficiency • Maintenance costs can be
high
• High initial investment
• Increased efficiency in planting and
• May not be suitable for all
harvesting crops
types of crops or terrain
Agriculture • Improved crop yield and quality
• Maintenance costs can be
• Reduced labour costs
high

• May be affected by external


• Improved accuracy in weather prediction factors like interference or
• Ability to issue warnings in a timely equipment failure
manner • May not be 100% accurate all
Weather
• Ability to collect large amounts of data the time
quickly • May require continuous
monitoring and calibration

• May not be suitable for all


• Improved speed and efficiency in game types of games or game
development development
• Ability to create complex and interactive • May require significant
Gaming
games programming expertise
• Reduced labour costs • May be affected by technical
glitches or bugs

• High initial investment


• Improved energy efficiency
• May not be suitable for all
• Ability to program lighting to suit different
types of lighting needs
Lighting needs
• Maintenance costs can be
• Reduced labour costs
high

• High initial investment


• Improved speed and accuracy in data
• May not be suitable for all
collection and analysis
types of experiments
Science • Ability to carry out complex experiments
• May require significant
• Reduced labour costs
technical expertise

Robotics

Robotics is an area of computer science that deals with the creation, design, and operation of
robots.

• Design and Construction:


o Robotics involves the design and construction of robots for various
applications
o Robots are designed using a combination of mechanical, electrical, and
computer engineering
o Robotic design can be customised to meet specific needs, such as factory
automation or household tasks
• Operation:
o Once a robot is built, it needs to be programmed to carry out specific tasks
o Programming involves creating a set of instructions that tell the robot what
actions to perform in a specific sequence
o The robot's sensors are used to detect and respond to changes in its
environment
o Robots can also be operated remotely using a controller
• Examples:
o Factory equipment: Robots perform tasks such as welding, painting, and
assembling products
o Domestic robots: These are robots designed to perform household chores such
as vacuuming or mowing the lawn
o Drones: Drones are unmanned aerial vehicles that can be used for tasks such
as aerial photography, delivery, and surveillance

Characteristics

• A robot is a machine that can be programmed to carry out a range of


tasks autonomously or semi-autonomously
• Robots have a mechanical structure or framework, which gives them a physical body
that can move and interact with the environment
• Electrical components, such as sensors, microprocessors and actuators, allow robots
to receive information from their surroundings and respond to it
• Robots are programmable, which means they can be designed to follow a set of
instructions or algorithms, allowing them to complete a variety of tasks and respond to
changing situations

Roles

Robots can perform various tasks in different areas, such as:

• Industry
o Robots can be used in manufacturing and assembly lines to increase
productivity and accuracy
• Transport
o Robots can be used in warehouses and logistics to move and transport goods
• Agriculture
o Robots can be used for tasks such as planting, harvesting, and spraying crops
• Medicine
o Robots can be used in surgical procedures to increase precision and reduce
risk of errors
• Domestic
o Robots can be used for tasks such as vacuuming, lawn mowing, and cleaning
• Entertainment
o Robots can be used as toys or in amusement parks to provide entertainment
Advantages Disadvantages

Increased productivity: robots can work High initial investment: purchasing and setting up
continuously without breaks or fatigue robots can be expensive

Consistency and accuracy: robots can Maintenance costs: robots require regular
perform tasks with a high level of precision and maintenance and repairs, which can add to the overall
accuracy cost.
Lack of flexibility: robots are programmed for
Safety: robots can perform tasks that are
specific tasks and cannot adapt easily to new
dangerous or hazardous for humans
situations or tasks.

Cost-effective: robots can help reduce labour Unemployment: increased use of robots can lead to
costs in the long run job loss in certain industries.

Artificial intelligence (AI)

• Artificial Intelligence is a branch of computer science that involves creating computer


systems that can perform tasks that would normally require human intelligence
• The goal of AI is to simulate intelligent behaviour in machines, including:
o problem-solving, decision-making, natural language processing
• AI is often used in areas such as:
o Robotics
o Natural language processing
o Expert systems
o Machine learning
• Machine learning is a subset of AI that focuses on giving computers the ability to learn
and improve from data, without being explicitly programmed
• There are different types of AI, including weak AI, strong AI, and superintelligence
o Weak AI, also known as narrow AI, is designed to perform a specific task or set
of tasks
o Strong AI, also known as artificial general intelligence (AGI), is designed to
perform any intellectual task that a human can do
o Superintelligence is a hypothetical AI that would surpass human intelligence in all
areas
• AI has advantages such as increased efficiency, accuracy, and scalability
• However, AI also has disadvantages such as the potential for job loss, biassed decision-
making, and ethical concerns around its use
Characteristics

• Collection of data and rules


o AI systems require large amounts of data to perform tasks
o The data is processed using rules or algorithms that enable the system to
make decisions and predictions
• Ability to reason
o AI systems can use logical reasoning to evaluate information and make
decisions based on that information
• Ability to learn and adapt
o This will mean it can change its own rules and data

AI systems can be designed to learn from past experiences and adjust their behaviour
accordingly

Components

There are two main types of AI systems:

Expert Systems:

• Have a knowledge base


o A database of facts to generate rules that are used to solve problems
and make decisions
• Have a rule base
o A set of rules or logic that is used to apply the knowledge in the knowledge
base to specific problems
• Have an inference engine
o A program that applies the rules in the rule base to the facts in the knowledge
base to solve problems
• Have an interface
o A way for users to interact with the system and provide input

Machine Learning:

• The program has the ability to automatically adapt its own processes and/or data
• Uses algorithms to analyse data and identify patterns or relationships
• The system can learn from the data and improve its performance over time
• Can be supervised or unsupervised:
o Supervised machine learning uses labelled data to train the system
o Unsupervised machine learning uses unlabelled data

You might also like