Three skills from the programming side of GCSE Computer Science are practised here together, because exam questions often combine them: reading data with SQL, following an algorithm with a trace table, and finding and fixing errors. The material is based on the DfE GCSE subject content for computer science, which asks students to follow algorithms and understand how particular programs work, to design, write, test and refine programs, and to use data structures, and on the database and testing sections of the exam board specifications.
The quiz has twelve questions. Four of them use the same small table of six pupils, printed inside each question, so every answer can be checked against the data: which names a WHERE clause returns, what ORDER BY DESC does to two records, which query really means 'at least 70' in form 10A, and how many records an UPDATE changes. Two concept questions explain why PupilID is the primary key and what that field becomes when it is stored in a second table of clubs. Three questions are traces of short loops written in the style of OCR's Exam Reference Language: the final output, the values after the second pass, and a total built with MOD. The last three are errors in Python: a missing colon, a mean worked out without brackets and a loop that stops at 9. SELECT, FROM and WHERE are common to the specifications; ORDER BY, UPDATE, INSERT and DELETE are listed on some of them, for example AQA's, and are included for students who need them.
Each explanation shows the working: which records pass the condition, the values after each pass, and why an error is a syntax error or a logic error. The flashcards collect the database terms, the SQL keywords, the definition of a trace table and the two kinds of error.
The written work gives eight longer tasks to answer on paper, with model answers and marking points: writing a query with two conditions and a sort, explaining primary and foreign keys, completing a full trace table for a product loop, comparing syntax and logic errors, correcting a loop that misses its last value, writing UPDATE and DELETE statements safely, explaining trace tables and arguing for two linked tables instead of one.
An oral practice with an examiner is included as well: the examiner reads out a small table or a few lines of code, asks one question at a time and gives brief feedback at the end. The material suits Year 10 and Year 11 students preparing for the programming paper.
Practice material written by Zestly, based on the DfE GCSE subject content for computer science (following algorithms; designing, testing and refining programs; data structures) and the relevant sections of the AQA (8525, 3.2.11 and 3.7) and OCR (J277, 2.1.2, 2.2.3 and 2.3.2) GCSE Computer Science specifications.
A table called Pupils holds these records: ```text PupilID | Name | Form | Score P01 | Amir | 10A | 72 P02 | Beth | 10B | 58 P03 | Chen | 10A | 91 P04 | Dana | 10C | 64 P05 | Ellis | 10B | 85 P06 | Farah | 10A | 68 ``` Which names does this query return? ```text SELECT Name FROM Pupils WHERE Score > 70 ```
Amir, Chen and Ellis
The WHERE clause keeps only records whose Score is greater than 70: Amir (72), Chen (91) and Ellis (85). Farah's 68 and Dana's 64 are too low, and 72 > 70 is true, so Amir is included.