Igcse 2023-2025 Computer Science Paper 1 Notes
Igcse 2023-2025 Computer Science Paper 1 Notes
Igcse 2023-2025 Computer Science Paper 1 Notes
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.
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
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
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.
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.
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?
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
• 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:
• 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:
• 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
• 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
• 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
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
• 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
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:
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
• 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:
Alternatively, you can turn your hexadecimal number into binary, and then turn
the binary number into denary:
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
• 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
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.
• 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
• 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
• 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
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
An image measures 100 by 80 pixels and has 128 colours (so this must use 7 bits)
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
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
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:
» 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
• 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
Figure 1: To transmit the message “This is a message :)”over the internet, the TCP might
break the message down into 4 packets
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
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
Advantages Disadvantages
• 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
Advantages Disadvantages
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)
• When data has been received it could be subject to errors and Corruption
• 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
• 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
Parity check
Even parity
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
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
#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
• 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 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
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:
» 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
▪ 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
• 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
•
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:
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
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).
The original data being sent is known as plaintext. Once it has gone through an encryption
algorithm, it produces ciphertext:
3.HARDWARE
COMPUTER ARCHITECTURE
• Below is an example of data being inputted, processed and the results being outputted
Step Example
• 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
• 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
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
• 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 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
Execute
CPU Performance
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
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
Embedded
Possible input devices Possible Output
system
Pedestrian button
Traffic Lights Timer Lights
Movement sensor
Actuator controlling
Vending machine Keypad to make choice
movement of choice
• 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
• 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
2D and 3D scanners
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
Use less power and generate less heat LCD panels degrade over time.
Quieter running that DLP
Inkjet printers:
Laser printers:
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
• 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
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)
Can be directly accessed by the CPU Cannot be directly accessed by the CPU
Data access speeds faster than secondary storage Data access speeds slower than primary storage
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
• Each platter is divided by concentric circles creating several tracks and wedge
shaped sectors. Where they intersect is a track sector
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
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
0 0 1
0 1 0
1 0 0
1 1 0
Optical
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
• The table describes the steps that are taken when a program is opened on a
computer
Step Description
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
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
Benefit Explanation
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
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
• 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
IPv4 IPv6
• An important role of the router is to analyze data packet and direct them on to their
destination
• 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
• 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
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
• 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
• 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 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
•
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
• 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
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
• 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
• User
• Software
• Timer
• Input/output devices
• 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 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
• 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
• 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
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
• 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, 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
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.
• 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
• 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
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.
• 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
HTML is:
E.g.
CSS is:
E.g.
• Font size
• Font colour
• Background colour
• 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
Cookies are small files that are stored on a user's device by a website. They are used for
various functions, including:
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.
• 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
Data Interception
Hacking
Malware
• 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
Pharming
• The aim of social engineering is to exploit human behaviour and vulnerabilities to gain
unauthorised access to a system or network
Accidental Damage
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
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 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
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
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
• 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
• 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
Robotics
Robotics is an area of computer science that deals with the creation, design, and operation of
robots.
Characteristics
Roles
• 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.
AI systems can be designed to learn from past experiences and adjust their behaviour
accordingly
Components
Expert Systems:
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