Unofficial Practice Paper: J277/02: Computational Thinking, Algorithms and Programming
General Certificate of Secondary Education
| Question | Answer / Indicative Content | Mark | Guidance |
|---|---|---|---|
| 1 (a) |
1. Abstraction [1] 2. Algorithmic Thinking [1] 3. Decomposition [1] |
3 | |
| 1 (b) |
1 mark per point (max 3):
|
3 | Must apply abstraction specifically to the hospital scenario. |
| 2 (a) |
|
4 | |
| 2 (b) |
1 mark per feature (max 2):
|
2 | Reject any debugging tools (e.g. breakpoints, error diagnostics) as excluded by the question. |
| 3 (a) |
1 mark per point (max 4):
|
4 | |
| 3 (b) |
1 mark per point (max 4):
|
4 |
| Question | Answer / Indicative Content | Mark | Guidance |
|---|---|---|---|
| 4 (a) |
print(hospitalName.left(7)) -> "General" [1]print(hospitalName.length) -> 17 [1]print(hospitalName.substring(8, 9)) -> "Infirmary" [1]print(hospitalName.upper) -> "GENERAL INFIRMARY" [1]
|
4 | Accept string outputs with or without quote marks. |
| 4 (b) |
endPart = hospitalName.right(4)Or: endPart = hospitalName.substring(13, 4)
|
2 | 1 mark for correct method (`right` or `substring`), 1 mark for correct index/length values. |
| 5 (a) |
SELECT PatientID, WardName [2] (1 for SELECT, 1 for fields)FROM Patients [1]WHERE PriorityLevel == 1 [1] (Accept `PriorityLevel = 1`)
|
4 | |
| 5 (b) | It selects all fields/columns [2] from the table. | 2 | |
| 6 (a) |
1 mark for Type, 1 mark for Justification:BedNumber: Integer [1] (It is a whole number without decimals) [1]Temperature: Real [1] (Requires decimal precision) [1]Discharged: Boolean [1] (Only two possible states, True or False) [1]
|
6 | Reject 'Float'. |
| 6 (b) |
23 MOD 5 = 3 [1] 23 DIV 5 = 4 [1] |
2 |
| Question | Answer / Indicative Content | Mark | Guidance | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 (a) |
1 mark per point (max 4):
|
4 | |||||||||||||||||||||||||||||
| 7 (b) |
1 mark per point (max 4):
|
4 | |||||||||||||||||||||||||||||
| 8 |
Trace Table Completion: 1 mark per correctly completed row block or specific change:
|
10 | Total of 10 marks awarded for the logical flow. 2 marks per critical sequence block correctly traced. |
| Question | Answer / Indicative Content | Mark | Guidance |
|---|---|---|---|
| 9 (a) |
1 mark per bullet:
Example: total = 0 for i = 0 to 49 total = total + triageTimes[i] next i average = total / 50 print(average) |
8 | Accept `average = total / triageTimes.length` |
| 9 (b) |
1 mark per point (max 4, 2 per reason):
|
4 | |
| 10 (a) |
Line number: 02 [2] Correction: Delete the line completely [2] |
4 | |
| 10 (b) |
1 mark for method, 1 mark for reason (max 4):
|
4 | |
| 10 (c) | 3 [2] | 2 |