ALevel Computer Science Paper1

2026.03.11

ALevel Computer Science Paper1

1.1 Number systems | Number systems

1.1 Number systems | How and why computers use binary to represent all forms of data

With just two states, electronic components are:

  • Easier to manufature
  • Therefore cheaper
  • More reliable

For example:

Storage TechnologiesHow binary is represented
RAMElectrical Charge (Charged & Discharged)
Optical DiscReflectivity of a laser beam (Pits & Lands)
Hard diskMagnetic Polarity (North & South)
Flash memoryPresence of Electrons (Absent & Present)

1.1 Number systems | Number systems

Computers use different base number systems.


Binary

  • Base 2
  • 0, 1
  • Easy to represent two states - on/off, yes/no, etc.

Denary

  • Base 10
  • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • Our number system - the one we are most familiar with

Hexadecimal

  • Base 16
  • 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
  • Can be expressed more compactly than binary
Denary (base 10)Hexadecimal (base 16)Binary (base 2)
000
111
2210
3311
44100
55101
66110
77111
881000
991001
10A1010
11B1011
12C1100
13D1101
14E1110
15F1111

1.1 Number systems | Converting between number systems - Part 1

SKIPPED (Practice by yourself)

1.1 Number systems | Converting between number systems - Part 2

SKIPPED (Practice by yourself)

1.1 Number systems | Adding two positive 8-bit binary integers

SKIPPED (Practice by yourself)

1.1 Number systems | Logical binary shifts

SKIPPED (Practice by yourself)

1.2 Text, sound and images | Representing characters and character sets

A character set is a defined list of characters recognised by a computer. Each character is represented by a unique binary number. Well-known character sets include:

  • ASCII: A 7-bit character set with $2^7$ characters (128)
  • Extended ASCII: An 8-bit character set with $2^8$ characters (256)
  • Unicode: A 24-bit character set with $2^{24}$ characters (over 16 million)

1.2 Text, sound and images | Representing sound

  • Sound file size: The total number of bits in a file. Calculated as: (Number of samples per second) $\times$ (Number of bits per sample) $\times$ (Length of sample in seconds).
  • Sample resolution: The number of bits stored per sample. The higher the sample resolution, the greater the quality of the sound and the larger the file size.
  • Sample rate: The number of samples stored per second. The higher the sample rate, the higher the quality of the sound, and the larger the file size.

1.3 Data storage and compression | Compression

Compression is used to reduce the size of a file so it requires less:

  • Bandwith
  • Storage space
  • Transmission time

Lossy compression:

  • Some data is lost and cannot be recovered.
  • Greatly reduces file size.
  • Reduces the quality of images / sound
  • Suitable for images, sound and video.
  • Cannot be used with text or executable files.

Lossless compression:

  • No data is lost, just encoded differently.
  • Files are recovered to their original state.
  • Can be used with all types of data
  • Less effective at reducing file size.
  • Most suitable for text documents and executable files.

Lossless compression works well with images that have large areas of contiguous colour, but does not work well with full colour photographs.

1.3 Data storage and compression | Lossy and lossless compression methods

Lossy compressionLossless compression
Compression algorithm eliminates unnecessary data from the fileAll the data from the original uncompressed file can be reconstructed
The original file cannot be reconstructed once it has been compressedImportant for files where any loss of data would be an issue
Information discarding Perceptual, music shapingRun-length encoding (RLE) Huffman coding
JPEG, MP3, MP4, WMV, MPGTIF, PDF, GIF, PNG, ZIP

2.1 Types and methods of data transmission | Packet and packet structure

When data is sent over long distance it is normally broken down into packets. Packets tend to be quite small.


Packets are split into three main parts:


Packet header:

  • Destination IP address
  • Sender’s IP address
  • Packet number - e.g., 1 of 5

Payload:

  • the actual data being transmitted

Trailer:

  • Marks the end of the packet

Going beyond the IGCSE specificatoin:

PartsContent
HeaderPacket sequence number, Source IP address,
Destination IP address, source MAC address,
Destination MAC address
PayloadData
TrailerSome form of checking to ensure packet arrives
error-free — e.g., Checksum,
Method of identifying the end of the packet

2.1 Types and methods of data transmission | Packet switching

Packet switching is a five-stage process:

  1. Data is broken down into packets.
  2. Each packet is assigned a sequence number.
  3. Each packet can take its own route based on congestion.
  4. Routers are responsible for controlling the route each packet takes.
  5. Packets may arrive out of order. Once the final packet arrives, they are reordered.

Going beyond the IGCSE specificatoin:

It is possible for packets to get lost because they keep bouncing around from router to router without ever reaching their destination.


To prevent this from happening, we add a hop or time to live field into the header of a packet. The time to live field is reduced by one every time it leaves a router. Once the time to live field reaches zero, the packet is deleted when it reaches the next router. Eventually, the receiving computer will send a request to re-send any missing packets.

2.1 Types and methods of data transmission | Data transmission methods

The direction that data is allowed to travel via a cable can be described in one of the three ways:

  • Simplex: One direction.
  • Half-duplex: Both directions, but not at the same time.
  • Full-duplex: Both directions at the same time.

Along with the direction of data transmission, data can also be sent via serial or parallel transmission:


Serial transmission: Data bits are sent one at a time via a single cable.

  • Lower interference than parallel.
  • More reliable over longer distance.
  • Cheaper to set up.

Parallel transmission: Several bits of data can be sent simultaneously via a series of cables.

  • More prone to interference.
  • Data may arrive out of order - known as skew.
  • Limited to very short distances.
  • Very fast data transfer.

2.1 Types and methods of data transmission | Universal Serial Bus (USB)

Universal Serial Bus (USB) is a form of serial data transmission supporting both half-duplex and full-duplex.


Benefits:

  • Very well supported.
  • Connected devices are automatically detected and device drivers loaded.
  • Most USB-connected devices do not need an additional power source.
  • Designed to be backwards-compatible.
  • A USB hub can be used to easily add extra ports to an existing device.
  • USB protocol can notify the transmitting device to re-transmit data if it detects errors.

Drawbacks:

  • Limited distance of around 5m.
  • Many devices no longer support old standards.
  • Newer versions have slower data transfer speed compared to Ethernet.

2.2 Methods of error detection | The need for error checking

When data is transmitted, there is always a posibility that data can be lost, gained or changed.


The most common reasons for data corruption are:

  • Electrical inteference (noise)
  • Problems during packet switching

Common methods of error checking include:

  • Parity checks
  • Checksums
  • Echo checks
  • Automatic Repeat Query (ARQ)

The need for error checking:

Interference: Every type of cable can suffer from electrical interference, which can cause data to become lost or corrupt — i.e. 1s become 0s and 0s become 1s

Packet switching: Issues during the packet switching process can cause data to be lost or gained.

Common methods of error checking include:

Parity Checks: Adds an extra bit to a string of binary data to ensure the total number of 1s is either even or odd, allowing the receiver to detect if a single bit has flipped during transmission.


Checksums: Calculates a numerical value based on the sum of data blocks and appends it to the transmission, enabling the receiver to verify data integrity by re-calculating and comparing the sum.


Echo Checks: Requires the receiving device to transmit the received data back to the sender, who then compares the returned copy with the original to identify any discrepancies.


Automatic Repeat Query (ARQ): Uses a system of acknowledgments and timeouts to ensure reliable delivery by automatically re-sending data packets if the receiver detects an error or fails to confirm receipt.

2.2 Methods of error detection | Error detection methods

Parity checks:

  • When sending a byte of data, we can use the Most Significant Bits (MSB) as a parity bit.
  • With even parity, we set the MSB to be 1 or 0 so that the total number of bits — including the parity bit — is even.
  • With odd parity, we set the MSB to be 1 or 0 so that the total number of bits — including the parity bit — is odd.
  • With this method, simple errors can be spotted, but there is no way to tell exactly where the error occurred.

Parity block checks:

  • When sending a block of data, parity checks can be performed both horizontally and vertically on the whole block.
  • These checks can spot an error has occured and where, allowing the receiving device to fix the error.

Checksums:

  • A checksum is calculated by using an algorithm on the data to be transmitted.
  • The checksum is added to the transmission and sent along with it.
  • The receiving device re-calculates the checksum and compares the new one with the original.
  • If the checksums do not match, it is assumed that an error has occured.

Echo check:

  • The receiving device returns an exact copy of the data it has just received.
  • The data is compared to what was originally sent. If it is different, it is assumed that an error has occured, and the original data is re-sent.

Parity block checks:

  1. Using even parity, a message is sent as a block of 8-bit bytes.
  2. A horizontal parity check is performed on each byte, which identifies an error in one of the bytes.
  3. Additional vertical parity checks are performed on the whole block.
  4. The error can now be identified and corrected without having to ask for the data to be re- sent

2.2 Methods of error detection | Automatic Repeat Query (ARQ)

Automatic Repeat Query (ARQ) is a method which can be used to verify that transmitted data has arrived error free, often used by mobile phone networks to ensure data integrity. It works as follows:

  • The destination device receives the data transmission along with an error detection code.
  • The code is used to determine if the data contains any transmission errors.
  • If no errors have been detected, a positive ackowledgement is sent back.
  • If an error is detected, a re-transmission request is sent back to the sending device.
  • After a pre-determined amout of time, if the sending device hasn’t received any form of acknowledge, it will automatically re-send the data.
  • It will keep doing this until it either receives a positive ackowledgement or a pre-determined nunmber of attempts to re-send the transmission have taken place.

2.3 Encryption | Symmetric and asymmetric encryption

Encryption is the process of encoding a message so it can only be read by the sender and intended recipient — this is especially useful when transmissions including personal or sensitive information.


Symmetric encryption:

  • Uses the same (pre-shared) private key to encode and decode data.
  • This key must be transmitted (shared) in some way prior to sending an encrypted message.
  • However, shared private keys can be intercepted, making this method less secure.

Asymmetric encryption:

  • Uses two separate but related keys.
  • The public key is shared with others and used by the recipient to encrypt a message.
  • In this way, a message can only be deciphered by the intended recipient with their private key.
  • Private keys must never be shared.

Another usage of Asymetric encryption:

The fact my message can be decrypted with a copy of my public key means it must have originally been encrypted with my private key. Therefore, the message can be confirmed as authentic - it must have come from me.

3.1 Computer architecture | The role of the central processing unit (CPU)

The central processing unit (CPU):

  • takes in data and instructions;
  • processes them; and
  • produces output.

The terms CPU and microprocessor essentially mean the same thing.


A CPU/microprocessor is typically installed as an integrated circuit on a single microchip.

3.1 Computer architecture | Purpose of the components in a CPU

The CPU consists of the following components:


  • Arithmetic logic unit (ALU): Performs calculations and logical decisions.

  • Control unit (CU): Sends signals to control how data moves around the CPU.

  • Buses: A collection of wires through which data and instructions are transmitted from one component to another.
    • Address bus: Unidirectional- carries the addresses that data needs to be written to or read from.
    • Data bus: Bidirectional-carries actual data or instructions.
    • Control bus: Bidirectional – carries command and control signals telling components when they should be。receiving reads, writes, etc.

  • Registers: Tiny, super-fast pieces of onboard memory inside the CPU, each with a very specific purpose.
    • Program counter (PC): Holds the address of the next instruction to be executed.
    • Memory address register (MAR): Holds the address of the memory location that data or an instruction is to be fetched from or written to.
    • Memory data register (MDR): Used to temporarily store data that is read from or written to memory.
    • Current instruction register (ClR): Holds the current instruction being executed.
    • Accumulator (ACC): One of several general-purpose registers. The results of calculations carried out by the ALU can be temporarily stored here.

Internal structure of the CPU

Decode unit:

  • In essence, a piece of logic that is presented with a sequence of bits that have been fetched from memory.
  • In an abstract way, you can think of it as a lookup table.
  • Prepares the execution of an instruction by looking up the relevant binary code in a table so the CPU knows what to do.
  • Commands available in the decode unit will be specific to the instruction-set architecture of the processor.

Status regiseter:

  • Contains information about the state of the processor.

Clock:

  • Electronic unit that synchronises related components by generating pulses at a constant rate.
  • Clock speed is the frequency at which the internal clock generates pulses.

Interrupt register (IR):

  • Checked by the CPU to see if an interrupt is waiting to be processed.
  • lf it is, a software process known as the interrupt service routine (ISR) interrupts the current active process.

Cache:

  • A small area of memory, often located on or near the CPU, that provides fast access to frequently used instructions and data.
  • Physically closer to the CPU than RAM and faster to access but has a smaller capacity.

3.1 Computer architecture | Von Neumann architecture

The Von Neumann architecture consists of a:

  • Control unit (CU)
  • Arithmetic logic unit (ALU)
  • Main memory (RAM)
  • Inputs and outputs

The Von Neumann architecture is based on the stored program concept.


Both instruction data and program data are stored in the same memory in binary form. There is no way to know if the pure binary held in memory represents instructions or data simply by looking at it.


A Von Neumann CPU contains the following registers:

  • Program counter (PC): Holds the address of the next instruction to be executed in memory.
  • Memory address register (MAR): Holds the memory address where data is to be fetched from or written to.
  • Memory data register (MDR): Holds data fetched from or to be written to memory.
  • Accumulator: Holds the results of calculations.

3.1 Computer architecture | Fetch-decode-execute cycle

The purpose of the CPU is to fetch, decode and execute instructions - it does this bilions of times a second.


Fetch

  1. The program counter is checked for the address of the next instruction to be executed.
  2. The contents of the program counter are copied into the memory address register.
  3. The program counter is incremented.
  4. The control unit sends a memory read request to main memory down the control bus.
  5. The address is sent down the address bus from the memory address register to main memory.
  6. The contents of main memory are sent down the data bus into the memory data register.
  7. The contents of the memory data register are copied into the current instruction register.

Decode 8. The instruction in the current instruction register is inspected and decoded to work out what needs to be done.


Execute 9. The instruction is carried out — this could be:
 (a) Going back to main memory and fetching data.
 (b) Performing a calculation.
 (c) Storing information back in main memory.

  1. Depending on the instruction, data may end up being copied into the ALU and/or the accumulator.

3.1 Computer architecture | The common characteristics of CPUs

A CPU’s overall performance can be affected by several factors. The three most important factors are:

Clock speed

  • Measured in number of cycles per second or hertz (Hz).
  • 3.2GHz clock speed = 3.2 billion instructions fetched per second — in theory.

Cache size

  • Temporary storage of data and instructions being read from and written to main memory (RAM).
  • Stores copies of recent data and instructions.
  • Much quicker to read from than main memory(RAM).
  • Reduces the need to fetch instructions and data from memory, saving time.

Number of cores

  • A core is a complete copy of a CPU.
  • A quad-core processor has four separate processing units, each with its own registers, ALU, accumulator and CU.
  • Doubling the number of cores won’t double processing speed. Cores need to communicate with each other, which takes time. Many programs are not designed to make use of multiple cores.

Multicore systems

Chip multiprocessor (CMP)

  • Houses four CPU cores.
  • Commonly referred to as a quad-core processor.

Additional specialised processing units

  • Often found on other devices plugged into the motherboard such as a graphics or sound card.
  • Contain specialised processors that help offload tasks from the main CPU,improving overall performance.

3.1 Computer architecture | CPU instruction sets

Processors execute machine code.


Every type of processor has its own specific lists of commands that it can understand, called an instruction set.


Machine code produced for one type of computer will not work on another — it is machine-specific.


These specific machine codes can be represented using mnemonics, short codes like LDA.


Mnemonics are easier for humans to understand and form the basis of a low-level programming language called assembly.

Instructions sets and mnemonics

Example of a simplified instruction set:

Machine code that a
particular CPU will
recognise as part of
its instruction set.
These low-level instructions can
be represented using mnemonics,
which makes them easier for
humans to understand.
Explanation of the instructions
0000LDALoad the value stored in a specified memory location into the accumulator.
0001STAStore the value in the accumulator in a specified memory location.
0010ADDAdd a specified value to the value in the accumulator.
0111HLTStop.

Complex Instruction Set Computer (CISC)

  • Although less common today than it used to be, CISC architecture is mainly found in desktop computers and laptops.
  • Intel’s x86 processors still use CISC architecture, although more recent changes beyond the scope of this course mean they operate in a RISC fashion, as they utilise microcodes to leverage many RISC benefits.

Reduced instruction Set Computer (RISC)

  • RISC architectures have become incredibly popular in low-power, portable devices like smart TVs, watches and phones, as well as tablets, printers, thermostats, home assistants and TV sticks.
  • As such, ARM processors and other architectures that work off RISC now make up well over 90% of all processors in use today.

3.1 Computer architecture |Embedded systems

Embedded system: A computer system with a dedicated function within a larger mechanical system.


Typical properties of embedded systems:

  • Low power consumption
  • Small size
  • Rugged operating ranges
  • Low cost per unit

Examples of embedded systems:

  • Traffic lights
  • Domestic appliances
  • Factory equipment
  • Engine management systems
  • Hospital equipment

3.2 Input and output devices | Input devices

  • Input device: Any device that allows you to pass information from the outside word into a computer system.

  • Barcode scanner: Uses a red laser to read a series of black and white stripes.
    • Scanning goods, checking out books, tracking deliveries.
    • Reduces errors caused by manual input.

  • Digital camera: Captures light via sensors and converts it into a digital image.
    • integrated into smartphones and security systems.
    • Replaces slower traditional cameras and allows the image to be manipulated.

  • Keyboard: Each key is mapped against a character. Key presses are detected, and a signal is sent to the computer.
    • Connected via wired USB, wireless or Bluetooth. Built into laptops. Tablets and smartphones use virtual keyboards.
    • One of the most common forms of text-based data input.

  • Optical mouse: Uses a red LED and sensors to determine movement relative to the surface beneath.
    • Easy navigation around a graphical user interface (GUI).
    • No moving parts-more robust than a mechanical mouse.

  • Microphone: Vibrations caused by sound waves are captured and converted into a digital representation of sound.
    • Music recordings, dictation, radio, TV, film, online communication, etc.

  • QR code scanner: Read using a camera, processed by an app and converted into readable data.
    • Advertising products, quick access to websites, storing e-tickets, etc.
    • Can hold far more information than traditional barcodes.

  • Touch screens: A popular way of receiving user input, replicates the functions of a mouse.
    • Resistive: Consists of two conductive layers separated by an insulating layer.
      • Cheap to produce, can be activated using virtually any object.
      • Cash machines, kiosks, medical equipment.
    • Capacitive: Consists of a protective layer, a transparent conductive layer and a glass substrate.
      • Excellent image quality, high precision, supports multiple touches.
      • Tablets, laptops, smartphones.
    • Infra-red: LEDs shine infrared light to form a matrix over the screen.
      • Excellent image quality, unlimited touch-life, scales very well.
      • Very large commercial displays, kiosks, medical equipment.

  • Scanners:
    • 2D: Shines a bright line across a document and measures light reflections to create a digital version.
      • Scan documents and photos.
    • 3D: Shines a laser over the surface of an object and captures its geometry and dimensions to create a 3D model.
      • Dentistry, product development, quality inspection, research.

3.2 Input and output devices | Output devices

Output device: Any device that can take data stored in digital form and convert it into another form humans can process such as sound, images or vibrations.


  • Actuator: Allow physical movements to be carried out, often used in conjunction with a motor and sensor.
    • Opening and closing valves and doors.
    • Starting and stopping motorised objects like conveyor belts.

  • Digital light processing (DLP) projector: Millions of micro-mirrors arranged in a matrix grid, placed on a small microchip within the proiector itself.
    • Higher contrast and smoother video than LCD projectors.
    • Small, light and portable.

  • Liguid crystal display (LCD) projector: Uses three separate mirror filters and a prism to create an image
    • Provide a sharper image with better colour reproduction than LED projectors.
    • Quieter, use less power and produce less heat.

  • Inkjet printer: Uses liquid link forced through fine nozzles.
    • Produces high-quality photo prints.
    • Tends to be cheaper, popular for home setups.

  • Laser printer: Uses dry powder fused onto paper using heat.
    • Very fast and accurate for bulk printing non-colour documents
    • Lower running cost per page than inkjet printers.
    • Often used in schools and offices.

  • Liquid crystal display (LCD) screen: Made up of millions of liquid crystals, requires backlighting.
    • TVs, monitors, laptops.
    • Generally considered an older form of display technology.

  • Light-emitting diode (LED) screen: Uses tiny LEDs to produce bright images without the need for additional backlighting.
    • Superior picture quality compared to LCDs
    • Slimmer and lighter.

  • Speaker: Converts digital representations of sound into analog waves that can be heard by the human ear.
    • TV, film, video games.
    • Live music, recording playback.
    • Alarms and sirens.

  • 3D printer: Deposits layers of material to build a 3D obiect.
    • Usable materials include plastic, powdered metal and resin, paper, ceramic, concrete and some foods.
    • Used to produce prosthetics, spare parts, models and personalised items.

3.2 Input and output devices | Sensors

Sensors measure the real-world, physical properties of their environment and convert these analog readings into discrete digital values:


  • Acoustic: Sound levels.
  • Accelerometer: Acceleration, vibration, tilt.
  • Flow: Rate of gas, liquid or powder flow.
  • Gas: Presence of gas — e.g., carbon monoxide.
  • Humidity: Levels of water vapour.
  • Infra-red: Detecting motion or heat.
  • Level: Liquid levels.
  • Light: Light levels.
  • Magnetic field: Presence and strength.
  • Moisture: Presence and levels of moisture.
  • pH: Acidity or alkalinity.
  • Pressure: Gas, liquid or physical pressure.
  • Proximity: Distance — e.g.,parking sensor.
  • Temperature: Heat levels.

From analog to digital

To make sense of physical, real-world quantities, all sensors convert the information they collect into a digital format — this is typically achieved using some form of analog-to-digital converter (ADC).


These devices covert physical, real-world information into discrete digital values.

3.3 Data storage | Primary storage, RAM and ROM

Primary storage: Any storage that can be directly accessed by the CPU — this includes:

  • Random-access memory (RAM)
  • Read-only memory (ROM)
  • Registers and cache

This type of storage holds the data and instructions that the CPU needs to access while the computer is running. The CPU can access data from primary storage much faster than secondary storage.


Random-access memory (RAM)

  • Holds programs and data currently in use by the CPU.
  • Volatile — contents are lost when the computer is powered off.
  • Read and write.
  • Larger than ROM.

Read-only memory (ROM)

  • Holds startup instructions for the computer, known as the bootstrap.
  • In embedded systems, programs may by stored in ROM.
  • Non-volatile-contents are retained when the computer is powered off.
  • Read-only.
  • Smaller than RAM.

Types of storage

Primary storage

  • RAM, ROM, registers and cache.

Secondary storage

  • Holds the operating system, programs and data when they are not in use.

Tertiary storage

  • Used for backing up and archiving large amounts of data.

ROM

  • A set of initial startup instructions called the bootstrap is placed on the ROM during manufacture. ROM is non-volatile, which means that the data it contains is retained when the computer is powered off.
  • The first instruction in the bootstrap tells the computer to perform a power-on self-test (POST). The POST signals all connected components, wakes them up and makes the CPU aware of them.

3.3 Data storage | Secondary storage

Secondary storage is required because ROM is read-only and RAM is volatile. Secondary storage is used for:

  • Storage of programs and data when the computer is powered off.
  • Modifiable, semi-permanent storage of data.
  • Backing up or archiving data.

3.3 Data storage | Common types of secondary storage

Optical (CD-R/RW, DVD-R/RW, Blu-ray)

  • Low capacity compared to other types of storage.
  • Slower access speeds.
  • Thin, lightweight and portable.

Magnetic (hard disk drive, tape)

  • High storage capacity.
  • Faster access speeds.
  • Has moving parts that will eventually fail.
  • Hard disks perform better if they are defragmented.

Solid-state (SSD, memory stick, flash memory card)

  • Medium storage capacity.
  • Fastest access speeds.
  • No moving parts, so they are very reliable.
  • No noise.
  • Low power usage.
  • Eliminates the need for defragmentation.
  • Limited number of write cycles.
  • Expensive compared to other types of storage.

3.3 Data storage | Virtual memory

  • Virtual memory is needed when there is not enough physical RAM available to store open programs.
  • Virtual memory is held on the hard disk.
  • Programs are transferred out to virtual memory from RAM when they are not currently being executed.
  • Programs are transferred back to RAM from virtual memory when they are needed.

3.3 Data storage | Cloud storage

Cloud storage: The concept of storing and retrieving data virtually via the internet instead of a local storage device.


Advantages

  • Data can be accessed at any time from any device, providing it has internet access.
  • Data can easily be shared without physical transfer (e.g., USB drive).
  • Easy collaboration with shared documents
  • Storage considered to be limitless from the user’s perspective.

Disadvantages

  • Can be expensive.
  • Slow to access if connectivity is poor.
  • No internet connection means no access.

All files kept in cloud storage are still stored on physical storage media in a remote location.

Cloud storage warehouses often have thousands of servers containing hard drives.

3.4 Network hardware | Network interface card (NIC)

  • A network interface card (NIC) connects a device to a wired or wireless network.
  • A NIC uses a protocol to ensure successful communication.
  • A NIC contains a media access control (MAC) address, generated at the manufacturing stage.

3.4 Network hardware | Media access control (MAC) address

  • MAC addressing is used to route frames on a local area network (LAN).
  • Each MAC address is unique to every network interface card (NIC).
  • MAC addresses are static and assigned by the manufacturer.
  • A MAC address is 48 bits in length.
  • MAC addresses are represented as six groups of hexadecimal digits (e.g., 00:0a:95:9d:68:16).
    • The first six hex digits (3 bytes) represent a unique manufacturer code.
    • The second six hex digits (3 bytes) represent the unique serial code for the device

MAC addressing

Every device on a network has a network interface card (NIC).

Every NIC has a media access control (MAC) address, which isused to route frames on a local area network (LAN).


If the LAN is connected to a WAN such as the internet, a different addressing method is required.

IP addressing is used to route frames on a wide area network (WAN) — with a WAN, we refer to frames as packets.

3.4 Network hardware | Internet Protocol (IP) address — IPv4 and IPv6

IP addressing is used to route packets on a wide area network (WAN).

There are two versions of lP addresses — IPv4 and IPv6.

IP addresses can be static, meaning they do not change, or dynamic, meaning they can change.


IPv4

  • 32 bits in size.
  • Four numbers between 0 and 255 separated by periods (e.g., 69.89.31.212).
  • A router has a unique, WAN-facing IP address and a LAN-facing IP address — this enables a LAN device to have the same IP address as another device on a separate LAN.
  • IPv4 is being replaced by IPv6 because unique static addresses are running out.

IPv6

  • 128 bits in size.
  • Eight groups of four 16-bit hex values separated by colons (e.g.,2001:0db8:85a3:0000:0000:8a2e:0370:7334).

3.4 Network hardware | The role of a router

  • A router sends data between networks — it is required to connect a local area network to a wide area network.
  • Routers use devices’ IP address to route traffic to other routers.
  • Routers can assign lP addresses to devices on a local network

4.1 Types of software and interrupts | System software and application software

All computer systems are comprised of both hardware and software.

  • Hardware: All physical parts of a computer system and its related devices, both internal and external.
  • Software: General term covering all computer programs.

Most software falls into two broad categories.

  • System software: Provides the services required by the computer.
  • Application software: Provides the services required by the user.

System software is broken down into two further categories.

  • Operating system: Allows applications to interface with hardware.
  • Utility software: Helps keep a computing device secure and in good working order.

Application software covers all other software — e.g., productivity, communication, entertainment, etc.

Application software runs on the operating system which, in turn, talks to hardware and other applications.

4.1 Types of software and interrupts | The purpose and functions of operating systems

An operating system provides an interface between the user and the hardware of a computing device. it provides a platform for application software to run.


The operating system performs vital roles, such as:

  • File management
  • Interrupt handling
  • User interface
  • Peripheral and driver management
  • Memory management
  • Multitasking
  • System security
  • User account management

Operating systems come with a variety of different interfaces for user interaction including:

  • Graphical user interface (GUI)
  • Command line
  • Menu-based
  • Natural language

4.1 Types of software and interrupts | Operating systems — Part 1

Multitasking

  • Multitasking enables your computer to run several applications at the same time by giving each application a small slice of processor time and cycling between them.
  • This process allows more than one program to be held in memory at the same time, as well as any data being shared between them (e.g., copy and paste).
  • For example, you can listen to music on your PC at the same time as using a word processor.

Memory management

  • When a program is loaded, the operating system decides where to hold it in memory.
  • Over time, as more and more programs are opened and closed, the memory becomes fragmented because programs use diferent amounts of memory — the operating system must keep track of these program fragments.
  • When main memory (RAM) is full, the operating system will fall back to virtual memory.

Device drivers

  • Translate operating system instructions into commands that specific hardware will understand.
  • Each peripheral needs a device driver - thankfully, many are already built into the operating system.

4.1 Types of software and interrupts | Operating systems — Part 2

User management/security

  • Allowing different users to log into their own account with a username and password.
  • Each account can be granted different levels of access depending on personal needs/security policies.
  • The operating system can log user access, who logs on and off, when and from which device, as well as logging them off after a set length of time.

File management

  • Create files/folders
  • Delete files/folder
  • Move and organise files/folders
  • Copy files/folders
  • Easily search for files
  • Restore deleted files
  • Resolve file conflicts between users

4.1 Types of software and interrupts | Relationship between hardware, firmware and operating systems

  • Applications are run on the operating system.
  • The operating system is run on firmware.
  • The bootloader (firmware) is run on the hardware.
  • The bootloader is located in ROM (non-volatile) storage and is one of the first programs loaded into memory when a computer is turned on.
  • You can think of this like a hierarchy with the user at the top and hardware at the bottom:
    • User $\to$ Application software $\to$ Operating system $\to$ Firmware $\to$ Hardware

Powering on your computer

  Power turned on

$\to$ Only data from ROM can be used at this point.

$\to$ POST (power-on self-test) checks that all required components are present and available

$\to$ Clears anything that may still be in the registers of the CPU.

$\to$ Loads the address of the first instruction in the boot program into the program counter.

$\to$ Control is passed to the bootloader program (bootstrap), which carries out checks on the hardware.

$\to$ Checks for any BIOS on the hard disk or a storage device called CMOS RAM.

$\to$ Combines this with the basic BIOS stored on the ROM and then sends it to RAM. This file of information is called the boot file.

$\to$ The computer is now ready to load the OS.

$\to$ The OS is normally found on the hard disk, but the computer’s BIOS settings can be changed to check other drives first.

$\to$ The OS now searches for files like CONFIG.SYS, which will tell it how many files can be open at a time and which device drivers to load.

$\to$ Then the OS looks for a file called COMMAND.COM, which contains more info about BIOS and OS utilities.

$\to$ The OS now takes control of the computer and memory and will load jobs into the memory for processing as per the rules of the scheduler.


The evolution of ROM

All types are non-volatile. All data is either:

  • Unchangeable (read-only).
  • Changeable but requires a special operation to do so.
ROMPROMEPROMEEPROM
Read-only memoryProgrammable read-only memoryErasable programmable read-only memoryElectrically erasable programmable read-only memory
- Programming of data must be complete when the chip is created.
- Cannot be reprogrammed or rewritten.
- Blank when initially manufactured.
- Can be purchased and coded once with a special tool known as a programmer — known as burning the PROM.
- Can be rewritten many times.
- Erasing requires a special tool that emits a certain frequency of UV light.
- Must be removed from a device before it can be eaerased and reprogrammed.
- The chip does not have to be removed to be rewritten.
- The entire chip does not need to be completely erased to change a specific portion of it.
- Changing contents does not require special equipment.

4.1 Types of software and interrupts | Interrupts

An interrupt is a request for the processor’s attention. Interrupts can be generated by either software or hardware.

  • Software interrupts include division-by-zero and two processes trying to access the same memory location.
  • Hardware interrupts include pressing a key on the keyboard and moving the mouse.

Interrupts are placed into an interrupt register. The interrupt register is checked after each fetch-decode-execute cycle.


If an interrupt is detected and is higher priority than what is currently being executed, then control is passed to the interrupt service routine.


The current contents of the registers are stored away so the program being interrupted can be resumed later

4.2 Types of programming languages, translators and IDEs | High-level and low-level languages

Machine code

  • Binary representation of instructions in a format that the CPU can decode and execute.

Low-level languages

  • Written in assembly language.
  • Converted into machine code using a translator called an assembler.
  • Used for embedded systems and device drivers where it is necessary to instruct hardware directly.
  • One instruction translates into one machine code instruction.
  • code only works with one specific type of processor.
  • Programmers work with memory directly.
  • Code is harder to write and understand.
  • Memory-efficient.
  • Code is quick to execute.

High-level languages

  • Written in languages like Python, C++, Java and Visual Basic.
  • Converted into machine code using a translator called a compiler or interpreter.
  • Makes writing programs easier by utilising commands that are like English.
  • One source code instruction translates to many machine code instructions.
  • Code will run on different types of processors.
  • Programmers can use many different data structures
  • Code is quicker and easier to understand and write.
  • Less memory-efficient.
  • Code can be slower to execute if it is not optimised.

4.2 Types of programming languages, translators and IDEs | Assembly language

Machine code

  • Binary representation of instructions in a format that the CPU can decode and execute.

Low-level languages

  • Written in assembly language.
  • A form of low-level language that uses mnemonics.
  • Mnemonics are abbreviations of operations, typically using short alphabet codes — e.g., LDA, STA, INP
  • Translated to an assembler into machine code

4.2 Types of programming languages, translators and IDEs | Compilers and interpreters

Compilers and interpreters both translate high-level language source code into machine code.


Compiler

  • Translates the whole code before executing it.
  • Produces an executable file.
  • Provides error reports for the whole code if errors are detected.
  • Mainly used to translate a final program.
  • No need for translation at run-time.
  • Speed of execution is faster.
  • Code is usually optimised.
  • Original source code is kept secret.

Interpreter

  • Translates and executes code line by line
  • Stops executing when an error is found.
  • Easy to write source code, as the program will always run, stopping when it finds a syntax error.
  • Code does not need to be recompiled when it is changed.
  • Mainly used when developing a program.

Translators — Assemblers, compilers and interpreters

AssemblerCompilerInterpreter
Description- Translates assembly language into machine code.
- Takes basic commands and operations and converts them into binary code that can be recognised by a specific type of processor.
- The translation process is typically a one-to-one process from assembly code to machine code.
- Translates source code from high-level languages into object code and then machine code to be processed by the CPU.
- The whole program is translated into machine code before it is run.
- Translates source code from high-level languages into machine code, ready to be processed by the CPU.
- The program is translated line by line as it is running.
Advantages- Programs written in machine language can be replaced with mnemonics, which are easier to remember.
- Memory-efficient.
- Speed of execution is faster.
- Hardware-oriented.
- Requires fewer instructions to accomplish the same result.
- No need for translation at run-time.
- Speed of execution is faster.
- Code is usually optimised.
- Original source code is kept secret.
- Easy to write source code, as the program will always run, stopping when it finds asyntax error.
- Code does not need to be recompiled when code is changed.
- It is easy to try out commands when the program has paused after finding an error — this makes interpreted languages easy for beginner programmers to learn to code.
Disadvantages- Long programs written in such languages cannot be executed on small computers.
- It takes a long time to code or write the program, as it is more complex in nature.
- Difficult to remember syntax.
- Lack of portability between computers of different makes.
- Source code is easier to write in a high-level language, but the program will not run with syntax errors, which can make it more difficult to write code.
- Code needs to be recompiled when it is changed.
- Designed for a specific type of processor.
- Translation software is required at run-time.
- Speed of execution is slower.
- Code is not optimised.
- Source code is required.

4.2 Types of programming languages, translators and IDEs |IDES

IDEs provide the following functions:

  • Debugging tools for finding logic errors:
    • Breakpoints — stopping a program at a line of code during execution.
    • Stepping through lines of code one at a time to check which lines are executing.
    • Tracing through a program to output the values of variables.
  • Help with preventing and identifying syntax errors:
    • Illustrating keyword syntax and auto-completing command entry.
    • Error highlighting
    • The compiler produces an output of the error message to help identify it.
  • Providing a run-time environment:
    • output window.
    • Simulating different devices the program can run on.
  • Usability functions:
    • Navigation, showing/hiding sections of code.
    • Formatting source code.
    • Find and replace.
    • Comment or indent regions.

5.1 The internet and the world wide web | Difference between the internet and the world wide web

The internet is the infrastructure — a worldwide, interconnected series of computers, network and routers.


The world wide web is a collection of websites and web pages accessed via the internet. It is one of the most popular services on the internet — but not the only one.

5.1 The internet and the world wide web | Uniform resource locator (URL)

A uniform resource locator (URL) is a text-based address for a web page. It can contain:

  • The protocol — e.g., http, https
  • The host — e.g., www
  • The site’s domain name — e.g., juruochabao.com
  • The web page/location — e.g., /about
  • The resource/file name — e.g., list.html

Example of a complete URL: https://juruochabao.com/blogs/blog13/

5.1 The internet and the world wide web | HTTP and HTTPS

A protocol is a set of rules that allows two devices to communicate.

  • HTTP (Hypertext Transfer Protocol): A client-server method of requesting and delivering HTML web pages.
  • HTTPS (Hypertext Transfer Protocol Secure): Encryption and authentication for requesting and delivering HTML web pages. Used when sensitive information needs to be transferred — e.g., passwords, bank account details.

5.1 The internet and the world wide web | Web browsers

The main purpose of a web browser is to render hypertext markup language (HTML) and display web pages.


Web browser functionality includes:

  • Storing bookmarks/favourites
  • Recording user history.
  • Allowing the use of multiple tabs.
  • Storing cookies.
  • Providing navigation tools
  • Providing an address bar.

5.1 The internet and the world wide web | How web pages are located

  • The internet is a global collection of interconnected networks.
  • Web addresses — which are easier for humans to remember — are converted to IP by a DNS resolver server. This process is carried out by the domain name service, which is made up of multiple domain name servers.
  • Websites are stored on servers dedicated for this purpose, known as hosting. Hosted solutions provide 24/7 access, support for multiple users and enhanced security.
  • Servers can be used to store data and programs that can be accessed over the internet, known as the cloud. The cloud provides access to files anytime, anyhere, on any device, as well as automatic backups and collaboration.
  • Servers provide services (e.g., web pages, file storage and retrieval). Clients request services from a server

5.1 The internet and the world wide web | Cookies

A cookie is a small text file with ID tags that is stored on your computer. Cookies are created when you use your browser to visit a website. They are used to track your movements on the website and can help by:

  • Resuming where you left off when you revisit the site.
  • Remembering your registered login.
  • Remembering theme selections.
  • Remembering preferences.
  • Customising your experience in other ways.

Session cookies

  • Created and replaced every time a user visits a website.

Persistent cookies

  • Created and saved on the first visit to a website
  • Retained until they expire.

5.2 Digital currency | Digital currencies

  • A digital currency is one that only exists electronically. Just a like a traditional currency, it can be exchanged digitally.
  • Digital currencies have no physical bank notes or coins in circulation. They are not controlled or managed by any central banks or government.
  • Digital currencies are also known as cryptocurrencies. Although not strictly the same thing, you can largely ignore the distinction at lGCSE level.
  • Cryptocurrency uses cryptography to track transactions, These transactions are publicly available and easily tracked and checked by everyone.
  • Cryptocurrency systems are held within a blockchain network, making them very secure

Digital currency vs cryptocurrency

The exam board syllabus states that, “A diqital currency is one that only exists electronically.”

This is not strictly true.

cryptocurrency is a form of digital currency, but not all digital currencies are cryptocurrency.

5.2 Digital currency | The blockchain process

Blockchain, in its basic form, is a digital ledger — a timestamped series of records that cannot be altered.


Each block contains:

  • Hash value: A unique value generated using a cryptographic hashing algorithm based on data in the block- thisacts a digital fingerprint for the block. Changing its contents even slightly will invalidate the hash value.
  • Transaction data: Details of transactions.
  • Timestamp: The date and time the block was created.
  • Block number: The number of the block in the blockchain sequence.
  • Previous block hash: The hash value of the block preceding the current block in the blockchain.

Blockchains are distributed. Every person on a peer-to-peer network receives a complete copy of the blockchain.


When a new block is created, a copy is sent to everyone on the network for verification — this helps to maintain the integrity and trustworthiness of the data.

5.3 Cybersecurity | Cybersecurity threats — Forms of attack

  • Malware: Software designed to disrupt, damage or gain unauthorised access to a computer system (e.g., viruses, worms, trojans, ransomware, spyware, adware).
  • Social engineering: The art of manipulating people so they give up confidential information.
  • Brute-force attack: Trial-and-error method of attempting to crack passwords and PIN numbers using automated software to generate a continuous stream of guesses (e.g., trying every word in the dictionary).
  • Hacking: A broad term that describes any act that attempts to gain unauthorised access to programs or data.
  • Distributed denial-of-service (DDoS) attack: flooding a server with useless traffic, causing the server to becom eoverloaded and unavailable.
  • Data interception and theft: Stealing computer-based information with the intent of compromising an individual’s privacy or obtaining confidential information (e.g., usernames and passwords).

5.3 Cybersecurity | Cybersecurity threats — Malware

An umbrella term used to refer to a variety of forms of hostile or intrusive software.

  • Computer virus: A piece of code that can copy itself and typically has a detrimental effect such as corrupting the system or destroying data.
  • Trojan: A program that appears harmless but is, in fact, malicious.
  • Worm: Similar to a virus in design and often considered a subclass — can spread and self-replicate without human interaction.
  • Ransomware: A form of malware that encrypts a victim’s files — the attacker then demands a ransom from the victim to restore access to data upon receipt of payment.
  • Spyware: Software that covertly obtains information about a user’s computer activities by transmitting data from their hard drive.
  • Adware: A type of malware that automatically displays adverts to the user.

5.3 Cybersecurity | Cybersecurity threats — Social engineering

Social engineering is the art of manipulating people so they give up confidential information.

  • Phishing: Sending emails purporting to be from reputable companies to incite people to reveal personal information.
  • Pharming: A form of attack that sends or redirects a user to a fake website designed to look identical to the real thing when they type in a genuine web address.
  • Blagging: The act of creating and using an invented scenario to engage a targeted victim in a manner that increases the chance they will divulge information or perform actions that would be unlikely in ordinary circumstances.
  • Baiting: Includes the promise of cash or goods that people with malicious intent use to entice victims — e.g., offering a free music or movie downloads to trick users into handing over their login credentials.
  • Quid pro quo: Quid pro quo means exchange something for something. Very similar to baiting, except the benefit is usually in the form of a service as opposed to cash or goods. Quid pro quo attacks promise a benefit in exchange for information.

The best way to protect people from all forms of social engineering is good education and training in:

  • How to spot a fake email.
  • Knowing what questions to ask.
  • Never giving out personal details unless you are absolutely sure.

5.3 Cybersecurity | Protecting digital systems and data from threats

Access levels: Restricting users’ access to data using access levels ensure that:

  • Sensitive data is protected.
  • Only the data people need to do their job is accessible.
  • Potential misuse of sensitive data is minimised.

Anti-malware software: Helps keep your computer and files safe from many types of malware.


Authentication: Comes in three main forms:

  • Usernames and passwords: Users must enter their username and password to access the system.
  • Biometrics: Biometric measures include fingerprint scanning, retinal scanning and voice pattern recognition. These sorts of patterns are very unique, so they are a great way to authenticate a user’s identity.
  • Two-step verification: Uses two separate authentication methods performed one after the other.

Automatic software updates: Most modern software uses automatic updates to apply patches and bug fixes when security vulnerabilities are discovered.


Checking spelling and tone: Checking the spelling, grammar and tone of an email to make sure it is genuine.


Checking URLs: Checking URLs carefully including those attached to emails and images. Does it look genuine? ls it using HTTPS? Is the company name included in the URL?


Firewalls: Software or hardware — sometimes both — configured to only let certain traffic through it.


Privacy settings: Configuring web browsers, social networking apps and other websites to limit who can view and access your content.


Proxy server: A separate intermediate device between a user and remote web server that traffic must passthrough. Similar to a firewall, preventing or blocking traffic and providing an extra layer of separation.


Secure docket layer (SSL) security protocol: Provides a secure communication channel between two devices, either on a local network or over the internet.

6.1 Automated systems | Automated systems — Part 1

Automated systems usually comprise three distinct components:

  • Sensors
  • Microprocessors
  • Actuators

Sensors take measurements from their environmental surroundings.

Sensor measurements are fed in as inputs to microprocessors, which then process the information and make decisions.

Decisions made by microprocessors typically result in instructions to control an actuator and make physical changes — e.g., activating an alarm, opening or closing a door or valve, etc.

6.1 Automated systems | Automated systems — Part 2

Automated systems can be used in many different situations and scenarios.


They can support partial or full automation using a variety of sensors, microprocessors and actuators/motors.

  • Industry: Automation in factories using robotics and hazardous environments such as power plants.
  • Transport: Self-drive cars, intelligent braking, automatic parking systems, adaptive cruise control.
  • Agriculture: Commercial greenhouses, automated irrigation systems.
  • Weather: Remote weather stations, airport weather stations.
  • Gaming: Various gaming devices for providing an enhanced user experience.
  • Lighting: House security lighting, automatic road lighting, smart ambient and atmospheric lighting.
  • Science: Thousands of applications for automating aspects of scientific research, testing and production

Advantages and disadvantages of automated systems

Advantages

  • Operations can be carried out faster than a human operator.
  • Safer because an automated system is more likely to make timely interventions.
  • Allows humans to keep away from hazardous environments.
  • Processes are more likely to run under optimal conditions for longer.
  • Long-term cost savings versus a large human workforce.
  • Efficient use of materials and resources leads to increased productivity.
  • More consistent and repeatable results.

Disadvantages

  • Initially expensive to set up.
  • Requires significant testing and calibration to ensure it works as intended.
  • Any computerised system is subject to cyber attacks.
  • Requires highly specialised and ongoing maintenance.
  • Only able to respond to specific situations within certain parameters — therefore, not as flexible as trained humans able to use intuition and experience.
  • Can result in significant job losses.

6.2 Robotics | Robots and robotics

Robotics is a branch of computer science that incorporates the design, construction and operation of robots.

  • Includes factory equipment, domestic robots and drones.

A robot is a machine that works by itself by following a set of programmed rules.

  • Some robots can be dumb — they simply repeat the same tasks over and over.
  • Some robots exhibit AI/machine learning — they are trained to carry out more complex tasks and adapt.

Robots share similar characteristics:

  • A mechanical structure or framework
  • Electrical components
  • Programmability

6.2 Robotics | Roles that robots can perform

Robots come in a vast variety of shapes and sizes, from simple factory equipment through to domestic robots and drones. They are used extensively in:

  • Industry: Factories, assembly plants, warehouses
  • Transport: Self-drive cars and trains, airplane autopilot.
  • Agriculture: Cutting, pruning, weeding, seeding, harvesting, picking, fertilising.
  • Medicine: Assisting with surgical procedures, cleaning and disinfecting, robotic prosthetics.
  • Domestic: Cleaning, lawn-mowing, home assistants.
  • Entertainment: Theme parks, concerts, festivals, film industry.

Advantages

  • Robots can work in conditions that may by dangerous for humans.
  • They are well-suited to boring, repetitive tasks, producing consistent results over time.
  • Reduced running costs in terms of heating, lighting, pension, sick/holiday pay.
  • Robots can operate 24/7 without breaks, lunch or sleep, vastly increasing productivity.
  • Improved safety because human error is largely or completely removed.

Disadvantages

  • Robotic systems are initially very expensive to set up.
  • They have replaced a large number of manual jobs, resulting in unemployment.
  • As with any computer-based technology, there is potential for cyber attacks.
  • Robots tend to not cope as well with unexpected situations that require a degree of human intuition

6.3 Artificial intelligence | Artificial intelligence (AI)

Artificial intelligence: A broad term that describes any machine programmed to think, work and react like humans.

  • Applied/narrow AI is designed to manage a specific task.
  • Generalised AI can evolve and improve to handle other tasks.

Artificial intelligence has the following characteristics:

  • The ability to collect data.
  • A set of rules for using that data.
  • The ability to reason

An artificial intelligence can be described as machine learning if it possesses the ability to learn and adapt.

6.3 Artificial intelligence | Basic operations and components of AI systems

Expert systems

  • Simulates a human expert and consists of the following components:
    • Knowledge base
    • Rule base
    • Inference engine
    • Interface
  • Used in areas such as medical diagnosis and telecommunications.

Machine learning

  • A subset of artificial intelligence — in other words, it is one way to achieve artificial intelligence.
  • The science of training a device or application to perform a task and improve its capabilities.
  • Achieved by feeding it data, information and scenarios so it can learn over time.