
KS3 · Computing
Computational Abstractions and Algorithms
1Computational Abstraction in the Real World
When designing a system to automate school library book returns using sensor technology, we must simplify the real world. Explain what a computational abstraction is and identify two physical states of the book return box that you would need to model.
SAMPLE ANSWER FORMAT
Short written explanation (3-4 sentences)
SUCCESS CRITERIA
Abstraction is the process of removing unnecessary details to focus on the essential characteristics of a problem.
One physical state to model is whether the return slot is open or closed.
Another physical state is whether a book has successfully passed through the sensor.
2Comparing Search Algorithms
You have an unsorted list of 100 student names. Compare the utility of a linear search and a binary search for finding a specific name. State which algorithm you would use and explain why.
SAMPLE ANSWER FORMAT
Pros and cons comparison table or short paragraph
SUCCESS CRITERIA
A linear search checks every item from start to finish, which is slow but works on unsorted lists.
A binary search is much faster but requires the list to be sorted first.
For an unsorted list, a linear search must be used unless we sort the list first, because binary search will not work on unsorted data.
3Training Data-Driven Systems
An AI system is being trained to sort recyclable materials. Explain why this data-driven system requires a large number of labelled data samples, and state the very first step in planning this system's data needs.
SAMPLE ANSWER FORMAT
Two-part structured answer
SUCCESS CRITERIA
The first step is to decide exactly what data is needed (e.g. images of plastic bottles, aluminium cans, paper).
A data-driven system needs a large number of samples to identify patterns accurately and make better predictions.
Labelled samples are required to create classes so the model can learn to categorise new items correctly.
4Debugging Python Input Syntax
A student wants to ask the user for their name and writes the following Python code: username = input("Aisha"). Explain the misconception in this code, how the input() function actually behaves, and write the corrected line of Python code.
SAMPLE ANSWER FORMAT
Code correction and explanation
SUCCESS CRITERIA
The misconception is that putting 'Aisha' inside the brackets will input that name automatically, rather than prompting the actual user to type.
The text inside input() is the prompt shown to the user on the screen.
The corrected code should be: username = input("Please enter your name: ").
5Designing Modular Programs
We want to write a modular Python program to manage high scores in a game. Design a small Python function called add_score that takes a list of scores and a new score as inputs, adds the new score to the list, and prints the updated list.
SAMPLE ANSWER FORMAT
Short Python code snippet with comments
SUCCESS CRITERIA
Uses correct function definition syntax: def add_score(scores_list, new_score):
Modifies the list structure using append: scores_list.append(new_score)
Outputs the updated list using the print function: print(scores_list)
6Physical Computing Planning
Evaluate this statement: 'Planning a physical computing project, like an automated greenhouse controller, slows you down and is unnecessary before writing code.' Give two reasons why planning is essential.
SAMPLE ANSWER FORMAT
Short evaluative paragraph
SUCCESS CRITERIA
The statement is incorrect because physical devices do not understand physical states (like temperature) like humans do, so we must plan how inputs map to outputs.
Planning helps us design the computational abstraction first, ensuring we know which sensors and actuators are required.
Writing code without planning leads to syntax and logical errors when connecting the hardware to the software.