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.
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.
| Topic | Name | Change | Evidence recorded |
|---|---|---|---|
| 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. |