| Concept | Key Points (AO1) | Exam Relevance (AO2) |
|---|---|---|
| Number systems | Binary (base‑2), Decimal (base‑10), Hexadecimal (base‑16). Conversions use division‑remainder (binary) or grouping (hex). | Convert between binary, decimal and hexadecimal; perform binary addition/subtraction. |
| Character encoding | ASCII (7‑bit, 0‑127); Unicode (UTF‑8) – up to 4 bytes per character. | Interpret a byte as a character; calculate storage for a text file. |
| Images & sound | Bitmap – pixels, colour depth (bits/pixel). Audio – sampling rate, bit depth. Simple compression (run‑length, lossless vs lossy). | Estimate file size of an image or audio clip; explain why compression reduces size. |
| Storage units | 1 byte = 8 bits; 1 KB = 2¹⁰ bytes, 1 MB = 2²⁰ bytes, etc. Distinguish “kilobyte” (10³) from “kibibyte” (2¹⁰) where required. | Convert between units; calculate total storage for a set of files. |
| Method | How it works (AO1) | Typical use (AO2) |
|---|---|---|
| Parity bit | Adds a single bit to make the total number of 1’s even (even parity) or odd (odd parity). | Detects single‑bit errors in simple data transfers. |
| Checksum | Sum of all data bytes (mod 256) is sent; receiver recomputes and compares. | Used in TCP/IP headers and many file‑transfer protocols. |
| ARQ (Automatic Repeat Request) | Receiver sends ACK if data correct, NACK if error detected; sender retransmits on NACK. | Ensures reliable delivery over unreliable links (e.g., Wi‑Fi). |
| Check‑digit (ISBN, bar‑code) | Weighted sum of digits; the final digit makes the total divisible by a constant. | Validates product codes, ISBN numbers. |
Breaking a problem into manageable sub‑systems improves design, coding and testing. Follow the six‑step method and always record the interface (inputs, outputs, data exchanged) of each sub‑system.
+-------------------+
| Main Program |
+-------------------+
| |
----- -----
| |
V V
+-----------+ +-----------------+
| Input | | Generate Timetable|
| Sub‑system| | Sub‑system |
+-----------+ +-----------------+
| |
V V
+-----------+ +-----------------+
| Validate | | Output Sub‑system|
| Sub‑system| +-----------------+
+-----------+
| Method | When to Use | Typical Pseudocode Pattern |
|---|---|---|
| Search | Find a specific item in a list or table. | FOR each item IN list |
| Sort (simple) | Arrange data in ascending/descending order. | FOR i = 1 TO n‑1 |
| Totalling / Counting | Calculate sums, averages, or count occurrences. | total ← 0 |
| Min / Max / Average | Find extremes or compute the mean. | min ← list[1]; max ← list[1]; total ← 0 |
IF … THEN … ELSE … END IF, FOR … TO … STEP … END FOR, WHILE … DO … END WHILE.# (or //) and explain purpose.| Data Type | Typical Range / Size | Example Declaration |
|---|---|---|
| INTEGER | ‑2,147,483,648 … 2,147,483,647 (32‑bit) | INTEGER age ← 0 |
| REAL | Floating‑point, approx. ±3.4 × 10³⁸ | REAL price ← 0.0 |
| CHARACTER | Single character | CHARACTER grade ← 'A' |
| STRING | Sequence of characters (max length defined by language) | STRING name ← "" |
| BOOLEAN | TRUE or FALSE | BOOLEAN isValid ← FALSE |
+, ‑, *, /, MOD=, ≠, <, ≤, >, ≥AND, OR, NOT+ (or & in some languages)Typical IGCSE‑style pseudocode:
OUTPUT "Enter your name: "
INPUT name
OUTPUT "Hello, " + name + "!"
| Structure | Syntax (pseudocode) | Typical Use (AO2) |
|---|---|---|
| Selection – IF | IF condition THEN |
Choose between alternatives (e.g., grade calculation). |
| Selection – CASE | CASE variable OF |
Multiple discrete options (e.g., menu choices). |
| Iteration – FOR | FOR i ← start TO end STEP step |
Known number of repetitions (e.g., process 10 records). |
| Iteration – WHILE | WHILE condition DO |
Repeat until a condition fails (e.g., read until EOF). |
| Iteration – REPEAT…UNTIL | REPEAT |
Execute at least once, then test (e.g., password prompt). |
PROCEDURE calculateTotal(price, qty) RETURNS REAL
RETURN price * qty
END PROCEDURE
Benefits: re‑use, clearer testing, lower coupling.
INTEGER scores[5] // 1‑D array of 5 integers
REAL matrix[3][4] // 2‑D array: 3 rows × 4 columns
Common operations: initialise, traverse with FOR loops, find max/min, sum rows/columns.
OPEN "students.txt" FOR READ AS inFile
WHILE NOT EOF(inFile) DO
INPUT line FROM inFile
...process line...
END WHILE
CLOSE inFile
ON KEYBOARD_INTERRUPT DO
READ key FROM keyboard
STORE key IN buffer
END ON
| Aspect | Compiler | Interpreter |
|---|---|---|
| Operation | Translates whole source code to machine code before execution. | Executes source code line‑by‑line, translating on the fly. |
| Error reporting | All syntax errors are found before the program runs. | Errors are reported as each line is executed; program may run partially. |
| Typical use | Languages such as C, Java (bytecode then JIT). | Languages such as Python, BASIC. |
StudentID).-- Create a table
CREATE TABLE Students (
StudentID INTEGER PRIMARY KEY,
Name TEXT,
Age INTEGER,
Grade TEXT
);
-- Insert a record
INSERT INTO Students (StudentID, Name, Age, Grade)
VALUES (101, 'Alice', 14, 'A');
-- Retrieve data
SELECT Name, Grade FROM Students WHERE Age > 13;
-- Update a record
UPDATE Students SET Grade = 'B' WHERE StudentID = 101;
-- Delete a record
DELETE FROM Students WHERE StudentID = 101;
For IGCSE you need only recognise that a table should avoid duplicate data – each piece of information is stored once. This reduces redundancy and the risk of update anomalies.
| Gate | Symbol | Truth Table |
|---|---|---|
| AND | ∧ | A B | A∧B |
| OR | ∨ | A B | A∨B |
| NOT | ¬ | A | ¬A |
| NAND | ↑ | A B | A↑B |
| NOR | ↓ | A B | A↓B |
| XOR | ⊕ | A B | A⊕B |
AND, OR, NOT in IF statements.101101₂ to decimal. (AO1)SELECT * FROM Students WHERE Grade = 'A';, what data will be returned? (AO2)List and briefly describe the three layers of the TCP/IP model.
Write a flowchart that reads a series of exam scores (terminated by a negative number) and outputs the average score.
Evaluate the advantages and disadvantages of using a cloud‑based database versus a local file‑based system for a small business.
| Binary → Decimal | Decimal → Binary |
|---|---|
| Multiply each bit by 2ⁿ (n = position from right, starting at 0) and sum. | Repeated division by 2; record remainders (bottom‑up). |
| Prefix | Binary (2¹⁰ⁿ) | Decimal (10ⁿ) |
|---|---|---|
| K (kibi) | 1 KB = 1 024 bytes | 1 kB = 1 000 bytes |
| M (mebi) | 1 MB = 1 048 576 bytes | 1 MB = 1 000 000 bytes |
| G (gibi) | 1 GB = 1 073 741 824 bytes | 1 GB = 1 000 000 000 bytes |
| Feature | Compiler | Interpreter |
|---|---|---|
| Execution speed | Fast (pre‑compiled) | Slower (run‑time translation) |
| Portability | Needs separate compilation per platform | Often more portable if source is available |
| Debugging | All syntax errors caught before run | Can test piece‑by‑piece; runtime errors only appear when executed |
Create an account or Login to take a Quiz
Log in to suggest improvements to this note.
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources, past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.