← All subjects · AQA 8525 v1.3 · Untiered

GCSE Computer Science

190 days to the exam
2027-05-10

Spec conquered

7%

9 weeks under the aimline · progress and forecast →

Lower-tier secure

3/100

topics secure or better

Latest paper

No full paper logged.

Unfinished work

2 open

Session 117 · 14 days: Trace of the running-total version (7,3,0 -> 10) not run. Handwritten while loop from a one-line brief with no scaffold still owed (due by 29 Oct); 19 Oct's was guided line by line.

Session 136 · 10 days: 166 → binary check line not written (add the 1-columns back to 166). Store-vs-print program task not started.

Practice the whole board →

Lab days

15

all time

Tasks solved

7.0

all time

Right first time

83.3%

last 10 runs, pooled

Solved in the end

86.7%

last 10 runs, pooled

Strands

Fundamentals of algorithms (3.1)
0/14
Cyber security (3.6)
0/6
Data representation (3.3)
1/16
Ethical, legal and environmental impacts (3.8)
0/7
Computer networks (3.5)
0/6
Programming (3.2)
2/29
Databases and SQL (3.7)
0/6
Computer systems (3.4)
0/16
Not started Gap Developing Secure Exam-ready

Every topic

Fundamentals of algorithms (3.1)

A01 3.1.1 The term algorithm; program vs algorithm□A02 3.1.1 Decomposition□A03 3.1.1 Abstraction□A04 3.1.1 Reading and writing AQA pseudo-code and program code!□A05 3.1.1 Flowcharts: symbols, drawing and reading□A06 3.1.1 Inputs, processing and outputs of an algorithm□A07 3.1.1 Trace tables and determining an algorithm's purpose!□A08 3.1.2 Efficiency of algorithms (time only; no formal comparison)□A09 3.1.3 Linear search: mechanics□A10 3.1.3 Binary search: mechanics (sorted data precondition)□A11 3.1.3 Compare linear and binary search□A12 3.1.4 Merge sort: mechanics□A13 3.1.4 Bubble sort: mechanics!□A14 3.1.4 Compare merge sort and bubble sort□

Cyber security (3.6)

C01 3.6.1 Cyber security: definition and main purposes□C02 3.6.2 Threats: pharming, weak/default passwords, misconfigured access rights, removable media, unpatched software□C03 3.6.2 Penetration testing: purpose and the two types (insider / external)□C04 3.6.2.1 Social engineering: blagging, phishing, shouldering; protection□C05 3.6.2.2 Malware: virus, trojan, spyware; protection□C06 3.6.3 Detection and prevention: biometrics, passwords, CAPTCHA, email confirmation, automatic updates□

Data representation (3.3)

D01 3.3.1 Number bases: decimal, binary, hexadecimal; why hex is used!□D02 3.3.2 Binary ↔ decimal conversion (0–255)!□D03 3.3.2 Binary ↔ hex and decimal ↔ hex conversion (0–255 / FF)!□D04 3.3.3 Units: bit, byte, kilo/mega/giga/tera (decimal prefixes); comparing quantities□D05 3.3.4 Binary addition (up to three 8-bit numbers)!□D06 3.3.4 Logical binary shifts and their uses (×/÷ by powers of 2)□D07 3.3.5 Character sets and 7-bit ASCII: codes, sequences, table conversion□D08 3.3.5 Unicode: purpose and advantages over ASCII□D09 3.3.6 Pixels, image size and colour depth; how a bitmap represents an image□D10 3.3.6 Bitmap file-size calculation (W × H × D) and effect of pixels/depth□D11 3.3.6 Converting between binary data and a bitmap image□D12 3.3.7 Sound: analogue to digital, sampling, sampling rate, sample resolution□D13 3.3.7 Sound file-size calculation (rate × resolution × seconds)□D14 3.3.8 Data compression: what it is and why it is used□D15 3.3.8 Huffman coding: interpreting trees; bits used vs ASCII; bits saved□D16 3.3.8 Run length encoding: frequency/data pairs□

Ethical, legal and environmental impacts (3.8)

E01 3.8 Ethical, legal and environmental impacts: general principles and extended-response technique!□E02 3.8 Privacy: citizens' privacy vs government and security-service access□E03 3.8 Impacts of cyber security and hacking□E04 3.8 Impacts of mobile technologies and wireless networking□E05 3.8 Impacts of cloud storage□E06 3.8 Impacts of wearable technologies and computer-based implants□E07 3.8 Impacts of autonomous vehicles□

Computer networks (3.5)

N01 3.5 What a computer network is; advantages and disadvantages□N02 3.5 Network types: PAN (Bluetooth), LAN, WAN□N03 3.5 Wired vs wireless networks; fibre and copper cable□N04 3.5 Network protocols: definition; purpose of TCP, IP, HTTP, HTTPS, SMTP, IMAP□N05 3.5 Network security: authentication, encryption, firewall, MAC address filtering□N06 3.5 The 4-layer TCP/IP model: application, transport, internet, link□

Programming (3.2)

P01 3.2.1 Data types: integer, real, Boolean, character, string□P02 3.2.2 Variables, constants and assignment; why named constants are used!□P03 3.2.2 Selection (IF / ELSE IF / ELSE)!□P04 3.2.2 Definite (count-controlled) iteration (FOR)!□P05 3.2.2 Indefinite iteration with condition at start (WHILE) or end (REPEAT…UNTIL, DO…WHILE)!□P06 3.2.2 Nested selection and nested iteration□P07 3.2.2 Meaningful identifier names and why they matter□P08 3.2.3 Arithmetic operators incl. real division, DIV and MOD!□P09 3.2.4 Relational operators (=, ≠, <, >, ≤, ≥)□P10 3.2.5 Boolean operators NOT, AND, OR in conditions□P11 3.2.6 Data structures concept; one-dimensional arrays□P12 3.2.6 Two-dimensional arrays□P13 3.2.6 Records□P14 3.2.7 Keyboard input and display output□P15 3.2.8 String handling: length, position, substring, concatenation□P16 3.2.8 Character ↔ character code conversion□P17 3.2.8 String ↔ integer/real conversion!□P18 3.2.9 Random number generation in programs□P19 3.2.10 Subroutines: concept, calling, and advantages□P20 3.2.10 Parameters: passing data into subroutines (incl. more than one)□P21 3.2.10 Return values from subroutines□P22 3.2.10 Local variables: scope, lifetime and why they are good practice□P23 3.2.10 The structured approach and its advantages□P24 3.2.11 Data validation routines (length, empty, range)□P25 3.2.11 Authentication routines (plain-text username and password)□P26 3.2.11 Testing and correcting errors in algorithms and programs□P27 3.2.11 Test data: normal, boundary, erroneous; selecting and justifying!□P28 3.2.11 Syntax errors vs logic errors: identify and categorise□P29 5.0 Design, write, test and refine a program to a brief (extended programming task)□

Databases and SQL (3.7)

Q01 3.7.1 Databases and relational databases: concepts□Q02 3.7.1 Table, record, field, data type, primary key, foreign key□Q03 3.7.1 How relational databases reduce inconsistency and redundancy□Q04 3.7.2 SQL SELECT … FROM … WHERE … ORDER BY (up to two tables)□Q05 3.7.2 SQL INSERT INTO … VALUES□Q06 3.7.2 SQL UPDATE … SET … WHERE and DELETE FROM … WHERE□

Computer systems (3.4)

S01 3.4.1 Hardware and software: definitions and relationship□S02 3.4.2 Truth tables for NOT, AND, OR, XOR gates□S03 3.4.2 Truth tables for combined logic circuits (up to three inputs)□S04 3.4.2 Create, modify and interpret logic circuit diagrams□S05 3.4.2 Boolean expressions (. + ⊕ overbar); circuit ↔ expression□S06 3.4.3 System software vs application software, with examples□S07 3.4.3 Operating systems and utility programs: need and functions□S08 3.4.4 Low-level vs high-level languages; machine code and assembly□S09 3.4.4 Translators: interpreter, compiler, assembler — differences and when to use□S10 3.4.5 CPU components and main memory: ALU, control unit, clock, register, bus□S11 3.4.5 CPU performance: clock speed, number of cores, cache size□S12 3.4.5 The fetch–decode–execute cycle□S13 3.4.5 Memory types RAM, ROM, cache, register; volatile vs non-volatile; main vs secondary□S14 3.4.5 Secondary storage: why needed; solid state and magnetic — operation, advantages and disadvantages□S15 3.4.5 Cloud storage vs local storage□S16 3.4.5 Embedded vs non-embedded systems, with examples□

Loose ends

Secure means it held up independently, not that it is finished. Feed these into starters rather than reteaching.

A04 3.1.1 Reading and writing AQA pseudo-code and program code
Inclusive FOR bound now right cold under time (paper #10 Q7). Still to see: 'last value of i' asked alone, and a WHILE line read in pseudo-code. Secure on a set of 3+ pseudo-code lines read unaided on one day including a WHILE.
A07 3.1.1 Trace tables and determining an algorithm's purpose
Headings were supplied this time. Next: set a trace with no headings given and see if she draws columns per variable unprompted.
A13 3.1.4 Bubble sort: mechanics
Pass mechanics correct unaided; the stopping condition (a pass with no swaps) is what is missing.
P02 3.2.2 Variables, constants and assignment; why named constants are used
int() on input that is compared as a number is the one thing on the handwriting checklist that is logic and counts. Test without the checklist next time.
P03 3.2.2 Selection (IF / ELSE IF / ELSE)
Boundaries right in a cold task (27 Sep). Reads 'store in a variable' as 'print' — instruction reading, check on the next task with a named output variable.
P04 3.2.2 Definite (count-controlled) iteration (FOR)
Total version traced and written cold in a later session.
P05 3.2.2 Indefinite iteration with condition at start (WHILE) or end (REPEAT…UNTIL, DO…WHILE)
Handwritten loop from a one-line brief with no scaffold still owed (due 29 Oct).
P08 3.2.3 Arithmetic operators incl. real division, DIV and MOD
DIV and MOD names last asked cold 18 Sep (right); redundant-brackets loose end still unobserved. Retest the names in a later starter.
P17 3.2.8 String ↔ integer/real conversion
Text-join misconception did not recur on the cold retest (27 Sep). str() and real conversion untouched.
P27 3.2.11 Test data: normal, boundary, erroneous; selecting and justifying
Classifies test data correctly; needs to state the expected behaviour for each value as the scheme requires.
D01 3.3.1 Number bases: decimal, binary, hexadecimal; why hex is used
Ask cold next session with no sentence shown; listen for the four-bits/fewer-digits fact before the so-what.
D02 3.3.2 Binary ↔ decimal conversion (0–255)
Method is right both ways; the failure is summing 4–5 values in one column. Teach running total from the top and a mandatory second add as the check; dec→bin needs the add-back check line.
D03 3.3.2 Binary ↔ hex and decimal ↔ hex conversion (0–255 / FF)
Binary route holds (6 and 14 Oct). Secure on an unaided set of hex↔binary and hex↔decimal items on one day; short route (left digit × 16) optional, not a replacement — 2F gave 182 on 15 Oct.
D05 3.3.4 Binary addition (up to three 8-bit numbers)
Overflow sentence (name + lost digit + stored answer wrong) said 2/2 cold once (19 Oct); a second unprompted day still to see. Carries not written on the paper sum: fine while the answer is right.
E01 3.8 Ethical, legal and environmental impacts: general principles and extended-response technique
First extended response attempted, not blanked. Wrote for one of three named groups and stopped at two sentences — the structure is untaught.

Resources

For the whole subject
notes AQA 8525 specification v1.3 (first teaching Sept 2025, exams June 2027 onwards) — THE document to teach to. Sections 3.1–3.8 are the syllabus; the right-hand 'additional information' column gives the depth limits. Verified 5 Sep 2026.
notes AQA Summary of changes (8525), June 2025 — what was removed for 2027 — Removed: Von Neumann as a named model, optical storage, LAN topologies, Ethernet, Wi-Fi, UDP, FTP, alternative link-layer names. Void these questions on any 2022–2026 paper.
other AQA 8525 overview page (specs, teaching guides, sample papers) — Stable entry point if any file link below dies. Lists both spec versions and the 2027 sample materials.
notes AQA subject-specific vocabulary (first exam 2027) — The terminology examiners expect. Use for retrieval starters and to check definitions in written answers.
notes AQA Notes and guidance: Pseudo-code (8525/1) — Every algorithm in a question paper uses this pseudo-code. She must READ it fluently; she need not write in it.
notes AQA Notes and guidance: Python (8525/1) — The exact Python style AQA uses in question papers and mark schemes. Use if Python 3 is the chosen language.
notes AQA Notes and guidance: C# (8525/1) — The exact C# style AQA uses in question papers and mark schemes. Use if C# is the chosen language.
notes AQA Notes and guidance: VB.NET (8525/1) — The exact VB.NET style AQA uses in question papers and mark schemes. Use if VB.NET is the chosen language.
notes AQA Notes and guidance: 8525/1 Marking guidance (coded solutions) — FOR THE MARKER. AQA's examiner rulebook: logic over syntax, indentation rules per language, design marks, meaningful variable names, typing rules, records. Read before marking any code question. Verified 5 Sep 2026.
paper Specimen Paper 1 (Python) 8525B/1 — sample assessment materials — Official specimen, 90 marks, 2h. Paper 1 content unchanged for 2027, so fully usable. Handwrite the code answers.
paper Specimen Paper 1 (VB.NET) 8525C/1 — sample assessment materials — VB.NET variant of the same specimen. The C# variant (8525A/1) is on the AQA assessment-resources page.
paper Specimen Paper 1 mark scheme (all three languages) 8525/1 — Mark against the section for her language only. Shows the 'Mark A/B/C' feature-marking and 'max N if any errors' caps.
paper Sample Paper 2 question paper — Sample set 1 (first exam 2027) 8525/2 — The ONLY official Paper 2 on the 2027 content. Use as the first full Paper 2 mock. 90 marks, 1h45.
paper Sample Paper 2 mark scheme — Sample set 1 (first exam 2027) 8525/2 — Contains the level-of-response band descriptors and flags the Von Neumann question as no longer asked from 2027.
paper June 2023 Paper 2 question paper 8525/2 (legacy spec) — LEGACY: void any question on Von Neumann, optical storage, topologies, Ethernet, Wi-Fi, UDP, FTP and reduce the maximum before marking.
paper June 2023 Paper 1 (VB.NET) question paper 8525/1C (legacy spec) — Paper 1 is unaffected by the 2027 changes. The 1A (C#) and 1B (Python) variants of the same paper are on the AQA past-paper finder.
paper June 2023 Paper 1 mark scheme 8525/1 (all languages) — Covers 1A, 1B and 1C. Note the examiner 'I.' (ignore) lists — the compile tolerance in practice.
notes June 2023 Paper 1 examiner report 8525/1 — What real candidates got wrong. Key lines: design marks exist even for wrong code; attempt every coding question; the indentation grids are misused.
paper June 2022 Paper 1 mark scheme 8525/1 (all languages) — Legacy but Paper 1 content is unchanged. Question paper via the past-paper finder.
other AQA past-paper finder (2022–2024 papers, mark schemes, examiner reports, modified papers) — Search 8525. The most recent series (2025, 2026) are login-gated for about a year — ask the exam centre. 2027 is the first series on the new content.
other AQA 8525 assessment resources page — The file list renders in-browser only. Filter by 'Sample papers' for the C# specimen (8525A/1).
other AQA GCSE grade boundaries — June 2024 (contains 8525A/B/C rows, out of 180) — Legacy proxy only. The tracker holds the 8525C row. Look up 8525A or 8525B here once the language is chosen. No 2027 boundaries exist until August 2027.
other AQA GCSE subject grade boundaries — June 2025 — Most recent legacy series. Directional only.
other AQA GCSE exam timetable May/June 2027 (version 1.0) — 8525/1A/1B/1C Monday 10 May 2027 am; 8525/2 Wednesday 19 May 2027. Confirm with the centre.
other AQA private candidates page — PARENT: the centre must sign the Practical Programming Statement (spec 5.1) and declare the Paper 1 language at entry. Confirm both in writing early.
A01 · 3.1.1 The term algorithm; program vs algorithm
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Whole-strand playlist, ad-free, updated 31 Jul 2025 for the 2027 spec. Start of the algorithms strand.
notes Teach-ICT: Computational thinking — Written back-up. Small interactive pages, good for independent reading.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer — use after teaching, never as first teaching.
A02 · 3.1.1 Decomposition
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Decomposition is covered in the computational-thinking videos near the start of the playlist.
notes Teach-ICT: Computational thinking — Decomposition with worked examples.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A03 · 3.1.1 Abstraction
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Abstraction sits alongside decomposition in the same opening set of videos.
notes Teach-ICT: Computational thinking — Abstraction with worked examples.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A04 · 3.1.1 Reading and writing AQA pseudo-code and program code
notes AQA Notes and guidance: Pseudo-code (8525/1) — The AQA pseudo-code conventions — the reading half of this topic.
A05 · 3.1.1 Flowcharts: symbols, drawing and reading
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Flowchart symbols and reading flowcharts. She must be able to draw as well as read.
notes Teach-ICT: Flowcharts — Symbol reference. Where a question says 'draw a flowchart', that is the required response mode.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A06 · 3.1.1 Inputs, processing and outputs of an algorithm
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — No dedicated video for inputs/processing/outputs; it is covered inside the flowchart and pseudo-code items.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A07 · 3.1.1 Trace tables and determining an algorithm's purpose
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Trace tables are thin here. Code Lab tasks a07-trace1, a07-trace2 and a07-trace-linear carry the drilling.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Exam questions here include trace tables — require the full table, not just the answer.
A08 · 3.1.2 Efficiency of algorithms (time only; no formal comparison)
video Craig'n'Dave: SLR 07 Algorithms (video playlist) — Efficiency at 8525 depth is time only. No Big-O, no formal comparison.
notes Teach-ICT: Efficiency of algorithms — Keep to time efficiency only — anything deeper is beyond 8525.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A09 · 3.1.3 Linear search: mechanics
video Craig'n'Dave: Linear search — Mechanics of linear search. Pair with Code Lab task a09-linear.
notes Teach-ICT: Searching algorithms — Linear search written up step by step.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A10 · 3.1.3 Binary search: mechanics (sorted data precondition)
video Craig'n'Dave: Binary search — Mechanics of binary search. Stress the sorted-data precondition. Pair with Code Lab task a10-binary.
notes Teach-ICT: Searching algorithms — Binary search written up step by step.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A11 · 3.1.3 Compare linear and binary search
video Craig'n'Dave: Binary search — Contains an explicit linear-vs-binary comparison segment. A11 is written-answer work: drill point-consequence structure after watching.
notes Teach-ICT: Searching algorithms — Use the comparison table here as raw material for a written state-explain-link answer.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Use the exam questions to practise the written comparison.
A12 · 3.1.4 Merge sort: mechanics
video Craig'n'Dave: Merge sort — Splitting and merging stages. Pair with Code Lab tasks a12-merge-step and a12-merge-trace.
notes Teach-ICT: Sorting algorithms — Merge sort stages in writing.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A13 · 3.1.4 Bubble sort: mechanics
video Craig'n'Dave: Bubble sort — Passes and swaps. Pair with Code Lab tasks a13-bubble-trace and a13-bubble-code.
notes Teach-ICT: Sorting algorithms — Bubble sort passes in writing.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Retrieval layer.
A14 · 3.1.4 Compare merge sort and bubble sort
video Craig'n'Dave: Bubble sort — Contains the merge-vs-bubble comparison. A14 is written-answer work, not code — comparative structure required.
notes Teach-ICT: Sorting algorithms — Comparison material for the written answer.
practice PMT: Fundamentals of Algorithms (notes, flashcards, questions) — Free, no login. Use the exam questions to practise the written comparison.
C01 · 3.6.1 Cyber security: definition and main purposes
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — Definition and main purposes of cyber security.
notes Teach-ICT: Cyber security introduction and threats — Written back-up on the definition and purposes.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
C02 · 3.6.2 Threats: pharming, weak/default passwords, misconfigured access rights, removable media, unpatched software
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — The five named threats. She must be able to name and explain, not just recognise.
notes Teach-ICT: Cyber security introduction and threats — The threat list with examples.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
C03 · 3.6.2 Penetration testing: purpose and the two types (insider / external)
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — Penetration testing and the two types (insider and external).
notes Teach-ICT: Penetration testing — Purpose and the two types.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
C04 · 3.6.2.1 Social engineering: blagging, phishing, shouldering; protection
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — Blagging, phishing, shouldering and protection against each.
notes Teach-ICT: Social engineering — Blagging, phishing, shouldering.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
C05 · 3.6.2.2 Malware: virus, trojan, spyware; protection
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — Virus, trojan, spyware and protection. Keep the three distinct — they are commonly muddled.
notes Teach-ICT: Malware — Virus, trojan, spyware.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
C06 · 3.6.3 Detection and prevention: biometrics, passwords, CAPTCHA, email confirmation, automatic updates
video Craig'n'Dave: SLR 04 Cyber security (video playlist) — Biometrics, passwords, CAPTCHA, email confirmation, automatic updates.
notes Teach-ICT: Authentication and prevention — Detection and prevention methods.
practice PMT: Cyber Security (notes and questions) — Free, no login. Retrieval layer after teaching.
D01 · 3.3.1 Number bases: decimal, binary, hexadecimal; why hex is used
video Craig'n'Dave: Number bases — Decimal, binary and hexadecimal.
video Craig'n'Dave: Why hexadecimal is used in computer science — The 'why hex' half of D01, which is a written answer, not a calculation.
notes Teach-ICT: Binary — Written back-up on number bases.
notes Teach-ICT: Hexadecimal — Why hexadecimal is used — material for the written answer.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D02 · 3.3.2 Binary ↔ decimal conversion (0–255)
video Craig'n'Dave: Converting between decimal and 8-bit binary — 0-255 range, as examined.
notes Teach-ICT: Binary — Binary to decimal conversion practice.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D03 · 3.3.2 Binary ↔ hex and decimal ↔ hex conversion (0–255 / FF)
video Craig'n'Dave: Converting between decimal and 2-digit hexadecimal — Binary to hex and decimal to hex, up to FF.
notes Teach-ICT: Hexadecimal — Binary/decimal to hex conversion.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D04 · 3.3.3 Units: bit, byte, kilo/mega/giga/tera (decimal prefixes); comparing quantities
video Craig'n'Dave: The units of data storage — 8525 uses decimal prefixes (1 kB = 1000 bytes). Do not teach 1024.
notes Teach-ICT: Units of data — Bit, byte and the decimal prefixes; comparing quantities.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D05 · 3.3.4 Binary addition (up to three 8-bit numbers)
other PILOT 16 Oct (Dad): run the Friday quiz block on paper from one sheet — Run session 108 unchanged. Two cold items in chat first. Then ONE sheet message: the sum 10110111 + 01101101, a 5-line count loop (count=1; total=0; while count<=4: total+=count*2; count+=1; print total), headings count/total/output; no grid, no row labels. She rules her own grids on A4, draws where the last carry goes, writes the overflow sentence. Checkpoints only: photo of sum + sentence; typed 01011010, say nothing about working; photo of trace table; log. Evidence: grids unaided, messages.
video Craig'n'Dave: Adding three 8-bit binary integers — Including overflow. Require the carries written out, not mental arithmetic.
notes Teach-ICT: Binary — Binary addition and overflow.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D06 · 3.3.4 Logical binary shifts and their uses (×/÷ by powers of 2)
video Craig'n'Dave: Binary shifts — Logical shifts only, and their effect as multiply/divide by powers of 2.
notes Teach-ICT: Binary — Logical binary shifts.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D07 · 3.3.5 Character sets and 7-bit ASCII: codes, sequences, table conversion
video Craig'n'Dave: Representing characters and character sets — 7-bit ASCII, codes and sequences. Links to P16.
notes Teach-ICT: Characters — Character sets and 7-bit ASCII with a conversion table.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D08 · 3.3.5 Unicode: purpose and advantages over ASCII
video Craig'n'Dave: Representing characters and character sets — Unicode purpose and advantages over ASCII — a written answer.
notes Teach-ICT: Characters — Unicode and its advantages.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D09 · 3.3.6 Pixels, image size and colour depth; how a bitmap represents an image
video Craig'n'Dave: Representing images — Pixels, image size and colour depth.
notes Teach-ICT: Images — Pixels and colour depth.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D10 · 3.3.6 Bitmap file-size calculation (W × H × D) and effect of pixels/depth
video Craig'n'Dave: Representing images — File size = width x height x colour depth. Require units in the answer.
notes Teach-ICT: Images — Worked file-size calculations.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D11 · 3.3.6 Converting between binary data and a bitmap image
video Craig'n'Dave: Representing images — Converting between binary data and a bitmap image.
notes Teach-ICT: Images — Binary data to bitmap and back.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D12 · 3.3.7 Sound: analogue to digital, sampling, sampling rate, sample resolution
video Craig'n'Dave: Representing sound — Analogue to digital, sampling rate, sample resolution.
notes Teach-ICT: Sound — Sampling, rate and resolution.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D13 · 3.3.7 Sound file-size calculation (rate × resolution × seconds)
video Craig'n'Dave: Representing sound — File size = sampling rate x resolution x seconds. Watch the units.
notes Teach-ICT: Sound — Worked sound file-size calculations.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D14 · 3.3.8 Data compression: what it is and why it is used
video Craig'n'Dave: Compression — introduction — What compression is and why it is used.
notes Teach-ICT: Compression — What compression is and why it is used.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D15 · 3.3.8 Huffman coding: interpreting trees; bits used vs ASCII; bits saved
video Craig'n'Dave: Compression — Huffman coding — Interpreting trees, bits used vs ASCII, bits saved. She only needs to read trees, not build them.
notes Teach-ICT: Huffman coding — Reading trees and calculating bits used vs bits saved.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
D16 · 3.3.8 Run length encoding: frequency/data pairs
video Craig'n'Dave: Compression — run length encoding — Frequency/data pairs.
notes Teach-ICT: Run length encoding — Frequency/data pairs with worked examples.
practice PMT: Fundamentals of Data Representation (notes and questions) — Free, no login. Retrieval layer after teaching.
E01 · 3.8 Ethical, legal and environmental impacts: general principles and extended-response technique
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Best available modelling of the balanced extended-response structure. Watch for HOW they argue, not just what they say.
notes Teach-ICT: Ethics — General ethical principles — raw material for both sides of an argument.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Use the extended-response questions here — never accept a two-word answer.
E02 · 3.8 Privacy: citizens' privacy vs government and security-service access
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Citizens' privacy vs government and security-service access.
notes Teach-ICT: Privacy — Privacy vs surveillance arguments.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
E03 · 3.8 Impacts of cyber security and hacking
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Impacts of cyber security and hacking.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
E04 · 3.8 Impacts of mobile technologies and wireless networking
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Mobile technologies and wireless networking. This is the main source for E04 — written notes elsewhere are thin.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
E05 · 3.8 Impacts of cloud storage
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Impacts of cloud storage.
notes Teach-ICT: Environmental impacts — Data centres and e-waste — the environmental side of the cloud argument.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
E06 · 3.8 Impacts of wearable technologies and computer-based implants
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Wearables and computer-based implants. Main source for E06.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
E07 · 3.8 Impacts of autonomous vehicles
video Craig'n'Dave: SLR 06 Ethical, legal and environmental impacts (video playlist) — Impacts of autonomous vehicles.
notes Teach-ICT: Ethics — Self-driving cars section covers autonomous vehicles.
practice PMT: Ethical, Legal and Environmental Impacts (notes and questions) — Free, no login. Retrieval layer after teaching.
N01 · 3.5 What a computer network is; advantages and disadvantages
notes AQA Teaching guide: Fundamentals of computer networks (2027 content) — Reflects the reduced 3.5 content. Prefer this over any pre-2025 textbook chapter on networks.
N02 · 3.5 Network types: PAN (Bluetooth), LAN, WAN
notes AQA Teaching guide: Fundamentals of computer networks (2027 content)
N03 · 3.5 Wired vs wireless networks; fibre and copper cable
notes AQA Teaching guide: Fundamentals of computer networks (2027 content)
N04 · 3.5 Network protocols: definition; purpose of TCP, IP, HTTP, HTTPS, SMTP, IMAP
notes AQA Teaching guide: Fundamentals of computer networks (2027 content) — Only TCP, IP, HTTP, HTTPS, SMTP, IMAP are examinable from 2027.
N05 · 3.5 Network security: authentication, encryption, firewall, MAC address filtering
notes AQA Teaching guide: Fundamentals of computer networks (2027 content)
N06 · 3.5 The 4-layer TCP/IP model: application, transport, internet, link
notes AQA Teaching guide: Fundamentals of computer networks (2027 content) — 4-layer model: TCP only at transport; NIC and OS drivers at link. No alternative layer names.
P01 · 3.2.1 Data types: integer, real, Boolean, character, string
video Craig'n'Dave: Data types and casting — Integer, real, Boolean, character, string. Shows AQA pseudo-code beside real code.
notes Teach-ICT: Data types — Written back-up with Python examples.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P02 · 3.2.2 Variables, constants and assignment; why named constants are used
video Craig'n'Dave: Variables, constants and assignment — Covers why named constants are used, which is the part examiners ask about. Pair with Code Lab p02-badge and p02-vat.
notes Teach-ICT: Variables and constants — Assignment and why constants are used.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P03 · 3.2.2 Selection (IF / ELSE IF / ELSE)
video Craig'n'Dave: The three basic programming constructs — Selection: IF / ELSE IF / ELSE. Pair with Code Lab p03-pass and p03-grade.
notes Teach-ICT: Sequence, selection and iteration — Selection written up with Python examples.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P04 · 3.2.2 Definite (count-controlled) iteration (FOR)
video Craig'n'Dave: The three basic programming constructs — Count-controlled iteration (FOR). Pair with Code Lab p04-table and p04-sum.
notes Teach-ICT: Sequence, selection and iteration — Count-controlled iteration.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P05 · 3.2.2 Indefinite iteration with condition at start (WHILE) or end (REPEAT…UNTIL, DO…WHILE)
video Craig'n'Dave: The three basic programming constructs — WHILE and REPEAT-UNTIL. Note Python has no REPEAT-UNTIL — see the AQA Python notes for the accepted translation. Pair with Code Lab p05-stop.
notes Teach-ICT: Sequence, selection and iteration — Condition-controlled iteration at start and at end.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P06 · 3.2.2 Nested selection and nested iteration
video Craig'n'Dave: The three basic programming constructs — Nesting. Pair with Code Lab p06-grid.
notes Teach-ICT: Sequence, selection and iteration — Nested selection and nested iteration.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P07 · 3.2.2 Meaningful identifier names and why they matter
video Craig'n'Dave: SLR 08 Basic programming concepts (video playlist) — Meaningful identifier names are covered across the playlist. Marks are lost for single-letter names in coded answers.
notes Teach-ICT: Variables and constants — Meaningful identifier naming conventions.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P08 · 3.2.3 Arithmetic operators incl. real division, DIV and MOD
video Craig'n'Dave: SLR 08 Basic programming concepts (video playlist) — Arithmetic operators including DIV and MOD (// and % in Python). Pair with Code Lab p08-time.
notes Teach-ICT: Operators — Arithmetic operators, real division, DIV and MOD.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P09 · 3.2.4 Relational operators (=, ≠, <, >, ≤, ≥)
video Craig'n'Dave: SLR 08 Basic programming concepts (video playlist) — Relational operators. Watch the ≠ / != and ≤ / <= translation between pseudo-code and Python.
notes Teach-ICT: Operators — Relational operators.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P10 · 3.2.5 Boolean operators NOT, AND, OR in conditions
video Craig'n'Dave: SLR 08 Basic programming concepts (video playlist) — Boolean operators NOT, AND, OR. Pair with Code Lab p10-range.
notes Teach-ICT: Operators — Boolean operators in conditions.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P11 · 3.2.6 Data structures concept; one-dimensional arrays
video Craig'n'Dave: Data structures and arrays — One-dimensional arrays (Python lists). Skip the clearly-signposted 'beyond the GCSE specification' section. Pair with Code Lab p11-max and p11-evens.
notes Teach-ICT: Arrays and records — Lists and records only. The page also covers linked lists, dictionaries and tuples — all beyond 8525, skip them.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P12 · 3.2.6 Two-dimensional arrays
video Craig'n'Dave: Data structures and arrays — Two-dimensional arrays in Python and AQA pseudo-code. Pair with Code Lab p12-rows.
notes Teach-ICT: Arrays and records — Two-dimensional arrays. Ignore the beyond-spec structures on the same page.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P13 · 3.2.6 Records
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Records. AQA has its own expectations for how records are written — cross-check the 8525/1 marking guidance.
notes Teach-ICT: Arrays and records — Records. Ignore the beyond-spec structures on the same page.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P14 · 3.2.7 Keyboard input and display output
video Craig'n'Dave: User input and display output — Keyboard input and screen output in Python.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P15 · 3.2.8 String handling: length, position, substring, concatenation
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — String handling: length, position, substring, concatenation. Pair with Code Lab p15-initials.
notes Teach-ICT: String handling — Length, position, substring, concatenation.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P16 · 3.2.8 Character ↔ character code conversion
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Character to character-code conversion (ord and chr). Links to D07 ASCII.
notes Teach-ICT: String handling — Character and character-code conversion.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P17 · 3.2.8 String ↔ integer/real conversion
video Craig'n'Dave: Data types and casting — Casting between string and integer/real — the int() and str() half of this topic.
notes Teach-ICT: String handling — String to integer and real conversion (casting).
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P18 · 3.2.9 Random number generation in programs
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Random number generation. Pair with Code Lab p18-dice.
notes Teach-ICT: Random number generation — Written back-up.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P19 · 3.2.10 Subroutines: concept, calling, and advantages
video Craig'n'Dave: Introduction to subroutines — Concept, calling, and the advantages — the advantages are a written-answer question, so drill point-consequence.
notes Teach-ICT: Subroutines — Concept, calling and advantages.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P20 · 3.2.10 Parameters: passing data into subroutines (incl. more than one)
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Parameters, including passing more than one.
notes Teach-ICT: Subroutines — Parameters.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P21 · 3.2.10 Return values from subroutines
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Return values — the difference between a procedure and a function at 8525 level.
notes Teach-ICT: Subroutines — Return values.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P22 · 3.2.10 Local variables: scope, lifetime and why they are good practice
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — Local variables: scope, lifetime, and why they are good practice. The 'why' is a written answer.
notes Teach-ICT: Subroutines — Local variables, scope and lifetime.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P23 · 3.2.10 The structured approach and its advantages
video Craig'n'Dave: SLR 09 Advanced programming concepts (video playlist) — The structured approach and its advantages. Extended-response territory on Paper 1.
notes Teach-ICT: Structured programming — The structured approach and its advantages.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P24 · 3.2.11 Data validation routines (length, empty, range)
notes AQA Teaching guide: Data validation and authentication — The three validation checks the spec names (min length, empty, range) with model routines in all three languages.
P25 · 3.2.11 Authentication routines (plain-text username and password)
notes AQA Teaching guide: Data validation and authentication — Plain-text username/password routine as AQA expects it. No encryption required.
P26 · 3.2.11 Testing and correcting errors in algorithms and programs
video Craig'n'Dave: SLR 10 Robust and secure programming (video playlist) — Testing and correcting errors in algorithms and programs.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P27 · 3.2.11 Test data: normal, boundary, erroneous; selecting and justifying
video Craig'n'Dave: SLR 10 Robust and secure programming (video playlist) — Normal, boundary, erroneous test data. Selecting is half the marks; justifying is the other half and must be written out.
notes Teach-ICT: Validation and test data — Test data categories with examples to imitate when justifying choices.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Written justification of test data is the part to practise here.
P28 · 3.2.11 Syntax errors vs logic errors: identify and categorise
video Craig'n'Dave: SLR 10 Robust and secure programming (video playlist) — Syntax errors vs logic errors — identifying and categorising.
practice PMT: Programming (notes, flashcards, questions) — Free, no login. Retrieval layer after teaching.
P29 · 5.0 Design, write, test and refine a program to a brief (extended programming task)
notes AQA Notes and guidance: 8525/1 Marking guidance (coded solutions) — What earns marks on an extended programming task, and what is ignored. Show her the design-marks section: a genuine partial attempt scores.
Q01 · 3.7.1 Databases and relational databases: concepts
notes AQA Teaching guide: Relational databases and SQL — AQA's own guide to the depth expected for 3.7. Start here.
Q02 · 3.7.1 Table, record, field, data type, primary key, foreign key
video Craig'n'Dave: SLR 14 Relational databases and SQL (video playlist) — Table, record, field, data type, primary key, foreign key.
notes Teach-ICT: Databases — Key terminology with worked table examples.
practice PMT: Relational Databases and SQL (notes and questions) — Free, no login. Retrieval layer after teaching.
Q03 · 3.7.1 How relational databases reduce inconsistency and redundancy
video Craig'n'Dave: SLR 14 Relational databases and SQL (video playlist) — How relational databases reduce inconsistency and redundancy — a written answer, not a diagram.
notes Teach-ICT: Databases — Flat-file vs relational, redundancy and inconsistency.
practice PMT: Relational Databases and SQL (notes and questions) — Free, no login. Retrieval layer after teaching.
Q04 · 3.7.2 SQL SELECT … FROM … WHERE … ORDER BY (up to two tables)
notes AQA Teaching guide: Relational databases and SQL — SELECT/FROM/WHERE/ORDER BY as AQA expects them written; two-table queries.
Q05 · 3.7.2 SQL INSERT INTO … VALUES
notes AQA Teaching guide: Relational databases and SQL — INSERT INTO syntax as examined.
Q06 · 3.7.2 SQL UPDATE … SET … WHERE and DELETE FROM … WHERE
notes AQA Teaching guide: Relational databases and SQL — UPDATE and DELETE syntax as examined.
S01 · 3.4.1 Hardware and software: definitions and relationship
video Craig'n'Dave: SLR 05 Hardware and software (video playlist) — Definitions and the relationship between the two.
notes Teach-ICT: Hardware and software — Written back-up.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer. Ignore any Von Neumann or optical-storage questions.
S02 · 3.4.2 Truth tables for NOT, AND, OR, XOR gates
video Craig'n'Dave: SLR 11 Boolean logic (video playlist) — Truth tables for NOT, AND, OR, XOR.
notes Teach-ICT: Logic gates and truth tables — Individual gate truth tables.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S03 · 3.4.2 Truth tables for combined logic circuits (up to three inputs)
video Craig'n'Dave: SLR 11 Boolean logic (video playlist) — Combined circuits up to three inputs — eight rows, written out in full.
notes Teach-ICT: Logic gates and truth tables — Combined circuits with worked truth tables.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S04 · 3.4.2 Create, modify and interpret logic circuit diagrams
video Craig'n'Dave: SLR 11 Boolean logic (video playlist) — Drawing and interpreting circuit diagrams. 'Draw a logic circuit' is a required response mode.
notes Teach-ICT: Logic gates and truth tables — Circuit diagram symbols to copy accurately.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S05 · 3.4.2 Boolean expressions (. + ⊕ overbar); circuit ↔ expression
video Craig'n'Dave: SLR 11 Boolean logic (video playlist) — Boolean expressions using . + XOR and overbar; converting circuit to expression and back.
notes Teach-ICT: Logic gates and truth tables — Boolean expression notation.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S06 · 3.4.3 System software vs application software, with examples
video Craig'n'Dave: SLR 05 Hardware and software (video playlist) — System vs application software, with examples she can name in an exam.
notes Teach-ICT: Types of software — System vs application software.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S07 · 3.4.3 Operating systems and utility programs: need and functions
video Craig'n'Dave: SLR 05 Hardware and software (video playlist) — Operating systems and utility programs: the need for them and their functions.
notes Teach-ICT: Operating systems and utilities — OS functions and utility programs.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S08 · 3.4.4 Low-level vs high-level languages; machine code and assembly
video Craig'n'Dave: SLR 12 Classification of programming languages (video playlist) — Low-level vs high-level; machine code and assembly language.
notes Teach-ICT: Programming languages and translators — Low-level vs high-level, machine code and assembly.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S09 · 3.4.4 Translators: interpreter, compiler, assembler — differences and when to use
video Craig'n'Dave: SLR 12 Classification of programming languages (video playlist) — Interpreter, compiler, assembler — differences and when each is used. Classic compare-and-contrast written answer.
notes Teach-ICT: Programming languages and translators — Interpreter, compiler, assembler compared.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S10 · 3.4.5 CPU components and main memory: ALU, control unit, clock, register, bus
video Craig'n'Dave: SLR 01 Systems architecture (video playlist) — CPU components: ALU, control unit, clock, register, bus. SKIP the Von Neumann video — removed from the spec for 2027.
notes Teach-ICT: The CPU — SKIP the Von Neumann subsection on this page — removed from the spec for 2027. The component list itself is still examinable.
practice PMT: Computer Systems (notes and questions) — Free, no login. Ignore any Von Neumann questions — off-spec from 2027.
S11 · 3.4.5 CPU performance: clock speed, number of cores, cache size
video Craig'n'Dave: SLR 01 Systems architecture (video playlist) — Clock speed, cores and cache size, and their effect on performance.
notes Teach-ICT: CPU performance — Clock speed, cores, cache.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S12 · 3.4.5 The fetch–decode–execute cycle
video Craig'n'Dave: SLR 01 Systems architecture (video playlist) — The fetch-decode-execute cycle. SKIP the Von Neumann video in the same playlist.
notes Teach-ICT: The fetch-execute cycle — Written back-up. Learn the stages in order.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S13 · 3.4.5 Memory types RAM, ROM, cache, register; volatile vs non-volatile; main vs secondary
video Craig'n'Dave: SLR 02 Memory and storage (video playlist) — RAM, ROM, cache, register; volatile vs non-volatile; main vs secondary.
notes Teach-ICT: Memory — RAM, ROM, cache, register and volatility.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S14 · 3.4.5 Secondary storage: why needed; solid state and magnetic — operation, advantages and disadvantages
video Craig'n'Dave: SLR 02 Memory and storage (video playlist) — Solid state and magnetic only. SKIP optical storage — removed from the spec for 2027.
notes Teach-ICT: Secondary storage — SKIP the optical section — removed from the spec for 2027. Solid state and magnetic only.
practice PMT: Computer Systems (notes and questions) — Free, no login. Ignore any optical-storage questions — off-spec from 2027.
S15 · 3.4.5 Cloud storage vs local storage
video Craig'n'Dave: SLR 02 Memory and storage (video playlist) — Cloud vs local storage.
notes Teach-ICT: Secondary storage — Cloud vs local storage.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.
S16 · 3.4.5 Embedded vs non-embedded systems, with examples
video Craig'n'Dave: SLR 01 Systems architecture (video playlist) — Embedded vs non-embedded systems, with examples.
notes Teach-ICT: Embedded systems — Embedded vs non-embedded with examples.
practice PMT: Computer Systems (notes and questions) — Free, no login. Retrieval layer after teaching.

Papers & checks

Exam practice — week 43 · lang, lit, cs — GCSE Computer Science section
2026-10-21 · tier U · 0 blanks
exam-skills #10 8/14 · 0 blank · 6 questions recorded
Exam Skills test #10, typed on the portal, sat 36 min for the whole paper.
8/14
57% · no grade
Exam practice — week 42 · maths, lit, cs — GCSE Computer Science section
2026-10-14 · tier U · 1 blank
exam-skills #9 4/10 · 1 blank · 4 questions recorded
Exam Skills test #9, typed on the portal, sat 30 min for the whole paper.
4/10
40% · no grade
Placement — Computer Science paper 2 (theory) — GCSE Computer Science section
2026-09-28 · tier U · 0 blanks
exam-skills #2 7/53 · 0 blank · 22 questions recorded
Exam Skills test #2, typed on the portal, sat 28 min for the whole paper.
7/53
13% · no grade
Placement — Computer Science paper 1 (Python) — GCSE Computer Science section
2026-09-27 · tier U · 0 blanks
exam-skills #1 19/52 · 0 blank · 22 questions recorded
Exam Skills test #1, typed on the portal, sat 50 min for the whole paper.
19/52
37% · no grade

Sessions, by week

2026-W43 · week of 2026-10-19

2026-10-23 ✓ reviewed unfinished
Friday quiz + fix-code block, 13:04–~13:27, ended early (parent allowed). 1) Finished the running-total trace carried from 19 Oct: inputs 7,3,0, handwritten table x|total|OUTPUT, before-loop row present, total 0→7→10, OUTPUT 10 — correct in 4 min except x written as 0 on the first row; on one question she said the cell should be empty. 2) Why hex: taught the fact as one sentence; she said it back from memory with fact first then so-what (2/2 shape, prompted, same session — not a cold retrieval). 3) Binary→decimal 10110101: chose the right place values (128,32,16,4,1) with adding line, but summed to 175; on the prompt to add again gave 181. 4) Decimal→binary 166: after one step prompt (she echoed instructions first), wrote 'does it fit' working for every column, 10100110 correct. Check line (add the 1s back) not done. Store-vs-print task not reached.
A07 Gap → Gap — 23 Oct: finished 19 Oct trace (7,3,0 running total) on paper, headings and before-loop row present, OUTPUT 10 correct; only slip x=0 on the first row, fixed when asked what x is before input. Headings were given.
D01 Developing → Developing — 23 Oct: why-hex taught as one sentence ('one hex digit stands for four binary digits, so shorter'); said back from memory, fact then so-what. Prompted in the same session, not a cold check.
D02 Developing → Gap — 23 Oct: 10110101 — right place values, adding line written, summed to 175 (correct 181); fixed on a second add. Third adding-line slip (14 Oct, 21 Oct test 32→34, 23 Oct): demoted per three-wobble rule. Dec→bin 166 correct with working.
Next: Open with the 166 check line (add 128+32+4+2 back to 166) — 1 minute. Then the store-vs-print program task (P03 loose end: brief names an output variable to store in, not print). Ask the why-hex answer cold, no sentence shown first. Binary→decimal: one with 5+ ones, adding as a running total (pairs from the top) written out, then add again as the check. Handwritten unscaffolded WHILE loop still owed by 29 Oct.
Unfinished: 166 → binary check line not written (add the 1-columns back to 166). Store-vs-print program task not started. (D02, P03)
2026-10-21 ✓ reviewed
Paper #10 (Wednesday timed sitting, W43), Computer Science section: 8/14 in 11 min against a 16 min guide, 0 blank on the portal but Q12 was 'j'. Q7 1/1 (6 passes). Q8 0/1: 13 for 1+2+3+4+5 — rewrote the loop in Python instead of tracing it, no trace table. Q9 0/2: binary to decimal 179 (place value 34 for 32, and the line sums to 189 anyway); decimal to binary — decomposition 150=128+16+4+2 right, bits written with an extra 8 (10011110). Q10 3/3: three-number binary addition correct in 2 min, the stretch item. Q11 1/2: two consequences for hex, no fact (same as 19 Oct cold). Q12 (Python selection): portal 'j' at 1 min; she reported a glitch and typed the program in the exam-skills chat 11 min after close — marked from that: 3/5, input/int and all boundaries right, prints inside the branches instead of storing in advice, no single output. DAD TO DECIDE whether the chat Q12 stands (portal-only CS: 5/14). Every lost mark is technique: no trace, transcription on binary, fact-then-so-what frame not used, spec word 'store' not read.
A04 Developing → Developing — paper #10 Q7 1/1 and Q8 0/1, loss=technique — FOR bounds read right (6 passes); output of a running-total loop given as 13, no trace
P04 Developing → Developing — paper #10 Q8: 0/1, loss=technique — total+i over 1 TO 5 answered 13; loop rewritten in Python instead of traced; running-total trace from session 117 still owed
D02 Developing → Developing — paper #10 Q9 0/2 and Q10 3/3 — both conversions wrong on execution (34 for 32; extra 8 bit) with the method right; binary addition of three numbers correct
D05 Developing → Developing — paper #10 Q10: 3/3, loss=none — three 8-bit numbers added in columns, correct, 2 min
D01 Developing → Developing — paper #10 Q11: 1/2, loss=technique — 'easier to write, fewer mistakes', no fact; third cold 1/2 (19 Oct cold 1/2, framed 2/2)
P03 Developing → Developing — paper #10 Q12: 3/5 (chat answer after close, portal 'j'), loss=technique — if/elif/else with correct boundaries <5, <=20, else
P14 Developing → Developing — paper #10 Q12: 3/5 (chat answer after close), loss=technique — int(input()) present; messages printed inside each branch instead of stored in advice
P17 Developing → Developing — paper #10 Q12: 3/5 (chat answer after close), loss=technique — 'store in a variable called advice, output once' not followed; no print(advice) after the selection
P02 Secure → Secure — paper #10 Q12: 3/5 (chat answer after close) — variable named temp, indentation right, colon missing on else (ignored)
Next: Trace table as the first move on any 'state the output' question — Q8-shape cold, headings before anything else. Binary: place values along the top before converting, then a column check of the bits against the decomposition. Hex fact line (fewer digits / 4 bits per hex digit) — third cold miss, teach the fact as a sentence and retest. Q12: reread spec for STORE vs PRINT; the running-total trace and the unscaffolded while loop from session 117 are still owed.
2026-10-19 ✓ reviewed unfinished
Ran 13:02-14:13 on Mon 19 Oct (block 7), logged next morning once the tracker was switched on; planned from chat notes, not the tracker, so why-hex was asked cold against session 114's 'not within the week' line. Cold, one per message: overflow sentence 2/2 unaided (16 Oct was 1/2); FOR i <- 1 TO 4 -> 4 passes and range(1, 5) written unasked; why-hex 1/2 cold (consequences only), 2/2 inside a sentence frame. Trace: first reply copied the algorithm out as Python; after rows 1-2 were set out she completed the x*2 while-loop table alone, all right (output 4). Handwritten 'count numbers until 0' built line by line with each step asked for: while x > 0 first, failed on 5,-3,2,0, fixed to != 0; 4/4 on logic, colon missing on while. Traced her own program on 7,3,0 alone: right. Running total: 'i don't know', then count = count + x after one hint; trace of that version not run. About 14 items, 0 blank.
D05 Developing → Developing — 19 Oct cold, first item, typed: extra digit is lost and the stored answer is too small. Name, mechanism and effect in one unaided sentence, 2/2 (16 Oct 1/2). With the 16 Oct handwritten sum, proposed secure for adjudication.
A04 Developing → Developing — 19 Oct cold: FOR i <- 1 TO 4 -> 4 passes, then range(1, 5) written unasked; read as 3 passes on 16 Oct. 1/1 unaided.
D01 Developing → Developing — 19 Oct cold, 2-mark why-hex: 'less chance of mistakes and easier to type' 1/2, no fewer-digits fact; 2/2 inside a sentence frame. 2/2 cold on 16 Oct did not hold three days later. Stays developing.
A07 Gap → Gap — 19 Oct: first reply to a headings-only trace was the algorithm copied out. After rows 1-2 were set out she completed the x*2 table alone, all right (output 4), and later traced her own program on 7,3,0 unaided, right. Stays gap, proposed developing for adjudication.
P05 Developing → Developing — 19 Oct handwritten, built line by line: while x > 0 first, failed on 5,-3,2,0, fixed to != 0; counter and update lines inside, print outside, 4/4 on logic, colon missing on while. Not independent: each line was asked for. Stays developing.
P04 Developing → Developing — 19 Oct: count = count + 1 inside the loop unprompted; with one hint wrote count = count + x for a running total. Trace of the total version not run.
Next: FIRST: trace her running-total program (count = count + x) on 7, 3, 0 on paper, expecting 10, headings x | total | OUTPUT. Before it, 5 min cold, one per message: 2-mark why-hex with 'fact, then so-what' under it (19 Oct 1/2 cold, 2/2 in a frame); FOR i <- 1 TO 5 passes then last i. Then the handwritten while loop from a ONE-LINE brief, no line-by-line scaffold and no 'inside the loop' hints, photo time agreed, due by 29 Oct. Overflow sentence done (2/2 cold 19 Oct): do not re-ask this week.
Unfinished: Trace of the running-total version (7,3,0 -> 10) not run. Handwritten while loop from a one-line brief with no scaffold still owed (due by 29 Oct); 19 Oct's was guided line by line. (P05, P04, A07)

2026-W42 · week of 2026-10-12

2026-10-16 ✓ reviewed unfinished · closed
The three items owed since early October all ran: binary addition by hand right (10110111 + 01101101 -> 00100100, carries marked, photo 13:16 for 13:19 agreed); binary-to-decimal with nothing said about working -> '64 + 32 + 4 + 1 = 101', adding line unasked; a trace table drawn from three headings alone for the first time (photo 13:36, no grid asked for), values wrong unaided (no before-loop row, total column held i, 3 passes, OUTPUT 3) and right (10) after three questions, one of which exposed FOR 1 TO 4 read as three passes. Cold: why-hex no cue 2/2 for the first time ('one hex digit stands for four binary bits... far fewer digits... harder to make mestakes'); IF score > 50 THEN -> 'if score > 50:'. Overflow: open -> 'an error and it won't compute'; two-part question -> 'wrong' only; split -> 'it gets lost'; own sentence 'called overflow... extra diget and the diget gets lost' 1/2. Ran 13:06-13:44 against block 33; 'log it' at 13:43. 12 items set, 12 attempted, 0 blank: 7 right first time, 1 partial, 3 wrong at first ask, 1 right after one question. Not run: handwritten while-with-break (due 29 Oct). Session 108 resolved. Topic updates and the review follow in separate calls: the single call returned Bad Gateway three times.
Next: FIRST, 1 min: the overflow sentence again cold - what overflow is AND what it does to the stored answer, 2 marks (16 Oct: 1/2). Then 5 min cold, one per message: FOR i <- 1 TO 5 - 'how many passes', then 'last value of i' as two messages (16 Oct: said 3 for 1 TO 4); hex storage yes/no (not asked 16 Oct). Then a second trace table from three headings only, on paper, on a running-total loop 1 TO 3 she has not seen - watch for the before-the-loop row and whether total holds the running total or i. Then the handwritten 4-line while-with-break from a one-line brief, no checklist, photo time agreed, due by 29 Oct: if and break indented inside, speech marks round the compared word, colons. Do not re-ask why-hex open within the week (2/2 cold 16 Oct).
Unfinished: Overflow sentence at 1/2: name and lost digit in her sentence; 'the stored answer is wrong' said when asked but not added when invited (16 Oct). Handwritten while-with-break not run (due by 29 Oct). (D05, P05) — closed 2026-10-20 by session 117: completed in session 117
2026-10-15 ✓ reviewed unfinished · closed
The owed trace table and the 'first two lines on paper' item were both run; while True was explained right cold for a second day and the storage idea stayed absent, but the handwritten loop lost break and its indentation, and the hex short route failed first time. Ran 09:20-10:19 against block 22; she said 'log it' at 10:19 once told the block was over. Cold, one per message: while True -> 'keep repeating until there is a break, if not forever', right (2nd day); 2-mark why-hex no cue -> 'easier to type, less mistakes', 1/2, no fact, no storage; frame -> 'less space on the page', model shown; three pseudo-code lines, no table -> price = int(input()) / total = price*3 / print(total), 3/3. Paper, 'first two lines only', set 09:38, photo 09:44: counter = 0 and While true present, then the whole program unasked. Found by questioning: no break (added after 'which line stops the loop'); if and break at the left margin, 'inside' claimed, 'how can you tell' unanswered, fix stated by the tutor; quotes round stop missing (3rd time), colons missing on while and if. Trace of the same algorithm (cat, dog, stop): first row typed by her, then 'please explane what you are asking me'; grid with row labels given; photo 10:03 with every value right, OUTPUT on the pass-3 row. 11010110 -> 128+64+16+4+2 = 214 with 'add it twice' asked. Hex short route shown once; 2F -> '15*12 = 180, +2 = 182', wrong; 47 shown. 9 items set, 9 attempted, 0 blank. Not run: binary addition with the overflow sentence; binary-to-decimal with working unasked. Sessions 73, 79, 92, 102 resolved: their distinct items are done; the two binary items carry forward in this session's unfinished. No status changes.
P05 Developing → Developing — 15 Oct, cold, open, first item: 'it will keep repiting untill there is a break if not it will go on forever' - right on a 2nd day (13, 15 Oct). Paper, no checklist, 'first two lines' asked: counter = 0 and While true in ~5 min, then whole program unasked: break omitted (added after 'which line stops the loop'), if and break at the left margin (fix stated by tutor), quotes round stop missing (3rd time), colons missing on while and if. Stays developing.
A04 Developing → Developing — 15 Oct, cold, no table on screen, 2 days on: price <- USERINPUT / total <- price * 3 / OUTPUT total -> price = int(input()) / total = price*3 / print(total), 3/3 unaided, typed. Also read the REPEAT...UNTIL-with-input algorithm and translated it on paper (logic errors were Python, not reading). Second session right; IF/WHILE/FOR in pseudo-code still unread.
P17 Developing → Developing — 15 Oct, cold, no reminder: int(input()) on the price line of the pseudo-code translation, 2 days after 13 Oct. 2/2 across two days unprompted. str() and real conversion still untouched.
D02 Developing → Developing — 15 Oct, typed, 'add it up twice' asked: 11010110 = 128+64+16+4+2 = 214, right - the same five values summed as 204 on paper #9 the day before. Working line was asked for, so the 'unasked' check is still owed.
D01 Gap → Gap — 15 Oct, cold, no cue, 2nd item; bar: 2-mark points-marked explain. 'easer to type and they make less mistakes': 1/2 (consequences, no fewer-digits fact). No storage idea for a 2nd cold day (13, 15 Oct). Frame 'Hex uses ___ than binary' -> 'less space on the page' at once; model sentence shown. Below the bar cold: stays gap.
A07 Gap → Gap — 15 Oct, REPEAT...UNTIL trace with input (cat, dog, stop) on paper. Three headings given; first row typed by her unaided (counter 0). Then 'please explane what you are asking me': grid with row labels (before / pass 1-3 / after) given; table on paper 10:03 with every value right - 0, cat 1, dog 2, stop 3, OUTPUT 3; OUTPUT written on the pass-3 row not the after row. Confirmed with a scaffold; no table from headings alone yet: stays gap.
D03 Developing → Developing — 15 Oct: hex->decimal short route shown once (E6 = 14x16+6 = 230) after she used the binary route on paper #9. 2F unaided: 'f = 15, 15*12 = 180, 180+2 = 182' - right digit multiplied, and by 12 not 16; 47 shown with the binary check 0010 1111. Binary route not tested today. Stays developing.
Next: FIRST, owed since 2 Oct and never run: one binary addition by hand on paper (two 8-bit numbers with 3+ carries), photographed, plus one sentence in her words on what overflow is. Then one binary-to-decimal typed with NOTHING said about working — does the adding line appear. Before those, 5 min cold, one per message: the 2-mark why-hex with no cue (15 Oct: 1/2, consequences without the 'fewer digits' fact); one pseudo-code IF...THEN line read cold (IF, WHILE, FOR unread so far). Then a trace table from three headings ONLY — no grid, no row labels — on a short count loop she has not seen; if she asks what to do, answer 'one row per pass' and nothing more. Hand code: the next handwritten program (due by 29 Oct) must show the if and break indented inside the loop and speech marks round the compared word with no checklist — set a 4-line while-with-break from a one-line brief. Hex short route is optional: if used again, say 'left digit x 16' once; the binary route stands.
Unfinished: Binary addition by hand with the overflow sentence (owed since 2 Oct, not run 15 Oct). Binary-to-decimal with working unasked (15 Oct: asked for). Trace table from headings alone with no grid or row labels (15 Oct: grid given after 'please explane'). (D05, D02, A07) — closed 2026-10-16 by session 114: completed in session 114
2026-10-14 ✓ reviewed
Paper #9 CS section: 4/10 over 4 questions, 8 min against a 10-min guide. Q14 hex and binary 3/3 (E6→230 via the bit pattern then place values, working written; 01011101→5D), 5 min. Q13 print(10/4) 1/1: 2.5, not integer division. Q12 binary to decimal 0/1: the five correct place values picked and the adding line written (128+64+16+4+2) but summed as 204, not 214 — the 'show the working' habit appeared unprompted, the arithmetic did not hold. Q15 Python from REPEAT…UNTIL pseudo-code (5 marks): typed 'skip', 0 min, with 15 min unused — a day after Code Lab 'Translate the pseudo-code' was completed. 1 not attempted, 5 marks.
D02 Developing → Developing — paper #9 Q12: 0/1, loss=technique — correct place values chosen and the adding line written unprompted (128+64+16+4+2), summed as 204 not 214; Q14 part 2 binary→hex 5D right
P08 Secure → Secure — paper #9 Q13: 1/1, loss=none — print(10/4) gives 2.5, in 2 min
D03 Developing → Developing — paper #9 Q14: 3/3, loss=none — E6→230 with working via 1110 0110, 01011101→5D; 5 min on a 3-min guide
P05 Developing → Developing — paper #9 Q15: 0/5, loss=not_attempted — 'skip' typed on the Python-from-pseudo-code loop with 15 min unused, the day after Code Lab Translate the pseudo-code was done
P02 Secure → Secure — paper #9 Q15: 0/5, loss=not_attempted — no counter line, no input line written
P14 Developing → Developing — paper #9 Q15: 0/5, loss=not_attempted — no Python written
Next: Thursday's CS block opens as set 13 Oct (5 min cold: while True sentence, 2-mark why-hex, three pseudo-code lines; then the REPEAT…UNTIL trace table on paper, owed since 6 Oct). Add from paper #9, before the trace table: on paper, the first two lines only of a Python translation of a REPEAT…UNTIL-with-input algorithm (counter = 0, while True:) in two minutes, no checklist — the first line she would not type under the clock. Binary-to-decimal: the adding line now comes unasked (Q12), so the owed item changes to 'add it twice' — one conversion where she re-adds before writing the answer. Hex→decimal: she goes via binary and gets it right; show 14×16+6 once as the shorter route, not a re-teach.
2026-10-13 ✓ reviewed unfinished · closed
Code Lab 'Translate the pseudo-code', owed since 5 Oct, was passed on run 1 once reading the exam's pseudo-code had been taught; while True was explained correctly cold for the first time. Ran 14:22-15:00 against block 17; she said 'log it' at 15:00 once told the block was over. Cold, one per message: which line can stop the loop -> 3; open sentence on while True -> repeats forever, right (wrong cold 6 and 9 Oct); break -> stops the loop; 2-mark why-hex, no cue -> 1/2, no storage idea; frame -> right. Code Lab plan line asked for at 14:31: the gate failed - a task was set before the teaching. The task is in AQA pseudo-code (A04, not started); three replies in 11 minutes missed. A planning fault, not evidence against her. Arrow, USERINPUT, OUTPUT then taught from a table: teach 2/2, confirm 2/2; Code Lab on her own passed run 1 (practice run 85; code matches the app's stored model); fresh 2-mark typed item 2/2. 14 items set, 14 attempted, 0 blank: 10 right first time, 1 partial, 3 off-target, all before the teaching. Not run: paper trace from headings, binary-to-decimal with working unasked, binary addition with the overflow sentence. Nothing handwritten. Sessions 73, 79, 92 stay open: Code Lab done, trace and binary items not. Topic evidence and the lesson review follow in separate calls because the single call returned Bad Gateway twice.
Next: FIRST, not reached on 6, 9 or 13 Oct: one trace table on paper for a loop that keeps asking until a stop value is typed (REPEAT...UNTIL with input) - three headings only, first row typed before the photo, photo time agreed. Before it, 5 min cold by the clock, one per message: one sentence on what while True does (right cold 13 Oct for the first time; needs a second day); the 2-mark why-hex, no cue (13 Oct: 1/2, so-what without the fewer-digits fact); three lines of pseudo-code read with no table on screen (USERINPUT, OUTPUT, arrow: taught 13 Oct, same session only). Code Lab 'Translate the pseudo-code' is DONE (run 1, 13 Oct): do not re-set. Still not run: binary-to-decimal with 'show the working' not said; binary addition by hand with the overflow sentence. Nothing handwritten since 9 Oct: next handwritten program due by 23 Oct. Check every ingredient of a task in the tracker before setting it.
Unfinished: Not run: REPEAT...UNTIL trace table on paper from three headings only, first row hers (owed since 6 Oct); binary-to-decimal with working unasked; binary addition by hand with the overflow sentence. Code Lab 'Translate the pseudo-code' is now done (run 1, 13 Oct). (A07, D02, D05) — closed 2026-10-15 by session 108: completed in session 108

2026-W41 · week of 2026-10-05

2026-10-09 ✓ reviewed unfinished · closed
While True was explained as a stopping condition again cold and retaught with a two-fact table; the end-check loop was then handwritten unaided with no checklist for 4/4 on logic. Ran 13:06-13:44 against block 33 (consolidation, no new content); she said 'log it' at 13:44 once told the block was over. The cold check planned at 5 minutes ran 13:08-13:33 as a reteach. Cold say-back on while True: a wait until the lines below are false, wrong. Which line checks the password: 3. Lines 3-4 deleted, how many asks: 1 (it is forever; right on 6 Oct). After 'while asks a yes/no question each time round': can anything stop it, no; how many, forever; the way out, break. Open say-back again: the loop right, the stop-when-false half wrong. cat goes round, open stops, both right; asked to rewrite, the sentence came back the wrong way round. Table of line 1's fact against line 3's, then a two-gap frame: right first time. Two missing lines in a skeleton: logic right, colon missing. Handwritten 4-mark program, no checklist, no plan line asked for: set 13:38, agreed 13:44, photo 13:41, 4/4 on logic; colon missing on the if line, speech marks missing round quit (present on Bye), round brackets right. 14 items set, 14 attempted, 0 blank: 10 right first time (2 inside a frame or skeleton), 1 partial, 3 wrong at first ask. Not run: Code Lab 'Translate the pseudo-code', the trace from headings only, the cold why-hex (named in the opening plan, never asked), binary-to-decimal with working unasked, binary addition with the overflow sentence. Sessions 73 and 79 stay open: their handwritten loop is done, their Code Lab task is not. No status changes. Logged in parts because the full call returned Bad Gateway: the P05 evidence is a standalone update, the review is a shortened one, and the consolidates entry and P05 retrieval outcome (incorrect) could not be attached.
Next: FIRST, unfinished since 5 Oct: Code Lab 'Translate the pseudo-code' on her own - plan line as its own message and waited for, 3 runs at most. The handwritten loop is done (9 Oct, 4/4 on logic, no checklist). Before it, 5 min cold by the clock, one per message: 'which line can stop this loop, line 1 or line 3?', then one sentence on what while True does (wrong cold 6 and 9 Oct; right only in a two-gap frame). If the sentence is wrong, show the two-fact table once (line 1's fact is always true; line 3's decides) and move on - do not re-ask it open. Then the 2-mark why-hex, no cue. After Code Lab: one REPEAT...UNTIL trace with input, on paper, three headings only, first row typed before the photo. Still not run: binary-to-decimal with 'show the working' not said; binary addition by hand with the overflow sentence. Watch her next code for speech marks round the compared word and the colon on the if line.
Unfinished: Handwritten loop now done (4/4, 9 Oct). Still not run: Code Lab 'Translate the pseudo-code' (cap 3 runs, plan line first); trace table from headings only, first row hers; cold 2-mark why-hex; binary-to-decimal (working unasked); binary addition with overflow sentence. (P05, A07, D01, D02, D05) — closed 2026-10-15 by session 108: completed in session 108
2026-10-06 ✓ reviewed unfinished · closed
While True was read as a check of the password and repaired with narrow questions; a REPEAT...UNTIL trace table was completed once its layout was shown; the unaided loop step was not reached. Ran 14:13-15:00 against block 17 (14:00-15:00); she asked to log at 15:00 with the block over. Cold starter 14:17-14:27, two of four items: 2-mark why-hex with no cue -> 'easier to send to others' 0/2; with 'fact, then so-what' -> harder to make mistakes plus an unasked statement that binary and hex take the same space, 1/2; one-blank frame -> fewer digits, so harder to make mistakes, 2/2 with the frame; no storage idea. B7 to decimal by hand in pen (set 14:24, agreed 14:29, photo 14:27): 1011, 0111, 10110111 = 128 + 32 + 16 + 4 + 2 + 1 = 183, right with no prompt. Recap 14:27-14:41 (2 minutes planned): say-back on while True wrong, A/B wrong (chose 'checks the password'); which line compares -> 3; lines 3-4 deleted -> forever; say-back then right. Trace on paper (n doubles until n > 10, count), set 14:41 as an independent task before trace-table layout had been taught - a planning fault, not evidence against her: first photo a sentence giving 3 passes (it is 4), then a self-corrected four with her own reason, no table. Headings and first two rows then given: rows 4/2, 8/3, 16/4 and OUTPUT 4 all correct (photo 14:55). 1-mark 'why stop at 16 not 8': open answer off-target; 8 > 10 -> false; sentence then right. 14 items set, 14 attempted, 0 blank: 8 right first time, 1 partial, 5 wrong at first ask. Not run: Code Lab 'Translate the pseudo-code', the handwritten loop with no checklist (no handwritten code since 25 Sep; due by 9 Oct), binary-to-decimal with working unasked, binary addition with the overflow sentence. Session 73's unfinished items remain open. No status changes.
P05 Developing → Developing — 6 Oct, recap of the end-check loop, 1 day on. Say-back on while True wrong ('if the fact is correct, it should continue with this'); A/B (checks the password / checks nothing) -> A, wrong. Then which line compares -> line 3; lines 3-4 deleted, how many times -> forever; say-back -> 'It means it will loop forever'. 3/3 after narrowing. Unaided step (Code Lab 'Translate the pseudo-code', handwritten loop) not run for a second session. Status unchanged.
A07 Gap → Gap — 6 Oct, REPEAT...UNTIL trace on paper (n doubles until n > 10, with count). Opened - layout taught, one guided item; apply not run. Set first as an independent task before the layout was taught (planning fault): two replies gave a count (3, then four with her own reason) and no table. After headings and two rows were given: rows 4/2, 8/3, 16/4 and OUTPUT 4 correct, stopped on the right pass. 'Why 16 not 8' 0/1 open, right after a true/false. No unaided table: stays gap.
D03 Developing → Developing — 6 Oct, 1 day on, by hand in pen, photographed (set 14:24, agreed 14:29, photo 14:27): B7 -> B = 11 = 1011, 7 = 0111, 10110111 = 128 + 32 + 16 + 4 + 2 + 1 = 183. 1/1 unaided with no check prompt; a crossing-out sits before 0111. One item, not the set the secure bar asks for; stays developing.
D01 Gap → Gap — 6 Oct, cold, first item, no cue; bar: 2-mark points-marked explain. 'because it is easery to send to others' 0/2. With 'fact, then so-what': harder to make mistakes, plus 'both binary and hexadecimal take up the same amount of space', 1/2 (consequence, no fact). One-blank frame: 'hex uses less digits than binary, so it is harder to make mistakes', 2/2 inside the frame. No storage idea. Below the bar cold: stays gap.
Next: FIRST, still unfinished from 5 Oct: the unaided step for the loop that checks at the end - Code Lab 'Translate the pseudo-code', plan line first and waited for, capped at 3 runs; then one handwritten loop, 4 marks, no checklist, photo time agreed when set (handwritten program due by 9 Oct). Before it, five minutes cold by the clock, one per message: what does while True do, in one sentence (6 Oct: read as a check of the password on the open form and the A/B; right after 'which line compares' and 'delete lines 3-4'); the 2-mark why-hex with no cue (6 Oct: 0/2 cold, 2/2 in a frame). Then one REPEAT...UNTIL trace that takes input, on paper: give the three headings and nothing else, ask for the first row typed before the photo (6 Oct: no table until two rows were shown, then all correct). Do not set a trace as an independent task yet. Still not run: one binary-to-decimal with 'show the working' not said; one binary addition by hand with the overflow sentence.
Unfinished: Still not run from 5 Oct: Code Lab 'Translate the pseudo-code' (cap 3 runs) and one handwritten loop with no checklist. New: a trace table drawn from headings only, pre-loop row hers. Also not run: binary-to-decimal (working unasked); binary addition with overflow sentence. (P05, A07, D02, D05) — closed 2026-10-15 by session 108: completed in session 108
2026-10-05 ✓ reviewed unfinished · closed
Hex loose ends from 2 Oct closed with one slip self-corrected and the why-hex answer at 1 of 2 cold; the loop that checks at the end was taught and confirmed 2/2, and she asked to log at 14:05 with the block over and its unaided step not run. Ran 13:01-14:06 against block 7 (13:00-14:00), break 13:29-13:32. Session 68's unfinished items first: which is 12 -> 1100 unaided; 9C to decimal by hand in pen, photo time agreed (set 13:09, photo 13:14): 9 written as 1010, C as 1100, 10101100 = 172, wrong; asked only to add up the bits for 9, she crossed out and rewrote: 1001, 10011100 = 128 + 16 + 8 + 4 = 156 (photo 13:18). Cold, no teaching first: does hex use less memory -> no; why -> computers work only in binary and hex is for people (own words). 2-mark why-hex with the cue 'fact, then so-what' and no narrowing: a consequence (fewer mistakes) but no fact, plus a clause about storing, 1/2; one-blank frame -> fewer digits; joined 2/2 sentence shown; not re-set. Hex ended 13:29, 28 min against 10 planned. End-check loop (REPEAT...UNTIL; while True with break) from a password example: passes for cat, open -> 3 (it is 2), then true/false and stop-or-repeat both right; line 2 typed right first time; say-back on break gave the result only; cat case right. Confirm 2/2: count loop given hi, stop -> 2; two missing lines -> if guess == 7 / break, colon missing. 14 items set, 14 attempted, 0 blank: 10 right first time, 1 right after a check prompt (9C), 2 partial, 1 wrong. Not run: Code Lab 'Translate the pseudo-code', the handwritten loop with no checklist, a trace table by her, binary-to-decimal with working unasked, binary addition with the overflow sentence. No handwritten code (last: 25 Sep). No status changes.
D03 Developing → Developing — 5 Oct, by hand in pen, photographed at the agreed time (set 13:09, photo 13:14). Self-check first: which is 12, 1100 or 1010 -> 1100, unaided. 9C to decimal: wrote 9 = 1010, C = 12 = 1100, 10101100 = 128 + 32 + 8 + 4 = 172, wrong (156). Asked only to add up the bits written for 9: second photo 13:18 shows 1010 crossed out, 1001, 10011100 = 128 + 16 + 8 + 4 = 156. 1/2 unaided, 2/2 after one check prompt. Bar: points-marked, secure about 80% unaided; stays developing.
D01 Gap → Gap — 5 Oct, cold, no notes, before any teaching; bar: 2-mark points-marked explain. 'Does hex make the computer use less memory' -> no. Why -> computers only work in binary, hex is easier for people (own sentence). 2-mark why-hex with only the cue 'fact, then so-what': fewer mistakes plus 'easier for them to store' = 1/2 (consequence; no fewer-digits fact; 'store' not credited). Frame 'hex uses ___ than binary' -> 'less digets'. Joined 2/2 sentence shown by the tutor. Not moved: proposed developing.
P05 Developing → Developing — 5 Oct, condition-at-end form: opened - taught, confirmed; apply not run (block ended). Teach: passes for cat, open in REPEAT...UNTIL -> 3 (it is 2); then check after second input -> True; go round or stop -> prints Welcome; line 2 -> password = input() first time; cat case -> line 2 runs again; say-back on break gave the outcome only. Confirm 2/2: count loop given hi, stop -> 2; two missing lines -> if guess == 7 / break (colon missing, logic right). No unaided item yet: status unchanged.
Next: FIRST, unfinished from 5 Oct: the unaided step for the loop that checks at the end. Two-minute recap from the password loop (while True / input / if ... break) with a say-back on while True; one REPEAT...UNTIL trace table by hand with the pre-loop row; then Code Lab 'Translate the pseudo-code', plan line first and waited for, capped at 3 runs; then one handwritten loop, 4 marks, no checklist, photo time agreed when set (fortnightly handwritten program due by 9 Oct). Before it, a cold starter held to ten minutes by the clock, one per message: the 2-mark 'why do programmers use hex' with NO cue (2/2 = fewer digits plus a consequence for people in one sentence, without 'store'); B7 to decimal by hand (183) - are each digit's bits added back up unasked; one binary-to-decimal with 'show the working' NOT said; one binary addition by hand with the overflow sentence. Do not re-teach the loop: confirm was 2/2.
Unfinished: Loop that checks at the end (while True / break): taught and confirmed 2/2, unaided step not run - Code Lab 'Translate the pseudo-code' (cap 3 runs) and one handwritten loop with no checklist. Also not run: binary-to-decimal (working unasked); binary addition with overflow sentence. (P05, D02, D05) — closed 2026-10-15 by session 108: completed in session 108

2026-W40 · week of 2026-09-28

2026-10-02 ✓ reviewed unfinished · closed
Yesterday's two unfinished hex items were both run: the why-hex answer reached 1 of 2 at best and the handwritten conversion set scored 3 of 4 with full working, photographed; she stopped with one self-check question set and unanswered. Ran 13:05-14:46, starting ahead of block 33 (13:45-14:15; work counted against it), movement break 13:36-13:48; the paper set was given at 14:05 and its photo arrived at 14:41. Why hex (typed): the single-blank frame came back restating the point (fewer symbols) with no consequence; the either/or 'more or fewer mistakes' was answered correctly; the open 2-mark question then drew the storage idea again (hex said to make files smaller), 0/2; after a 12/twelve analogy, 'does AC use less memory' -> yes. After the break a switches picture was built with her: can a switch be A -> no; 2 or 8 switches -> 8; the same yes/no -> her own sentence that hex takes the same space; 'still stored as binary' completed; confirm 2/2. Open 2-mark again: about people but only 'easier to send messages', 0/2; asked to join her own two ideas: 'easier to write down' plus 'smaller messages', 1/2; model answer shown. Paper set, no route displayed: 11010110 -> D6 (1101 = 13, 0110 = 6, 13 = D); 5E -> 01011110; 200 -> C8 via a does-it-fit grid with both subtractions, 1100 = 12 = C, written joined; 9C -> 154, wrong (156): C = 12 written as 1010, then 10011010 added correctly with plus signs. First photo unreadable (pencil, window behind); second legible. 14 items attempted, 0 blank, 1 set and not answered. Not run: the three no-notes starter items; the end-check loop, held for the next coding block. No status changes.
D01 Gap → Gap — 2 Oct, why hex is used; bar: 2-mark points-marked explain. Frame 'so people ___' restated the point, no consequence; either/or (more or fewer mistakes) right. Open 2-mark cold: storage idea again, 0/2; 'does AC use less memory' -> yes after an analogy. Switches picture built: no / 8 / own sentence that hex takes the same space / 'still stored as binary', confirm 2/2. Open 2-mark again 0/2; guided join 1/2 ('easier to write down'). Below the bar: stays gap.
D03 Developing → Developing — 2 Oct, later session, by hand on paper, photographed, working shown, no route displayed; bar: points-marked, secure about 80% unaided. 11010110 -> D6; 5E -> 01011110; 200 -> C8 via binary with a does-it-fit grid, written joined; 9C -> 154, wrong (156): wrote C = 12 = 1010 although 1100 = 12 = C is right in the 200 item. 3/4 unaided = 75%, under the secure bar; hex to decimal is the direction that failed. Stays developing.
D02 Developing → Developing — 2 Oct, inside the handwritten hex set, photographed: 200 -> 11001000 with a does-it-fit grid and both subtractions written (200 - 128 = 72, 72 - 64 = 8); 10011010 -> 154 by column addition 128 + 16 + 8 + 2 with the carry shown, correct for the pattern written. 2/2 unaided, 3 days after teaching; working had been asked for. Not moved: proposed secure for adjudication - two embedded items, no standalone retest.
Next: FIRST: the self-check from Friday's paper - she wrote 1100 = 12 = C in one question and C = 12 = 1010 in another: which is 12? Then 9C to decimal again by hand (same question). Then cold, no notes, one per message: does writing a number in hex make the computer use less memory, yes or no; then why; then the full 2-mark 'why do programmers use hex' with only the cue 'fact, then so-what' - 2/2 needs fewer digits plus a consequence for people. One binary-to-decimal with 'show the working' NOT said; one binary addition by hand with the overflow sentence. THEN the whole of the next coding block on the loop that checks at the end (while True with break; REPEAT...UNTIL in the exam's pseudo-code): worked example line by line with say-backs, one trace and one production item, Code Lab 'Translate the pseudo-code' capped at 3 runs, then a handwritten while loop with no checklist. Owed since 25 Sep. Paper tasks: ask for pen, sheet flat on the table, and agree the photo time when the task is set.
Unfinished: 9C to decimal by hand came out 154: self-check set (1100 = 12 = C in one answer, C = 12 = 1010 in another - which is 12?) and not answered at the stop. Full 2-mark why-hex answer 1/2 at best, model shown. Three no-notes starter items not run. (D03, D01) — closed 2026-10-05 by session 73: completed in session 73
2026-10-01 ✓ reviewed unfinished · closed
Hexadecimal taken from Tuesday's two unanswered questions to conversions right in all four directions; the why-hex sentence reached 1 of 2 and she stopped ('times up') before the paper exit set. Ran ~09:24–10:40 against block 22 (ends 10:20), one movement break of unknown length. Session 58's unfinished hex came first, so the week's planned end-check loop was not reached. Starter, no notes, 4 set / 4 attempted / 4 unaided / 0 blank: 10110010 → 178 (total only, no working line); 90 → 01011010 with columns once asked; 01101110 + 00110111 → 10100101, six carries named, checked as 165 unprompted; 'until the total is over 100' → while total < 101: with the colon. Hex opener finished: D → 13, 1011 → 11. Binary↔hex taught: 11 → B, 0100 → 4; two say-backs in her own words (split in the middle; add each side and write its hex symbol); guided 01111010 → 7A; alone 11001111 → CF with both sums (wrote C = 10 in the working, fixed to A when asked); A6 → 1010 0110 alone. Decimal↔hex via binary, route displayed: 172 → 10101100 with the sum, then A and C (not joined as AC); 2F → 47 via 00101111 (minus signs typed for plus). Why hex is used: the open question drew the storage misconception; narrowed questions 3/3 (4 bits; 8 and 2 digits; the 8-digit one has more chances to slip); the 2-mark sentence gave the point and corrected the storage idea but no consequence, 1/2; the follow-up frame was set and not answered. 24 items attempted, 0 blank, 21 right first time. D03 notstarted → developing. Nothing handwritten photographed.
D03 Not started → Developing — taught / confirmed / applied, 1 Oct. Teach 4/4 (D → 13, 1011 → 11, 11 → B, 0100 → 4). Confirm: two say-backs in own words (split down the middle; add each side, write the hex equivalent), guided 01111010 → 7A. Apply unaided: 11001111 → CF with both sums; A6 → 1010 0110; 2F → 47 via 00101111; 172 → 10101100 → A and C in two set steps. 4/4 values right, typed. notstarted → developing, one level.
D01 Gap → Gap — 1 Oct, why hex is used. Open question drew the storage misconception (easier to store, can store more), corrected. Narrowed: one hex digit replaces 4 bits; 8 and 2 digits to copy; the 8-digit one gives more chances to slip, 3/3. 2-mark sentence frame: 'uses less space on paper' plus 'the pc can only store binary': point present, consequence absent, 1/2. Follow-up 'so people ___' set, not answered at the stop. Below the bar: stays gap.
D02 Developing → Developing — 1 Oct starter, no notes, 2 days on: 10110010 → 178 correct, total only with no adding-up line; 90 → 64, 16, 8 & 2, 01011010 correct with columns once asked. Also 172 → 10101100 = 128 + 32 + 8 + 4 inside the hex work. 3/3 unaided, typed. Not moved: the secure retest is owed by hand with working shown, and the working line did not appear unrequested.
D05 Developing → Developing — 1 Oct starter, no notes: 01101110 + 00110111 → 10100101, six carries named by column (2, 4, 8, 16, 32, 64), checked as 165 in decimal unprompted. 1/1 unaided, typed; asked to work on paper, no photo seen. Overflow sentence not asked.
P05 Developing → Developing — 1 Oct starter, no notes: 'keep going until the total is over 100' → while total < 101: — boundary right and the colon present (missing 25 and 29 Sep). 1/1 unaided, typed. Condition-at-end form still untaught: the block went to finishing hex.
Next: FIRST: finish the why-hex sentence — same frame: 'hex uses fewer digits, so people ______' — then the full 2-mark answer with no frame. Then the hex set by hand on paper, photographed, working shown, no route displayed: 11010110 to hex; 5E to binary; 200 to hex; 9C to decimal. Starter, no notes: one binary-to-decimal (does the adding-up line appear unasked?), 'does hex save memory, yes or no, and why', one binary addition by hand with the overflow sentence. THEN the loop that checks at the end (while True with break; REPEAT…UNTIL in the exam's pseudo-code): worked example line by line with say-backs, one trace and one production item, Code Lab 'Translate the pseudo-code' capped at 3 runs, then a handwritten while loop with no checklist. That loop has been owed since 25 Sep; give it the next coding block whole once hex is closed.
Unfinished: Why-hex sentence: follow-up frame 'it uses fewer digits, so people ___' set and not answered (first try 1/2: point, no consequence). Paper exit set for hex (all four directions, by hand, photographed) not run. (D01, D03) — closed 2026-10-02 by session 68: completed in session 68
2026-09-29 ✓ reviewed unfinished · closed
Binary opened from zero and taken through both conversions and binary addition, every conversion right unaided; stopped at her "times up" with hexadecimal just opened. Ran ~11:22–12:20, ahead of block 7 (work counted against it). Starter, no notes, 3 set / 3 attempted / 3 unaided / 0 blank: "4"+"5" with/without int() → "45 and 9"; while line for 'until 20 or more' → "while guess < 20" (logic right, colon missing, named to her); spot-the-error → missing colon on line 2 and capital Print on line 3, both found. D02 taught: place-value row written; open "why double?" say-back off-target ("you can show more numbers"), corrected (two symbols per box). Binary→decimal: 00101101 → 45 with the tutor, 10010110 → "2, 4, 16 & 128 or 150" alone with columns listed. Decimal→binary: 77 built column by column with prompts (0 / "01 and 13" / then 01001101 alone), 45 → 00101101 alone (the placement item she could not do on 28 Sep), 11111111 → 255 alone. Exit ticket typed (she declined paper: "i can't write them by hand sorry"): 11100010 → 226 ✓, 201 → 11001001 ✓, explain-why-255 left out of the first reply, then attempted after "one thing at a time" prompt: "the largest number in them is 128. When they're all one, we add them all together" — about 1/2, second half present, doubling row and the sum absent. D05 taught: four rules copied; carry say-back in own words ("they would make the next number... put zero and then put a one on the one to the left"); 45+22 → 01000011 alone in one reply without carries shown; 103+93 → 11000100 with all seven carries named alone; overflow identified as "one of the numbers is the max number we can put", term supplied. D03: sixteen symbols and one-hex-digit-equals-four-bits stated; first check (D in decimal, 1011 in decimal) set and not answered — stopped. 0 blank of 12 items after prompting; 1 item initially skipped. No handwritten code or working photographed. Condition-at-end loop (session 48 plan) not reached: the block was set for binary.
D02 Not started → Developing — 29 Sep: taught from zero on paper (place-value row, 'does it fit' method). Binary→decimal 10010110 → 150 alone; decimal→binary 45 → 00101101 alone (the placement item), 11111111 → 255; typed exit ticket 11100010 → 226 and 201 → 11001001, 2/2 unaided. 5 conversions unaided, 0 wrong. notstarted → developing, single level. Secure needs a later-session retest by hand with working shown.
D05 Not started → Not started — 29 Sep: four addition rules taught; carry explained in her own words; 45+22 → 01000011 alone (no carry row shown), 103+93 → 11000100 with all seven carries named alone, 2/2. Overflow: named the idea ('the max number we can put'), term supplied by the tutor. Proposed developing; not moved — two items only, no independent exit item and overflow not yet produced by her.
D03 Not started → Not started — 29 Sep: opened only — 16 symbols and 'one hex digit = four bits' stated; first check (D → 10, 1011 → 11) set and not answered, session stopped. Untaught.
D01 Not started → Not started — 29 Sep: 'why does each column double' answered off-target to the open form ('you can show more numbers'), corrected: two symbols per box. Why-255 explain 1/2 after prompt: 'all ones, add them together' present, doubling row and the sum absent. Why hex is used not yet taught.
P17 Developing → Developing — 29 Sep starter, no notes, 4 days on: "4"+"5" → 45 and with int() → 9, unaided. Third cold success on the text-join item.
P05 Developing → Developing — 29 Sep starter, no notes: 'until 20 or more' → while guess < 20 (boundary right in production, colon missing); spot-the-error found missing colon and capital Print, 2/2 unaided. Condition-at-end form still untaught.
Next: FIRST: finish the hex opener — D in decimal and 1011 in decimal from the 8-4-2-1 row (same two questions) — then hex properly: split 8 bits into two groups of four, each group to one hex digit, both ways, and the one-sentence 'why hex is used' (D01). Starter, no notes: 10110010 to decimal with working; 90 to binary; one binary addition with at least three carries; the while line for 'until the total is over 100'. Handwritten working still owed — ask for the paper version of the exit ticket and photograph it; she declined paper today. Next programming block: the condition-at-end loop from session 48's plan, untouched since.
Unfinished: Hexadecimal opener set and not answered: D in decimal and 1011 in decimal from the 8-4-2-1 row. Binary→hex and decimal→hex not yet taught. (D03) — closed 2026-10-01 by session 61: completed in session 61
2026-09-28 ✓ reviewed
Placement paper 2 (theory), test #2, sat Mon 28 Sep 12:52, 28 of 120 min, closed by her. 7/53 (13%), attempt #10. 17 of 22 questions typed 'skip' as the placement instructions allowed; all 17 sit on untaught content in strands D, S, N, C and Q. Q3 (binary to decimal) and Q6 (binary addition) each held focus for 7 min before the skip — she tried both. Attempted and scored: hardware/software definitions 2/2 (S01); ASCII D → 68, code 99 → c 2/2 (D07); PAN/LAN/WAN 1/3 with LAN and WAN swapped (N02); OS functions 0/2 — 'ram and memory', a component not a function (S07); the 6-mark discuss on facial recognition at the school gate 2/6, Level 1 — one ethical point ('might scare the students') and one privacy point with a consequence ('if someone hacks the software they would know where the students walk'), no parents or school, no benefit weighed, no conclusion, 3 min on a 9-min guide (E01). Diagnostic result: strands D, S, N, C, Q are notstarted in practice; the extended-response question was attempted, which is the behaviour being watched. No status changes.
S01 Not started → Not started — Placement Q1: hardware 'physical objects like wires and motherboards', software 'the program' — 2/2, 28 Sep.
D07 Not started → Not started — Placement Q7: D → 68, code 99 → c, 2/2 unaided from A = 65 and a = 97, 28 Sep.
N02 Not started → Not started — Placement Q15: PAN right, LAN and WAN swapped, 1/3, 28 Sep.
S07 Not started → Not started — Placement Q11: 'ram and memory' for two OS functions — a component named, no function, 0/2, 28 Sep. Untaught.
E01 Not started → Not started — Placement Q22 6-mark discuss, attempted: one ethical point undeveloped, one privacy point with a consequence, pupils only, no conclusion — Level 1, 2/6 in 3 min, 28 Sep.
D02 Not started → Not started — Placement Q3: 7 min of focus then 'skip' — binary to decimal and 45 to binary not attempted in writing. 0/3, 28 Sep. Untaught.
D05 Not started → Not started — Placement Q6: 7 min of focus then 'skip' on 8-bit binary addition. 0/2, 28 Sep. Untaught.
D01 Not started → Not started — Placement Q2 skipped. 0/1, 28 Sep. Untaught.
D03 Not started → Not started — Placement Q4 skipped. 0/2, 28 Sep. Untaught.
D04 Not started → Not started — Placement Q5 skipped. 0/2, 28 Sep. Untaught.
D10 Not started → Not started — Placement Q8 skipped. 0/2, 28 Sep. Untaught.
D14 Not started → Not started — Placement Q9 skipped. 0/2, 28 Sep. Untaught.
S02 Not started → Not started — Placement Q10 skipped. 0/3, 28 Sep. Untaught.
S08 Not started → Not started — Placement Q12 skipped. 0/2, 28 Sep. Untaught.
S12 Not started → Not started — Placement Q13 skipped. 0/3, 28 Sep. Untaught.
S13 Not started → Not started — Placement Q14 skipped. 0/2, 28 Sep. Untaught.
N04 Not started → Not started — Placement Q16 skipped. 0/2, 28 Sep. Untaught.
N06 Not started → Not started — Placement Q17 skipped. 0/2, 28 Sep. Untaught.
C04 Not started → Not started — Placement Q18 skipped after 1 min — phishing was available as a guess. 0/3, 28 Sep. Untaught.
C05 Not started → Not started — Placement Q19 skipped. 0/2, 28 Sep. Untaught.
Q02 Not started → Not started — Placement Q20 skipped. 0/2, 28 Sep. Untaught.
Q04 Not started → Not started — Placement Q21 skipped. 0/3, 28 Sep. Untaught.
Next: Placement done; resume the plan from session 48 (condition-at-end loop). When strand D opens: start with binary place values and conversion — she spent seven minutes trying to work it out unaided. When the first 'discuss' is taught: the three-group structure (pupils / parents / school, one point each with a because, then a one-line verdict) is the shape to model before any second attempt.

2026-W39 · week of 2026-09-21

2026-09-27 ✓ reviewed
Placement paper 1 (Python), test #1, sat Sun 27 Sep 12:26, 50 of 120 min, closed by her. 19/52 (37%), attempt #9. 22 questions, 0 typed blanks; Q12 part 2 'i don't know' and Q20 part 2 unanswered. Held cold on taught material: 17 // 5 and 17 % 5 → 3, 2 (P08 2/2); "4"+"5" → 45 and int() → 9 (P17 2/2, the 25 Sep misconception did not recur); ord/chr (P16 2/2); syntax vs logic error with line numbers (P28 2/2); bubble first pass 1,4,2,5 (A13 2/3); password loop while password != open / input inside / Welcome after (P05 3/3, quotes and colon missing); cinema bands with correct boundaries but printed instead of stored in price and re-read age (P03 2/3); trace table rows (3,3) (0,4) right, no starting row, output -1 from an extra pass (A07 2/4). Lost on untaught content: data types (P01 0/3: list/list/probability), Boolean combination (P10 0/3: evaluated halves, never combined), 3-argument range (P04 0/2), list/2-D/string ops (P11 0/3, P12 0/2, P15 0/3), random (P18 0/1), subroutines (P19 0/4), binary search done as linear (A10 0/2), merge sort shape only (A12 1/2), decomposition/abstraction (A02, A03 0/2). Test data P27 0/3: all three values correctly classed, no expected behaviour given though the scheme required both — an instruction loss. No status changes: placement marking establishes facts only.
P08 Secure → Secure — Placement Q5: 17 // 5 = 3, 17 % 5 = 2, both correct cold, 2/2, 27 Sep — the values form the loose end asked for.
P17 Developing → Developing — Placement Q6: "4"+"5" → 45 and int("4")+int("5") → 9, both correct cold two days after the misconception, 2/2, 27 Sep.
P16 Not started → Not started — Placement Q15: ord("D") → 68, chr(67) → C, 2/2 unaided from A = 65, 27 Sep.
P28 Not started → Not started — Placement Q19: syntax error line 3 (prnt) and logic error line 2 (divides by 3 not 4), both with line and fault, 2/2, 27 Sep.
P05 Developing → Developing — Placement Q10: password = input() / while password != open / print / password = input() / print("Welcome") — 3/3 on logic; quotes around open and the colon missing, 27 Sep.
P03 Developing → Developing — Placement Q9: if age < 5 / elif age < 16 / else — bands and boundaries all correct, 2/3; every branch printed rather than assigning to price, and age re-read from input although the question said it already held a value, 27 Sep.
A07 Not started → Not started — Placement Q11 trace of a while loop: rows (3,3) and (0,4) correct, starting row (5,2) omitted, output given as -1 — one pass too many after a > 0 became false. 2/4, 27 Sep.
A13 Not started → Not started — Placement Q21: first pass of bubble sort on 5,1,4,2 → 1,4,2,5 correct (2/2); 'how does it know it is sorted' → 'it checks the list and finds it sorted', not a pass with no swaps. 2/3, 27 Sep.
A12 Not started → Not started — Placement Q22: 'splits the list into multiple peaks and puts them together after sorting them' — split/merge shape present, single-item stopping point and merge-in-order absent. 1/2, 27 Sep.
A01 Not started → Not started — Placement Q1: 'a set of instructions the things will follow' — 1/1, purpose clause missing, 27 Sep.
A02 Not started → Not started — Placement Q2: 'taking the code apart' — 0/1, 27 Sep. Not yet taught.
A03 Not started → Not started — Placement Q3: 'a different way of using code' — 0/1, 27 Sep. Not yet taught.
P01 Not started → Not started — Placement Q4: list / list / probability for integer / real / Boolean — 0/3, 27 Sep. Data type names not known; treat as untaught.
P10 Not started → Not started — Placement Q8: evaluated each half ('x is true and y is false') but never combined with and/or/not; part 2 not(x == y) → false. 0/3, 27 Sep. Combining conditions is a gap.
P04 Developing → Developing — Placement Q7: range(2, 9, 3) → wrote 2,3,4,5,6,7,8,8,7,6,5,4 — the step argument not understood. 0/2, 27 Sep. Three-argument range untaught.
P11 Not started → Not started — Placement Q12: scores[2] → 7 (one-based), 'i don't know' for changing an item, 'count items in scores' for len. 0/3, 27 Sep. Untaught.
P12 Not started → Not started — Placement Q13: grid[1][0] → 1, grid[0][2] → 5. 0/2, 27 Sep. Untaught.
P15 Not started → Not started — Placement Q14: len(name) → 'paddington', name[0:3] → 'paddington', join → print("{first} {last}") (no f). 0/3, 27 Sep. Untaught.
P18 Not started → Not started — Placement Q16: dice = while i in range (1, 7) — a loop offered for a random call. 0/1, 27 Sep. Untaught.
P19 Not started → Not started — Placement Q17: no def, no return, no call — read width and height from input and multiplied. 0/4, 27 Sep. Subroutines untaught.
P27 Not started → Not started — Placement Q18: 15 / 18 / 10 for normal / boundary / erroneous on 11–18 — all three values correctly classed, no expected behaviour stated for any; scheme needs both, 0/3, 27 Sep.
A10 Not started → Not started — Placement Q20: compared 3, 8, 12, 21, 27 in turn — linear, not binary; 'why must the list be sorted' left unanswered. 0/2, 27 Sep. Untaught.
Next: Placement done; resume the plan from session 48: three no-notes items, then teach the condition-at-end loop (while True + break) with a worked example and say-backs, then Code Lab a04-repeat capped at 3 runs, then a handwritten while loop with no checklist. Two placement findings to fold in when reached: trace tables must start with the pre-loop row and stop when the condition is false (A07); Boolean and/or/not combination is a knowledge gap, not a slip (P10).
2026-09-25 ✓ reviewed
int(input()) taught through the full gate and two handwritten while loops then went 4/4 on logic with int() and the update line unprompted, the first with zero case/bracket/colon slips. Ran ~13:02–13:44 against block 33. Starter, no notes, 3 set / 3 attempted / 3 unaided / 0 blank: missing update line → "word = input(). Because without that line, it will repeat forever" (infinite loop named unprompted); condition for 'until bigger than 50' → "while number < 51:" (boundary right in production from words); spot-the-error on `While Age < 18` / `age = input` → missing line before the loop, missing (), "capital letter" (one of two capitals named). P17 taught: say-back of age = int(input()) → "it turns text to numbers. So we can use math functions on them later." Worked example (add two numbers) built line by line, 3/3 lines typed correctly first time. Predictions 3 set: "4"+"5" without int() → "9" (misconception: text joins, not adds; taught via "cat"+"dog" → then "45"); mark = 40 with >= → "pass" ✓; "10"+"20" → "1020" ✓. Handwritten program 1 (keep asking until > 100, 4 marks, checklist: lower case / round brackets / colon / int()): plan line given first in her words; number = int(input()) / while number <= 100: / number = int(input()) / print("Done") — 4/4, every checklist item clean, boundary <= 100 unprompted (yesterday's < 100 fixed). Handwritten program 2 (guess until 7): plan line first; guess = int(input()) / while guess != 7 / guess = int(input()) / print("You got it") — 4/4 on logic, one slip: colon missing on the while line; case, brackets, quotes clean. Both programs photographed. 0 blank of 10 items. P05 gap → developing (single level, reconfirming session 45's proposal). P17 gap → developing. P02: first handwritten program in four with zero case slips, under a checklist ticked aloud. Stopped at her "log it" at the block's end; nothing unfinished.
P05 Gap → Developing — 25 Sep: starter 2/2 unaided (update line + infinite loop named unprompted; 'until bigger than 50' → while number < 51:). Two handwritten while loops 4/4 on logic, update line inside and print after unprompted both times; boundary <= 100 correct without help. Reconfirms session 45 in a later session: gap → developing, single level. Secure needs an unseen-context independent task in a later session and the condition-at-end form taught.
P17 Gap → Developing — 25 Sep: taught int(input()) from zero — say-back in own words, worked example 3/3 lines first time, predictions 2/3 unaided ('4'+'5' → '9' before teaching, '45' after; '10'+'20' → '1020'). Then int() written unprompted on all four inputs across two handwritten programs. Taught, checked, applied: gap → developing, single level.
P02 Developing → Developing — 25 Sep handwritten program 1: all names and keywords lower case, round brackets on input()/int()/print(), with the 4-item checklist read aloud before the photo — first clean handwritten program of four. Program 2: case and brackets clean, colon missed. Starter spot-the-error named the missing () and a capital unaided. No status change: needs a second clean program in a later session.
P03 Developing → Developing — 25 Sep starter: condition from words 'until bigger than 50' produced while number < 51: unaided — boundary correct in production, which was the loose end (24 Sep wrote < 100 for 'bigger than 100'). Program 1 boundary <= 100 also correct unprompted. Still no independent selection task with an unseen boundary; status unchanged.
Next: Open with three no-notes items one per message: predict what "4" + "5" prints with and without int(); write the while line for 'keep asking until the guess is 20 or more'; spot-the-error on a while loop with the colon missing and 'Print' capitalised. Then teach the loop that checks at the END (REPEAT…UNTIL in the exam's pseudo-code, which Python writes as while True with a break at the bottom) with a worked example and say-backs, then a trace table of a short while loop by hand, then Code Lab 'Translate the pseudo-code' (a04-repeat) with the plan line first, capped at 3 runs. Handwritten program without the checklist this time, to see if the clean case holds.
2026-09-24 ✓ reviewed
While loops opened from zero and taken to developing: worked example → predictions → production check → Code Lab 'Until you say stop' solved in 2 runs → handwritten exit ticket 3/4. Extra session (no CS block today), elapsed ~12:30–14:35 incl. a movement break of unknown length. Starter 3/3 unaided, 0 blank: running-total trace "1, 3, 6"; temp > 25 at 25 → "fine"; range[1, 6] no colon → "the brackets are wrong and it needs a colon". Worked example (ask until "stop"): line-1 say-back produced code ("for word = stop / print("finished")"), narrowed → "The user types a word."; line 2 → "if it is not equal to, stop. Go again", binary checks cat→in, stop→"no" correct; loop without update predicted "1", guided to "It would get stuck in a loop because a word is still holding cat"; produced word = input() unprompted; print after loop correct. Predictions 2/2 (3 times; "done" for a zero-run loop). Production check: password != "banana" 1/1. Code Lab p05-stop: plan line given first; solved in 2 runs/330s, run 1 missing the second input(), found unaided (practice #46). Exit ticket (bigger than 100, handwritten, 3-item checklist given): key = input () / While key < 100 : / Key = input / print("Done") — structure right, 3/4 indicative; boundary < 100, no int(), While/Key capitalised, input missing (); fix asked → "make it 101". Gate note: the exit ticket needed int() (P17, still a gap) — a planning error, not held against her. P02 third mixed-case handwritten program despite checklist → demoted.
P05 Not started → Developing — 24 Sep: taught from zero (worked example line by line with say-backs), predictions 2/2, production check 1/1 (password != "banana"), Code Lab 'Until you say stop' solved in 2 runs, handwritten exit ticket 3/4 (structure correct; boundary < 100 for 'bigger than 100', no int()). notstarted → developing, single level.
P04 Gap → Gap — 24 Sep starter, no notes: running-total for-loop trace values '1, 3, 6' correct; spotted both errors in `for i in range[1, 6]` (square brackets, missing colon) unaided.
P03 Developing → Developing — 24 Sep starter: temp > 25 with temp = 25 → 'fine' correct unaided (prediction). In production (exit ticket, while condition) wrote < 100 for 'bigger than 100'; fixed to < 101 when asked.
P17 Gap → Gap — 24 Sep exit ticket (handwritten while loop comparing input with 100): no int() on either input, so the comparison would fail at runtime. Task needed P17 while it is still a gap — set too early by the tutor; not evidence against the topic. She did write money = int(input()) unprompted on 22 Sep.
P02 Secure → Developing — Third handwritten program with mixed case (18 Sep Cost/cost; 22 Sep Cost/Print; 24 Sep While and Key capitalised) — this time despite a 3-item checklist (lowercase, round brackets, colon) given immediately before. Loose end said a third demotes. secure → developing.
Next: Open with three no-notes items one per message: fill the missing update line in a while loop; write the condition for 'keep going until the number is bigger than 50'; spot-the-error on `While Age < 18` / `age = input`. Then teach turning typed text into a number (int(input())) with a worked example and say-backs, and redo Thursday's 'bigger than 100' loop by hand with it, checklist ticked aloud before writing. Then a second while-loop task on a new context by hand.
2026-09-22 ✓ reviewed
The running-total exit ticket was passed 4/4 on a fresh task (7-day sponsored walk), produced unprompted and then written by hand and photographed; the outstanding gap check was also closed. Ran ~14:05–14:55 against block 17. Starter, no notes, 3 set / 3 attempted / 3 unaided / 0 blank: jar = jar + 5 with jar holding 10 → "15"; predict a loop printing "go" inside and "done" after → "go go go done" exactly; speed >= 30 at 30/29 → "slow down / fine". Gap check 2 (even counter, missing counting line): "i don't know" twice to the open form and to "what should count be holding"; narrowed to a tally ("0 or 1 ticks?") → "1", then the line asked as "make count go up by 1" → "count = count + 1". Exit ticket, 4 marks: asked for a one-line plan first, she skipped the plan and typed the full program in one reply: cost = 0 / for i in range(1,8): / money = int(input()) / cost = cost + money / print(cost) — every line correct, no hint, first attempt. Told to write it by hand with a better name; photo arrived in the next reply. Handwritten copy: logic identical (cost = money + cost, print after the loop) but four transcription slips: Cost/cost mixed case, range[1,8] with square brackets, no colon after the for line, Print capitalised; name kept as cost despite the instruction. Marked 4/4 on logic as the AQA guidance allows; all four slips named to her. P04 moved notstarted → developing (single level). Nothing new opened: she asked to log at ~14:58 as the block ended. P05 while loops may open next session. PARENT: Friday's Code Lab run ('Add them up', 3/3) still not sent from the app; stale client_run_id lab-mtwz56ci issue still open.
P04 Not started → Developing — 22 Sep exit ticket, fresh 4-mark task (sponsored walk): cost = 0 / for i in range(1,8): / money = int(input()) / cost = cost + money / print(cost), unprompted, first attempt, no hint; then handwritten and photographed, same logic. 4/4 on logic. Gap check 2 (count = count + 1) after two narrowings. Starter 2/2 unaided. Developing bar met: taught 17–21 Sep, supported practice, exit ticket passed. Secure needs an independent retest on a different loop task later.
P03 Developing → Developing — Starter Q3, 22 Sep, no notes: speed >= 30 at 30/29 → "slow down" / "fine" unaided. Fifth correct boundary read of >=. Secure still needs an independent selection task with an unseen boundary in a later session.
P02 Secure → Secure — 22 Sep handwritten program: Cost on line 1, cost on lines 4–5, Print capitalised — mixed case by hand for the second session (18 Sep attempts 1–2, 22 Sep). Name cost kept for money raised despite being asked for total/raised; it says roughly what it holds. Typed version was consistently lower case.
Next: Open while loops (P05) — the running-total exit ticket passed 4/4 by hand today. Starter, no notes, one question per message: values of total each time round a 3-line running-total loop; one P03 boundary at an unseen value with >; spot-the-error on `for i in range[1, 6]` (square brackets, no colon). Then P05 from zero: worked example (keep asking until the word is "stop") one line at a time with a say-back per line; two predictions (how many times does this loop run?); a production check with the condition line blank BEFORE Code Lab 'Until you say stop' (p05-stop), capped at 3 runs/10 min then teach. Ask for the one-line plan and wait for it before code. Next handwritten program: give a 3-item checklist (case, round brackets, colon) — a third mixed-case session demotes the P02 naming loose end. PARENT: Friday's Code Lab run still not sent; stale client_run_id lab-mtwz56ci still open.
2026-09-21 ✓ reviewed unfinished · closed
The running total was rebuilt with her on paper line by line and she wrote the update line with + unprompted (jar = held + jar), then passed the first fill-the-gap production check first time; stopped at her request ("time is up") before the second production check and before the fresh handwritten exit ticket. Ran ~13:05–13:30 against block 7. Starter, no notes, 3 set / 3 attempted / 3 unaided / 0 blank: 17 // 5 and 17 % 5 → "3 and 2"; temp >= 25 at 25/24 → "hot and fine"; for i in range(2, 5): print(i * 3) → "6, 9, 12". On-paper build (Aisha saves £2, £4 … £20): line 1 "jar equals zero" in her words; line 2 say-back in her own words ("runs the next bit once per week, with i being the week number… happens ten times"), for i in range (1,11): correct; line 3 written unprompted as held = i * 2 / jar = held + jar / print(jar). Say-back on the jar line asked together with the print-indent question → "i do noty know"; narrowed to numbers for i = 3 → "6 amd 12" correct. Print placement: "i don't know" to the indent question, then chose B (print outside the loop, prints once) correctly from an A/B pair. Production check 1 (5 scores, missing accumulator line) → "total = score + total" unprompted, first time. Production check 2 (count evens, missing count = count + 1) set; she stopped. Exit ticket (fresh handwritten running-total program) not run. No handwritten code photographed. Friday's Code Lab run ('Add them up') still not sent from the app.
P08 Secure → Secure — Starter Q1, 21 Sep, cold, no notes: values of 17 // 5 and 17 % 5 → "3 and 2" unaided. Second cold success on the operations; the names were not asked today.
P03 Developing → Developing — Starter Q2, 21 Sep: prediction at an unseen boundary, temp >= 25 → 25 "hot", 24 "fine", unaided. Fourth correct boundary read of >=.
P04 Not started → Not started — 21 Sep: starter prediction 6, 9, 12 unaided. Accumulator built on paper line by line: wrote jar = held + jar unprompted (+, not *); traced i = 3 → 6, 12 once narrowed to numbers; chose print-after-loop from an A/B pair after two 'I don't know's; wrote total = score + total unprompted in gap check 1. Gap check 2 and the fresh handwritten exit ticket not run — stopped at her request. Proposed developing; not moved: exit ticket not yet passed.
Next: FIRST: finish the second fill-the-gap check (the even-counter program with the counting line missing — count = count + 1), then the fresh 4-line handwritten adding-up program on paper, photographed, 4 marks, ~5 min, marked as the exam would (total = 0 before the loop, total = total + amount inside, print after). Starter, no notes: what does jar = jar + 5 do to a jar holding 10; predict the output of a 3-line loop that prints inside vs after; one P03 boundary prediction at an unseen value. P05 while loops open only after the exit ticket passes 4/4. Ask one question per message — two at once produced "I don't know". PARENT: Friday's Code Lab run ('Add them up', 3/3) still not sent from the app; stale client_run_id lab-mtwz56ci issue still open.
Unfinished: Second production check (missing counting line in the even-counter program) set but not answered; fresh handwritten P04 running-total exit ticket (4 marks) not run. Session 33's exit-ticket re-sit therefore still open. Next session opens on both. (P04) — closed 2026-09-22 by session 41: completed in session 41

2026-W38 · week of 2026-09-14

2026-09-18 ✓ reviewed unfinished · closed
Starter 3/3 cold incl. DIV/MOD at the third ask, but the first handwritten P04 exit ticket scored 2/4: the loop was right three times and the running total was never produced. Ran 13:05–13:45 against block 33. 'Add them up' (p04-sum) verdict reported in her first reply: "all" (3/3) — the app's practice run has not yet been sent to the tracker. Starter, no notes, 3 set / 3 attempted / 3 unaided / 0 blank: '// and %' → "Div and mod" (first cold success after misses on 8 and 15 Sep); trace of total over range(2, 5) → "i = 2, total = 2 / i = 3, total = 5 / i = 4, total = 9", then "line 4 and 9"; temp >= 18 boundary → "warm and cold" for 18/17. Exit ticket (4 marks, ~5 min, handwritten, photographed): Aisha saves £2, £4 … £20 over 10 weeks, print the total. Her first reply was "20" (week 10's amount). Attempt 1 (13:30): Save = int(input()) / for i in range(1, 11): / Money = Save * i / Print(Money), × crossed out for * — marked 2/4 (loop and weekly amount right; no accumulator; prints 20). Asked what happens to the old value of Money each time round — no answer in words; attempt 2 (13:35): Save = save * i, colon missing, Save/save/Print mixed case. Tutor displayed the Q2 pattern annotated (before / inside / after; the + makes it grow) and named the colon and case slips. Attempt 3 (13:43): colon and lower case fixed; still save = save * i, no total = 0. About 30 minutes on a 5-minute task: the gate failed — the accumulator had been traced (3/3) but never built with her in production, and the displayed pattern did not transfer. That struggle is a sequencing fault, not evidence against P04's loop mechanics, which were correct by hand all three times. Model shown at the close with the one differing line marked. P05 not opened. Exit ticket not passed — re-sit on a fresh task after an on-paper build.
P04 Not started → Not started — 18 Sep: 'Add them up' reported 3/3 ("all"); trace of total over range(2, 5) → 2, 5, 9 and "line 4 and 9" unaided; handwritten exit ticket 2/4 over 3 attempts (~30 min): for i in range(1, 11):, indentation and print-after-loop correct ×3, × self-corrected to *; running total never produced — Money = Save * i, then save = save * i twice after the + pattern was displayed; total = 0 never written. Model shown at the close. Proposed developing for the loop construct; accumulator not yet produced.
P08 Secure → Secure — Starter Q1, 18 Sep, cold, no notes, third ask: '// and %' → "Div and mod" unaided, after "i don't know" on 8 and 15 Sep.
P03 Developing → Developing — Starter Q3, 18 Sep: prediction at an unseen boundary, temp >= 18 → 18 "warm", 17 "cold", unaided.
P02 Secure → Secure — 18 Sep handwritten program: variables Save, Money, then save — they say roughly what they hold, not a third non-descriptive name after 'ha'; names and print were capitalised on attempts 1–2 and lower-cased on attempt 3 after being told.
Next: FIRST: P04 running total — build the accumulator on paper WITH her, one line at a time with a say-back per line (total = 0 / for week in range(1, 11): / total = total + week * 2 / print(total)); then two production checks (a near-complete running-total program with the update line blank — she writes only that line); then re-sit the P04 handwritten exit ticket on a FRESH 4-line running-total task, photographed, 4 marks, marked as the exam would. Starter, no notes: the values of 17 // 5 and 17 % 5; one P03 boundary prediction at an unseen value; predict the output of a 3-line for loop. P05 while loops open only after the exit ticket passes 4/4. Stop any independent task at ~10 minutes and teach. PARENT: today's Code Lab run ('Add them up', reported all 3 passed) has not been sent from the app; the stale client_run_id lab-mtwz56ci issue is still open.
Unfinished: P04 handwritten exit ticket attempted three times (2/4): the running total (total = 0 before the loop; total = total + amount inside) was not produced. Not passed — re-sit on a fresh 4-line task once the accumulator has been built with her on paper. (P04) — closed 2026-09-22 by session 41: completed in session 41
2026-09-17 ✓ reviewed unfinished · closed
P04 definite iteration taught from zero and taken to one solved Code Lab task, after a starter that retested P03 cold; stopped at her request ("time is up") with 'Add them up' fixed but unverified and the handwritten exit ticket not run. Starter 3 set, 3 attempted, 0 blank: if/elif/else at mark=50 → "merit" unaided; DIV/MOD names for // and % → "i don't know" (second consecutive session, told 8 and 15 Sep; hook given: DIV keeps whole numbers, MOD keeps the remainder); spot-the-error on `else score < 40:` → "< 40: is the eror" unaided, the fault named before it reached the app. P04 worked example built line by line: say-back of `for i in range(1, 6):` was "it shows numders in a range" — 'shows' corrected (the line counts, it prints nothing); listed 1 2 3 4 5 correctly. Typed print(i) unindented → SyntaxError, fixed after one prompt. Output came as 1–9 because she had typed range(1, 10); found by pasting her code, and she stated the stop-before rule from it. Predictions 2/2 unaided: range(3, 7) → 3 4 5 6; print(i * 10) over range(1, 4) → 10 20 30. Code Lab 'Times table' solved 3 runs, no hint (run 30, split out under a fresh id because the app re-sent client_run_id lab-mtwz56ci again — parent action still open); her fix was adding the product line, named `ha` (readability, P02 loose end). Running-total worked example traced 1, 3, 6 unaided. 'Add them up': after 6 min "times up and i din't work", all tests red; code pasted showed range(1, n+1) correct and `total = n + i` for `total = total + i`; compared side by side with the example, she replied "fixed and time is up" — verdict not seen. No handwritten code observed; fortnightly handwriting now two blocks overdue.
P03 Gap → Developing — 17 Sep cold retest, later session, no notes: if/elif/else at boundary 50 → Merit unaided; spot-the-error named `else score < 40:` as the fault unaided. 2/2, 0 blank. This is the later-session confirmation the 15 Sep audit asked for (gap → developing, single level); secure still needs an independent harder retest.
P08 Secure → Secure — 17 Sep starter: asked the AQA names for // and % → "i don't know", second consecutive session (told 8 Sep, 15 Sep). Told again with a hook (DIV keeps whole numbers, MOD keeps the remainder). Operations themselves not tested today.
P04 Not started → Not started — Taught 17 Sep from zero: worked example for i in range(1, 6) line by line; say-back 'it shows numbers in a range' corrected; listed 1–5 unaided; predictions 2/2 unaided (range(3,7) → 3 4 5 6; i*10 → 10 20 30); Code Lab 'Times table' 3 runs no hint (run 30); running-total trace 1,3,6 unaided; 'Add them up' wrote total = n + i, fixed after a side-by-side compare, verdict unseen. No exit ticket, no handwritten code. Proposed developing; not moved.
P02 Secure → Secure — 17 Sep: named the product variable `ha` in Times table — second readability observation against the print(/naming loose end; told to use answer/product. Not a retrieval item.
Next: FIRST: confirm 'Add them up' (p04-sum) — she said "fixed" but no test verdict was seen; get the verdict in her first reply, then a 4-line handwritten for-loop program on paper, photographed, as the P04 exit ticket (overdue since W37). Starter, no notes: name DIV and MOD from // and % (third ask — a third miss is a demotion of the P08 names sub-skill); trace `total = 0; for i in range(2, 5): total = total + i; print(total)` with the values of total each time round; one P03 boundary prediction. Then P05 while loops only if the exit ticket passes; otherwise consolidate P04 with 'Star grid' (p06-grid) after a nested-loop worked example. PARENT: app still re-sends the stale client_run_id lab-mtwz56ci; Times table split out as run 30.
Unfinished: 'Add them up' (p04-sum): bug found and reportedly fixed (`total = n + i` → `total = total + i`) but no test verdict seen. Handwritten P04 exit ticket on paper not run. Open on both. (P04) — closed 2026-09-18 by session 33: completed in session 33
2026-09-15 ✓ reviewed
P03 selection restarted from teaching and taken through to an independent exit ticket in one block, with both Code Lab selection tasks solved in one run each. Warm-up 5 set: 10/5 → 2.0, 17 % 5 → 2 and input() → "text" (accepted, string flagged) unaided; named-constant justification vague ("easyr") then full after one prompt; DIV/MOD names for // and % → "i don't know", told. Comparison operators taught; 3/3 True/False at mark = 40 including > vs >=. Worked if/else built line by line; whole-program say-back produced a copy of the tutor's bullets, one-line-at-a-time produced her own words; she described the program "saying true/false", corrected in one exchange. Predicted 40 → Pass, 39 → Fail unaided (the check left unanswered on 11 Sep). Code Lab 'Pass or fail' 3/3 first run, no hint; artefact named at task-setting, evidence arrived in her first reply as the pasted app report (1 exchange vs 2 and 4 last week). elif worked example; predicted 20 → Mild and 15 → Mild unaided. 'Grade bands' 4/4 first run with a hint: she had written `else grade < 40:` and diagnosed it herself from the app's line number. Exit ticket (cinema age bands, typed, no run) 4/4 unaided, clean layout. Practice logged: run 25 (app report) and run 26 (Grade bands split out with a fresh id because the app re-sent client_run_id lab-mtwz56ci unchanged — still reusing the previous day's id; parent action). Timed handwritten block #16 missed today; no handwritten code observed.
P03 Not started → Developing — Taught 15 Sep from the top: comparison operators 3/3 True/False at the boundary; boundary predictions 40→Pass, 39→Fail, 20→Mild, 15→Mild all unaided; Code Lab 'Pass or fail' 3/3 first run no hint; 'Grade bands' 4/4 first run with a hint (had written else with a condition, self-diagnosed); exit ticket cinema age bands (if/elif/else, typed, not run) 4/4 unaided. Single-level move; secure needs an independent retest in a later session.
P08 Secure → Secure — 15 Sep warm-up: 17 % 5 → 2 unaided, but could not name DIV and MOD for // and % ("i don't know"); told. Operation retained, AQA names not. Loose end on redundant brackets not observed — no arithmetic expression written today.
P17 Gap → Gap — 15 Sep warm-up after a 4-day gap: 10 / 5 prints 2.0, unaided, second session running. No float-producing expression arose later, so int() unprompted (watch #10) not observed. Proposed developing; not moved here.
P02 Secure → Secure — 15 Sep warm-up: named-constant justification first given as "because it is easyr"; after one prompt (what if VAT changes and 0.2 is in five places?) gave the full answer — change it in one spot. Exit ticket code used print("Adult") with no space before the bracket, one observation against the print( loose end; not enough to close it.
P01 Not started → Not started — 15 Sep warm-up: input() gives "text" — correct idea, exam word string supplied by the tutor. Kept separate from the named-constant item as the synthesis asked.
Next: Open with three no-notes items: predict an if/elif/else output at a boundary value; name DIV and MOD from // and %; spot the error in a snippet containing `else x < 40:`. Fewer than two correct → reteach before anything new. Then P04 definite iteration, same order as today: worked example of for i in range(1, 6) built line by line, two output predictions, then Code Lab 'Times table' (p04-table), then 'Add them up' (p04-sum) with the artefact named when set. Exit ticket handwritten on paper and photographed — the fortnightly handwriting is overdue and block 16 was missed today. P03 secure only on an independent retest in that later session. PARENT: the app is still re-sending the previous day's client_run_id; today's Grade bands had to be split out under a fresh id.

2026-W37 · week of 2026-09-07

2026-09-11 ✓ reviewed unfinished · closed
Short session, ended at her request partway through the new topic. Retrieval starter 3/3 unaided after a 3-day gap: 10 / 5 prints 2.0 (the float rule, which was the previous session's misconception — now retrieved correctly and unprompted), 17 % 5 gives the remainder, and the named-constant justification. Reported Code Lab \"Hours and minutes\" (p08-time) from the previous session: her first version carried a stray print(\"how long\") and output \"hours and minutes\"; she corrected both faults herself, without hints and without being told what was wrong, and the task went green on all three tests. That is DIV and MOD applied in a novel context independently, which was the open loose end on P08. Selection (P03) was then introduced — if/else shape, comparison operators, the colon, four-space indentation — and the prediction check (does mark = 40 print Pass or Fail?) was set but not answered before she stopped. No task was set on P03; nothing was practised. Watch signal #9 (reports done without evidence) fired again: took four exchanges to get the test verdict, replied with her program's output and then \"here is my code\" with nothing attached before finally reporting \"Solved!\".
P08 Developing → Secure — 11 Sep: solved Code Lab 'Hours and minutes' (p08-time) 3/3 independently, in a later session than the 8 Sep teaching. Self-corrected two exact-match faults without hints — a stray print producing an extra output line, and 'hours and minutes' where the brief specified 'hours minutes'. Applied // and % correctly to a novel problem
P17 Not started → Developing — 11 Sep retrieval after a 3-day gap: said 10 / 5 prints 2.0, unprompted. This was the 8 Sep misconception (predicted 60 for a float expression), so the rule has survived a gap
P01 Developing → Developing — 11 Sep retrieval: gave the named-constant justification unaided for the second session running
Next: P03 selection, restarting from the top — the if/else shape was introduced but nothing was checked or practised. Teach: comparison operators (>= > < <= == !=), the colon, four-space indentation; then the prediction check (does mark = 40 print Pass or Fail?) before any task; then Code Lab \"Pass or fail\" (p03-pass), whose tests are 72, 40 and 39 so the boundary is the point. Open with retrieval on the three from today plus DIV/MOD. Also still open: log the Code Lab practice run for Adding VAT and Hours and minutes with a FRESH client_run_id — the app reuses the previous day's id, so a re-send is a silent no-op and neither task is on the practice board.
Unfinished: P03 selection introduced only — if/else shape shown, prediction check set but not answered, no task attempted. Restart the topic from teaching next session. (P03) — closed 2026-09-15 by session 27: completed in session 27
2026-09-08 ✓ reviewed
Taught arithmetic operators properly before any task was set, correcting the previous session's order. Retrieval starter 3/3 unaided: input() returns a string, what int() does, and why a named constant is used (gave the one-place-to-change answer). Taught real division, integer division and modulus with 17/5, and their AQA pseudo-code names DIV and MOD; she predicted 20/8, 20//8 and 20%8 correctly, including the modulus. Taught the Python 3 float trap — / always returns a float and 50 + 50*0.2 prints 60.0 — and she identified int() as the fix unprompted. Then solved Code Lab "Adding VAT" in 2 runs, unaided, using the constant, int() on input and int() on output. Reasoned correctly that // gives the hours and % the minutes for 135 minutes, and was set Code Lab "Hours and minutes"; its result was not reported before the session ended. Practice run not yet in the tracker: the app re-sent the previous day's client_run_id, so the tracker correctly treated it as a duplicate and Adding VAT is not on the practice board.
P08 Developing → Developing — 8 Sep: predicted 20/8=2.5, 20//8=2, 20%8=4 unaided; identified // and % as the operators for hours and minutes from 135; applied arithmetic plus int() correctly in Code Lab 'Adding VAT', solved in 2 runs without code being written for her
P02 Developing → Secure — 8 Sep: solved Code Lab 'Adding VAT' (constant, int() on input, arithmetic, int() on output) in 2 runs with no code supplied, a harder framing than 'Name badge' and in a later session than the 7 Sep teaching
P01 Not started → Developing — 8 Sep: gave the named-constant justification in her own words in the retrieval starter — value written once, so easier to change
Next: Confirm the outcome of Code Lab "Hours and minutes" (p08-time) — set at the end of this session, result not seen. Then P03 selection (if/else) with the boundary-testing idea, since every task from here needs it. Open with retrieval on // vs % and the float trap. NOTE FOR PLANNER/PARENT: she logs the Code Lab run the following day, so practice rows will trail sessions by a day; the app is also reusing the previous day's client_run_id, which makes the second day a silent no-op until fixed.
2026-09-08
Taught arithmetic operators (P08) fully before setting any task — the deliberate fix for yesterday's session, where a Code Lab brief was set before the teaching. Warm-up 3/3 unaided: input() returns a string, what int() does, and the named-constant justification in her own words. Taught real division, integer division and modulus with 17/5 as the worked example, naming the AQA pseudo-code equivalents DIV and MOD. She then predicted 20 / 8 = 2.5, 20 // 8 = 2 and 20 % 8 = 4 correctly, modulus included. Met the float trap: predicted 60 for price + price * 0.2, corrected to 60.0 once told that a float in the sum makes the result a float, and identified int() as the fix herself. Solved Code Lab \"Adding VAT\" independently, 3/3 tests, using the constant, int() on input and int() on output; code was clean and correct first paste. Identified // for hours and % for minutes unprompted; started \"Hours and minutes\" when the block timer ended.
P08 Not started → Developing — Taught 8 Sep with worked examples; predicted 20/8, 20//8 and 20%8 correctly unaided, identified int() as the fix for the float result, and solved Code Lab 'Adding VAT' 3/3 tests independently using the constant and int()
P02 Developing → Developing — Warm-up 8 Sep: gave the 'why use a named constant' justification unprompted and in her own words (written once, so easier to change) — the loose end recorded on 7 Sep is closed. Applied VAT_RATE correctly in a working program
Next: Finish Code Lab \"Hours and minutes\" (P08, // and %). Then selection (P03): teach if/else with a worked example and a check for understanding BEFORE setting \"Pass or fail\", then \"Grade bands\" for elif. Warm-up should include one float-vs-int prediction (e.g. what does 10 / 5 print) and one f-string question.
2026-09-07
First CS session of the course. Taught variables, constants (why named constants are used) and the fact that input() always returns a string. Built Code Lab task "Name badge" (P02): she wrote the whole program unprompted, then found and fixed four bugs herself under guided questioning — missing input() on the age line, missing f prefix on the output string, two redundant print statements duplicating the input prompts, and "your are" for "you are". 13 runs to green, 2/2 tests. Started "Adding VAT": arithmetic operators and int() introduced, not finished. Code Lab practice run lab-mtrbzkoz could not be logged — source cs_code_lab is not registered for this subject (parent action).
P02 Not started → Developing — Code Lab 'Name badge' solved 2/2 after 13 runs, 7 Sep: wrote a working input/output program using named variables; all four fixes came from guided questioning, no independent check yet
P14 Not started → Developing — Code Lab 'Name badge' 7 Sep: used input() with a prompt and print() with an f-string correctly; needed prompting to remove prints duplicating the input prompts
P08 Not started → Not started — Introduced + - * / and int() on 7 Sep via the VAT task; stated she has never done arithmetic in Python before. Not yet attempted independently
Next: Finish Code Lab "Adding VAT" (constant + int()), then arithmetic operators incl. DIV and MOD (P08). Open with retrieval on input()/int() and the named-constant justification.