| AO | What the exam looks for |
|---|---|
| AO1 | Recall factual knowledge – definitions, terminology, diagram components. |
| AO2 | Apply knowledge – write SQL, pseudocode, trace algorithms, calculate file sizes. |
| AO3 | Analyse, evaluate and justify – choose appropriate data types, optimise an algorithm, discuss security implications. |
bit × 2ⁿ.Example: 0101 (5) → 1010 (-6) in 4‑bit two’s‑complement.
| Operation | Rule |
|---|---|
| Addition | 0+0=0, 0+1=1, 1+1=0 carry 1. |
| Subtraction | Use two’s‑complement addition. |
| Multiplication | Shift‑and‑add (binary long multiplication). |
| Division | Repeated subtraction or shift‑subtract algorithm. |
101101₂ to decimal.1101₂ and 0110₂ showing any carry.| Technique | Key Feature |
|---|---|
| Circuit switching | Dedicated path for the duration of a session. |
| Packet switching | Data split into packets; each may take a different route. |
| Message switching | Whole messages stored and forwarded at each node. |
Each core can execute its own instruction stream. Multicore CPUs improve performance without raising clock speed.
Special‑purpose computers built into appliances (e.g., microwave, digital watch). They usually have limited memory and run a single, dedicated program.
| Device | Data Type Produced / Consumed |
|---|---|
| Keyboard | Text (STRING) |
| Mouse / Touchpad | Coordinates (INTEGER) |
| Scanner | Image (BINARY / BYTE ARRAY) |
| Microphone | Sound (BINARY, often compressed) |
| Printer | Text / Graphics (output) |
Match each device to the most appropriate data type.
1 bit = binary digit; 1 byte = 8 bits. Use the IEC prefixes for large units:
Example – a 24‑bit colour image 800 × 600 pixels:
Pixels = 800 × 600 = 480 000 Bits = 480 000 × 24 = 11 520 000 bits Bytes = 11 520 000 ÷ 8 = 1 440 000 bytes ≈ 1.37 MiB
A 5‑minute mono audio clip is sampled at 44 kHz with 16‑bit resolution. Estimate the uncompressed file size in megabytes.
| Component | Role |
|---|---|
| NIC (Network Interface Card) | Provides MAC address, converts data to frames. |
| Router | Forwards packets between different networks; uses IP addresses. |
| Switch | Connects devices within a LAN; forwards frames based on MAC. |
| Modem | Modulates/demodulates signals for broadband/telephone lines. |
00:1A:2B:3C:4D:5E).192.168.1.10.HTTPS adds TLS/SSL encryption, ensuring confidentiality and integrity of data exchanged.
Given the URL https://www.example.com/resources/report.pdf, list the steps the browser follows from typing the address to receiving the PDF file.
Break a problem into smaller, manageable sub‑problems (modules). Each module should have a clear input and output.
READ number
IF number MOD 2 = 0 THEN
DISPLAY "Even"
ELSE
DISPLAY "Odd"
END IF
For the pseudocode above, trace the values when number = 7 and number = 12.
| Data Type | Typical Range / Example |
|---|---|
| INTEGER | ‑2,147,483,648 to 2,147,483,647 |
| REAL | Floating‑point numbers, e.g., 3.14 |
| STRING(n) | Text up to *n* characters, e.g., STRING(30) |
| BOOLEAN | TRUE / FALSE |
| CHAR | Single character |
IF … THEN … ELSE … END IF or CASE.WHILE … DO … END WHILE or FOR … TO … NEXT.An array stores a collection of values of the same type, indexed from 0 (or 1) to *n‑1*.
DECLARE scores[5] AS INTEGER
FOR i FROM 0 TO 4 DO
READ scores[i]
END FOR
OPEN "students.txt" FOR READ AS f
WHILE NOT EOF(f) DO
READ line FROM f
DISPLAY line
END WHILE
CLOSE f
Write pseudocode for a menu‑driven program that lets the user:
CREATE TABLE statement.SELECT.| Requirement | Field Name | Data Type (syllabus) | Constraints / Notes |
|---|---|---|---|
| Unique identification number | ISBN | STRING(13) | Primary Key, exactly 13 characters |
| Title | Title | STRING(255) | NOT NULL |
| Author(s) | Author | STRING(255) | Multiple authors separated by commas |
| Year of publication | PubYear | INTEGER | CHECK (PubYear ≥ 1900) |
| Genre | Genre | STRING(50) | Pre‑defined list (Fiction, History, …) |
| Number of copies owned | CopiesOwned | INTEGER | CHECK (CopiesOwned ≥ 0) |
| Availability status | IsAvailable | BOOLEAN | TRUE if CopiesOwned > CopiesOnLoan |
CREATE TABLE Books (
ISBN STRING(13) PRIMARY KEY,
Title STRING(255) NOT NULL,
Author STRING(255) NOT NULL,
PubYear INTEGER CHECK (PubYear >= 1900),
Genre STRING(50),
CopiesOwned INTEGER CHECK (CopiesOwned >= 0),
IsAvailable BOOLEAN NOT NULL
);
INSERT INTO Books (ISBN, Title, Author, PubYear, Genre, CopiesOwned, IsAvailable)
VALUES ('9780140449136', 'The Odyssey', 'Homer', 1996, 'Literature', 3, TRUE);
SELECT Title, Author FROM Books WHERE IsAvailable = TRUE ORDER BY Title;
UPDATE Books SET IsAvailable = FALSE WHERE ISBN = '9780140449136' AND CopiesOwned = 1;
DELETE FROM Books WHERE ISBN = '9780140449136';
ISBN: exactly 13 alphanumeric characters.PubYear: CHECK (PubYear BETWEEN 1900 AND 2025).CopiesOwned: CHECK (CopiesOwned >= 0).IsAvailable: Boolean – must be TRUE/FALSE.
PROCEDURE FindAvailableBooksByGenre(genre)
SET result TO empty list
FOR each record IN Books DO
IF record.Genre = genre AND record.IsAvailable = TRUE THEN
ADD (record.Title, record.Author) TO result
END IF
END FOR
SORT result BY Title ASCENDING
RETURN result
END PROCEDURE
This mirrors the SQL:
SELECT Title, Author FROM Books WHERE Genre='Science' AND IsAvailable=TRUE ORDER BY Title;
| Operator | Symbol | Truth Table |
|---|---|---|
| AND | ∧ | A B | A∧B 0 0 | 0 0 1 | 0 1 0 | 0 1 1 | 1 |
| OR | ∨ | A B | A∨B 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1 |
| NOT | ¬ | A | ¬A 0 | 1 1 | 0 |
| NAND | ↑ | Inverse of AND. |
| NOR | ↓ | Inverse of OR. |
| XOR | ⊕ | True when inputs differ. |
IF (score >= 50) AND (attendance >= 75) THEN
DISPLAY "Pass"
ELSE
DISPLAY "Fail"
END IF
Design a Boolean expression that is true only when a student has either (a) a mark ≥ 80 or (b) a mark ≥ 70 and attendance ≥ 90%.
| Topic | Key Points for Revision |
|---|---|
| 1 Data Representation | Binary, hex, two’s‑complement, shifts, binary arithmetic. |
| 2 Data Transmission | Packet structure, switching, USB/Ethernet, error detection, basic encryption. |
| 3 Hardware | Von Neumann model, CPU components, cache, cores, embedded systems. |
| 4 I/O Devices & Sensors | Keyboard, mouse, scanner, microphone, common sensors and their data types. |
| 5 Data Storage & Compression | Bits/bytes, IEC prefixes, file‑size calculations, lossless vs lossy compression. |
| 6 Network Hardware & Internet | NIC, router, switch, MAC/IP addressing, DNS, HTTP/HTTPS request cycle. |
| 7 Algorithm Design | Decomposition, flowchart symbols, pseudocode, validation vs verification. |
| 8 Programming Concepts | Variables, data types, sequence, selection, iteration, arrays, file handling. |
| 9 Databases | Single‑table design, primary‑key rules, field validation, CREATE/INSERT/SELECT/UPDATE/DELETE, example library register. |
| 10 Boolean Logic & Gates | Truth tables, AND/OR/NOT/NAND/NOR/XOR, simple gate diagrams, Boolean expressions in code. |
Use this sheet as a final checklist before the exam – make sure you can recall a key point for each topic (AO1), write a short example (AO2), and explain why a particular choice is appropriate (AO3).
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.