Cambridge IGCSE Computer Science 0478/13 October/November 2025 Study Notes

Input and Control Systems in Specific Environments

A practical application of computer systems is seen in the management of environmental conditions, such as the air-conditioning system used in a flower shop to maintain a constant temperature for flower storage. In this system, the owner interacts with the system via a keypad, which is explicitly classified as an input device. The user enters a denary value representing the target temperature, which the system then converts into a binary format for storage and processing within a register. Registers are small, high-speed storage locations within the system used to hold data temporarily during the execution of instructions.

The air-conditioning system is further defined as an embedded system. This categorization applies because the computer system is integrated into a larger mechanical or electrical device (the air conditioner) and is dedicated to a specific, singular function—regulating temperature—rather than being a general-purpose computer. The system relies on a temperature sensor, another form of input device, to function. This sensor continuously monitors the environment and sends analogue data to a microprocessor. Analogue data is continuous, whereas computers can only process discrete digital data; therefore, this input must undergo conversion from analogue to digital (ADC) before processing.

The microprocessor facilitates the constant temperature level through a specific logic loop. It receives the digital data from the temperature sensor and compares this value to the preset temperature value stored in the register (previously set by the owner). Based on whether the sensed temperature is above or below the threshold, the microprocessor sends a signal to an actuator to turn the cooling unit on or off. This continuous process of sensing, comparing, and adjusting ensures the temperature remains stable.

Binary and Hexadecimal Data Representation

In computer systems, numerical values are converted between various bases for processing and display. For a standard 8-bit register, the conversion of denary numbers like 2424 results in the binary value 0001100000011000, while the denary value 101101 is represented as 0110010101100101. Conversely, the binary number 0001001100010011 translates to the denary value 1919 (16+2+116+2+1), and the binary number 0010001000100010 translates to the denary value 3434 (32+232+2).

Hexadecimal is often used to represent error codes or status messages because it is more human-readable and takes up less space than binary. When the shop's system displays hexadecimal error codes, each hex digit corresponds to a 4-bit binary nibble. For the error code 5151, the binary representation stored in the register is 0101000101010001. For the error code E3E3, where EE equals denary 1414, the binary representation is 1110001111100011. If the register holds the binary value 1000001010000010, the system displays the hexadecimal number 8282.

When representing negative temperatures, computer systems often utilize two’s complement notation for 8-bit binary integers. To find the two’s complement for a negative number like 5-5, one must first find the binary for positive 55, which is 0000010100000101. By inverting all bits (changing 00s to 11s and 11s to 00s), the value becomes 1111101011111010. Finally, adding 11 to this result yields the 8-bit binary integer 1111101111111011, representing 5-5.

Von Neumann Architecture and the CPU

A computer built on Von Neumann architecture utilizes a central processing unit (CPU) to perform the fetch-decode-execute (FDE) cycle. The cycle begins with the Program Counter (PC), which is the first register used in the fetch part of the cycle to hold the address of the next instruction to be fetched from memory. The CPU contains a Control Unit (CU) which plays a vital role in managing the execution of instructions. The CU directs the flow of data through the CPU, sends control signals to other components (such as the Arithmetic Logic Unit or memory), and manages the overall timing and synchronization of the FDE cycle. A specific register located within the Control Unit is the Current Instruction Register (CIR), which holds the instruction currently being decoded and executed.

Memory and Secondary Storage Technologies

Computer memory is categorized into primary and secondary storage. Primary storage is directly accessible by the CPU and includes cache memory. Cache is used to store frequently used instructions and data to speed up the processing time, as it is much faster to access than Main Memory (RAM). Other examples of primary storage include Random Access Memory (RAM) and Read-Only Memory (ROM). RAM typically stores the operating system, applications currently in use, and any open data, while ROM stores the bootup instructions (BIOS) required to start the computer.

Secondary storage is non-volatile and used for long-term data retention. Different technologies utilize distinct physical properties for storage. Optical storage, such as CDs or DVDs, functions by using a read/write arm to move a laser across a disc, burning physical pits and lands into the surface to represent data. Solid-State Drives (SSD) use flash memory technology, specifically NAND or NOR logic gates. These devices control the flow of electrons using transistors (often involving floating-point gates or control gates) to store charge without the need for moving parts. Magnetic storage, such as a Hard Disk Drive (HDD), stores data on platters divided into circular tracks and sectors, which rotate while a read/write head moves over them to detect or change polarization.

Data Transmission and Networking

Data sent across networks is divided into packets. A packet consists of three main sections: the Header, the Payload, and the Trailer. The Header contains control information such as the sender's IP address, the destination IP address, and the packet sequence number to ensure data can be reconstructed. The Payload represents the actual data or content being transmitted, such as a segment of a text file or an image. The Trailer serves to signal the end of the packet and often includes error-checking data, such as a checksum, to verify that the packet arrived intact.

Transmission methods determine how these packets are moved. In serial full-duplex transmission, data is sent one bit at a time over a single wire, but the "full-duplex" nature allows data to flow in both directions simultaneously. In parallel half-duplex transmission, multiple bits are sent at the same time across several parallel wires, but the "half-duplex" restriction means that while data can travel in both directions, it can only move in one direction at a time, not simultaneously.

Cyber Security and Data Integrity

Cyber security solutions aim to prevent unauthorized access by hackers. Firewalls are a primary solution; they monitor incoming and outgoing network traffic and decide whether to allow or block specific traffic based on a defined set of security rules. Another solution is encryption, which scrambles data into an unreadable format (ciphertext) using a key, ensuring that even if a hacker intercepts the data, they cannot understand its content without the decryption key.

Social engineering is a significant threat where attackers manipulate individuals into divulging confidential information rather than using technical hacking methods. A common example is phishing, where a user receives a fraudulent email that appears to be from a reputable source, tricking them into clicking a link and providing their password or credit card details.

Websites utilize cookies to track user activity. Session cookies and persistent cookies are similar in that they both store data about a user's preferences or activities on a website. However, a significant difference is their lifespan: session cookies are temporary and are deleted once the web browser is closed, whereas persistent cookies are stored on the user's hard drive and remain even after the browser is closed, often until a pre-set expiry date.

Data Representation for Text, Sound, and Images

Computers represent all information as binary. For text, this involves a character set, which is a defined list of characters and the corresponding binary codes used to represent them (e.g., ASCII or Unicode). Sound is represented through sampling, and the sample rate is the number of samples taken each second when recording the audio. In imagery, a pixel is the smallest identifiable area or "picture element" of an image. Resolution refers to the total number of pixels in an image (often expressed as width times height), and colour depth is the number of bits used to represent the specific colour of a single pixel.

Calculations for storage size require unit conversion. If an image file is 10001000 bytes, its size in bits is 80008000 bits, as there are 88 bits in a byte (1000×81000 \times 8). For larger files like mibibytes (MiB) and gibibytes (GiB), the conversion factor is 10241024. Therefore, a sound file that is 40964096 MiB is equal to 44 GiB (4096÷1024=44096 \div 1024 = 4).

Programming Languages, AI, and Translators

Artificial Intelligence (AI) refers to the simulation of human intelligence processes by machines, especially computer systems, enabling them to perform tasks such as learning, reasoning, and self-correction. In computer games, AI is used to improve the movements and actions of computer-controlled characters (NPCs) by allowing them to react dynamically to player moves, learn from the environment, and make decisions that mimic more human-like strategic thinking.

Programming can be done in high-level or low-level languages. A high-level language is portable across different CPU architectures and is easier for humans to read and write because it use English-like keywords. Conversely, a low-level language (like assembly or machine code) is specific to a particular CPU architecture and gives the programmer direct control over memory and hardware, though it is harder to write.

Translators are required to convert high-level source code into machine code for execution. An Interpreter translates and executes the source code one line at a time; if an error is found, execution stops, and it will only resume once the error is fixed. A Compiler translates the entire source code into a standalone executable file. If errors are found during compilation, it will not execute and will instead produce a full report of all errors found in the source code.