| Symbol | Meaning |
|---|---|
| ● (filled circle) | Initial state (single incoming arrow) |
| ○ (empty circle) | Ordinary (intermediate) state |
| ⧈ (double circle) | Final / accepting state |
| → | Directed transition arrow |
| [guard] | Boolean condition that must be true for the transition to fire |
| /action | Operation performed while the transition occurs (optional) |
Idle, Checking)./resetCounter).| AO | How STDs Support It |
|---|---|
| AO2 – Design | Students can visualise the logical flow, verify that every required case is covered and spot unreachable or duplicate states before writing pseudocode or actual code. |
| AO3 – Testing | Each transition maps to a test case (input + expected state), giving a systematic way to achieve exhaustive coverage. |
| Artefact | Strengths | Weaknesses | Typical Use‑Case |
|---|---|---|---|
| State‑Transition Diagram | Shows dynamic behaviour; highlights states and events; ideal for protocols, GUIs, authentication flows. | Can become cluttered for very large systems; does not display detailed data manipulation. | Modelling reactive systems, security checks, communication protocols. |
| Flowchart | Clear sequential flow; good for simple procedural algorithms. | Unsuitable for concurrent or event‑driven behaviour. | Basic arithmetic, sorting, search algorithms. |
| Pseudocode | Close to actual code; easy to express complex calculations. | Less visual; harder to spot missing states or loops at a glance. | Algorithm description for implementation. |
| Current State | Event / Input | Guard | Action | Next State |
|---|---|---|---|---|
| Idle | submit | – | – | Checking |
| Checking | – | credentials = valid | – | Authenticated |
| Checking | – | credentials ≠ valid | – | Failed |
| Failed | retry | – | resetAttempts() | Idle |
| Authenticated | logout | – | clearSession() | Idle |
The algorithm manages user authentication. The diagram (illustrative) would contain the states and transitions listed in the table above.
Idle, processing state Checking, success state Authenticated, failure state Failed. Final states are Authenticated and Failed (double circles).
Idle, submit valid credentials → expect state Authenticated.Idle, submit invalid credentials → expect state Failed.Failed, trigger retry → expect return to Idle.Authenticated, trigger logout → expect return to Idle.Each transition therefore yields one test scenario, giving exhaustive coverage of the algorithm’s behaviour.
| Aspect | Description |
|---|---|
| State | Distinct configuration; drawn as a circle (filled for start, double for final). |
| Transition | Directed arrow; labelled with event, optional guard [condition] and optional action /action. |
| Initial State | Marked with a filled circle and a single incoming arrow. |
| Final State | Double‑circle; indicates successful termination or an accepting condition. |
| Guard Condition | Boolean expression in square brackets that must be true for the transition to fire. |
| Determinism | Only one transition for a given event from a particular state; ensures predictable behaviour. |
| Testing Link (AO3) | Each transition ↔ one test case; the full set of transitions gives exhaustive coverage. |
Use this checklist to audit your STD lecture material. Mark “✓” if the element is present, “✗” if missing, and add brief notes where improvement is needed.
| # | Syllabus Area (AS / A‑Level) | What to Look For in the Notes | Suggested Action if Missing / Inadequate |
|---|---|---|---|
| 1 | Overall Topic Coverage (AS 1‑12, A 13‑20) | Every numbered sub‑topic appears at least once (e.g., 1.1 Data Representation, 2.1 Networks, … 20.2 Exception Handling). | • Add a dedicated slide/section for any omitted sub‑topic. • Expand brief mentions to include required learning outcomes. |
| 2 | Depth & Accuracy – Key Concepts (computational thinking, programming paradigms, communication, architecture, data representation/structures) | Concepts explained beyond a definition – include algorithms, examples and, where appropriate, mathematical justification (e.g., two’s‑complement arithmetic, Boolean algebra simplification). | • Insert worked examples (e.g., decimal → binary conversion). • Add “common‑mistake” boxes to reinforce correct understanding. |
| 3 | Missing Key Concepts (typical omissions) | Check for items such as:
| • Flag each absent item. • Draft a concise paragraph or diagram to fill the gap. |
| 4 | Clarity & Structure – Presentation Style | Consistent heading hierarchy (e.g., 4.1 CPU Architecture, 4.1.1 Von Neumann Model). Definitions highlighted (bold or boxed). Pseudocode follows Cambridge conventions ( IF … THEN … ENDIF, CASE, FOR, WHILE).Diagrams labelled clearly (logic gates, bus architecture, network topologies). | • Re‑format “wall‑of‑text” slides into bullet points or tables. • Apply uniform styling for headings, definitions and code snippets. |
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.