Read this first
| Time | Total marks | You will need |
|---|---|---|
| 2 hours 15 minutes | 90 | Black pen. No calculator, notes or electronic devices. |
Instructions
- Press Start timer above and work in silence, without notes.
- Answer all questions in Section A and Section B.
- Type your answers in the boxes (they're saved on this device), or write on lined paper and number each answer clearly, e.g. 5 (c).
- Mark schemes stay locked until you press I've finished: show mark schemes.
Information
- The total mark for this paper is 90.
- The marks for each question are shown in brackets. Use this as a guide to how much time to spend on each question.
- Questions marked with an asterisk (*) are levels-based: you will be marked on the quality of your extended response.
- Where the term 'code' is used, it refers to Python 3.10 or later.
Advice
- Read each question carefully before you start to answer it.
- Use the scenario in Section B in your answers.
- Try to answer every question.
- Check your answers if you have time at the end.
■ MOCK EXAMINATION
This is a practice paper written to match the style and structure of the live assessment. It is not a Pearson paper. When you mark it: for point-marked questions, award one mark for each point in the list, up to the total, and accept other valid answers. For levels-based (*) questions, read the whole answer, choose the level that best fits, then the mark within it. Indicative content is a guide, not a checklist. Spec references show where to revise if you lost marks.
SECTION A (30 marks)
Answer ALL questions.
State two tasks of abstraction.
Spec 1.1.14
- Any two: identify the information that is needed; filter out unnecessary details; hide details of internal workings.
Describe what a sub-process symbol represents in a flowchart.
Spec 1.2.2
- A predefined process / sub-routine / function (1) that is defined elsewhere, e.g. in a separate flowchart (1).
Explain one benefit of decomposition when a team of developers builds a new system.
Spec 1.1.6
- Each part can be given to a different developer (1) so parts are built at the same time and the project is finished sooner (1). Accept: easier to test/find errors in small parts.
(Total for Question 1 = 6 marks)
State the most suitable data type for: (i) the price of a meal deal; (ii) whether a customer has a loyalty card.
Spec 2.1.1
- (i) Float / real (1) (ii) Boolean (1)
Study this code. State the output.
values = [3, 8, 2, 7]
total = 0
for v in values:
if v % 2 == 0:
total = total + v
else:
total = total - 1
print(total, len(values))
Spec 2.6.6
- 8 (2 marks: 1 for adding the even numbers 8 + 2 = 10, 1 for subtracting 2 for the odd numbers)
- 4 (1)
- Output:
8 4
Explain the difference between a function and a procedure.
Spec 2.7.1–2
- A function returns a value (1); a procedure does not return a value (1).
Give two benefits of using a constant rather than typing the same value throughout a program.
Spec 2.2.2
- Any two: only needs changing in one place; avoids inconsistent values / typing errors; the name makes the code easier to read; cannot be changed accidentally (by convention).
(Total for Question 2 = 9 marks)
Define the term 'edge computing' and give one example of where it is used.
Spec 3.2.1
- Processing data on or near the device where it is created rather than in a central cloud / data centre (1).
- Example (1): self-driving cars; factory safety sensors; smart CCTV that detects motion locally; IoT devices in smart cities.
Explain two ways that remote and hybrid working have changed organisational culture.
Spec 3.1.1
- Change (1) + explanation (1), twice. E.g. more communication by video call and chat (1) so messages can be misunderstood and relationships harder to build (1); more staff monitoring software (1) which can reduce trust and morale (1); expectation to be always available (1) blurring work–life boundaries (1).
(Total for Question 3 = 6 marks)
Name two of the eight data protection principles.
Spec 4.1.3
- Any two: fair and lawful; purposes; adequacy; accuracy; retention; rights; security; international transfer.
Explain one implication for employers of the display screen equipment regulations.
Spec 4.1.1
- Implication (1) + explanation (1): e.g. must carry out a DSE workstation assessment (1) to reduce the risk of back pain and RSI (1); provide eye tests on request (1); plan breaks (1); provide training (1).
Describe what is meant by victimisation under the Equality Act 2010.
Spec 4.1.5
- Treating someone badly (1) because they have made or supported a complaint of discrimination (1).
Give three items of content typically found in an acceptable use policy.
Spec 4.2.4
- Any three: permitted activities; prohibited activities; working practices / confidentiality; communication etiquette; organisation image; sanctions / penalties.
(Total for Question 4 = 9 marks)
TOTAL FOR SECTION A = 30 MARKS
SECTION B (60 marks)
Answer ALL questions.
■ SCENARIO: CALDER VALLEY VETS
- Calder Valley Vets has six surgeries across West Yorkshire and 90 staff. Appointments are booked by phone and pet records are kept on paper at each surgery.
- The group has hired a small development team to build an online system for booking appointments, storing pet records, taking payments and sending reminders by text message.
- Many clients are elderly. Some live in rural areas with poor mobile signal.
Use decomposition to identify four main parts of the new system.
Spec 1.1.7
- Any four: client/pet accounts; appointment booking/calendar; pet records; payments; text reminders; staff/admin area; reporting.
This algorithm should count the appointments that last more than 30 minutes. Identify two errors and give the correction for each.
| 1 | Set count to 1 |
| 2 | For each appointment in the list |
| 2.1 | If appointment length < 30 |
| 2.1.1 | Add 1 to count |
| 3 | Output count |
Spec 1.2.9–10
- Line 1: count set to 1 (1); should be 0 (1).
- Line 2.1: uses < 30 (1); should be > 30 (1).
Write a Python function appointment_cost(consult_type, is_member). A standard consultation costs £45.00 and an emergency consultation costs £120.00. Members receive 10% off. The function should return the cost, or −1 if the consultation type is not recognised.
Spec 2.7.6, 2.4.6
- Function defined with two parameters (1)
- Correct price for standard and emergency (1)
- Returns −1 for an unrecognised type (1)
- Applies 10% discount for members (1)
- Returns the cost (1)
- Correct syntax and indentation throughout (1)
Example answer:
def appointment_cost(consult_type, is_member):
prices = {"standard": 45.00, "emergency": 120.00}
if consult_type not in prices:
return -1
cost = prices[consult_type]
if is_member:
cost = cost * 0.9
return round(cost, 2)
print(appointment_cost("standard", True))
print(appointment_cost("emergency", False))
print(appointment_cost("dental", False))
40.5 120.0 -1
After launch, some reminder texts are sent on the wrong day. Explain why the team should use root cause analysis, and suggest a suitable approach.
Spec 1.3.3–4
- Root cause analysis finds the underlying cause (1) so the fault is fixed permanently rather than patching symptoms / it doesn't recur (1).
- Approach named (1) with justification (1): e.g. five whys, because it's quick for a single fault; or FMEA to check other parts of the reminder system for similar failures.
(Total for Question 5 = 18 marks)
The code below should ask for a pet's weight and only accept values from 0.1 to 100.0 kg. It contains three errors. Identify each error and state the correction.
def get_weight():
while True
weight = input("Pet weight (kg): ")
try:
weight = int(weight)
except ValueError:
print("Enter a number")
continue
if weight > 0.1 and weight <= 100.0:
return weight
print("Weight must be between 0.1 and 100.0 kg")
Spec 2.10.4–5
- Line 2: missing colon after
while True(1); add:(1). - Line 5:
int()rejects decimal weights such as 2.5 (1); usefloat()(1). - Line 9:
> 0.1rejects 0.1 (1); use>= 0.1(1).
Corrected code:
def get_weight():
while True:
weight = input("Pet weight (kg): ")
try:
weight = float(weight)
except ValueError:
print("Enter a number")
continue
if weight >= 0.1 and weight <= 100.0:
return weight
print("Weight must be between 0.1 and 100.0 kg")
print(get_weight())
Pet weight (kg): heavy Enter a number Pet weight (kg): 0.05 Weight must be between 0.1 and 100.0 kg Pet weight (kg): 0.1 0.1
Complete a test plan for the weight input by giving one item of test data for each type and the expected result: valid, boundary, invalid, erroneous.
Spec 2.12.4
- Valid, e.g. 12.5, accepted (1)
- Boundary, e.g. 0.1 or 100.0 accepted / 0.09 or 100.1 rejected (1)
- Invalid, e.g. 150 or −3, rejected with message (1)
- Erroneous, e.g. "ten" or blank, rejected with message (1)
The system stores 40,000 pet records sorted by pet ID. Explain why binary search is more suitable than linear search for finding a record.
Spec 2.11.6
- The list is already sorted, which binary search needs (1).
- Binary search halves the remaining records each comparison, so needs about 16 comparisons for 40,000 (1)
- whereas linear search could need up to 40,000, so binary search gives much faster results for staff (1).
(Total for Question 6 = 13 marks)
The group plans to add an AI chatbot that asks clients about their pet's symptoms before booking. Explain two impacts of this on the surgery staff.
Spec 3.1.1, 3.2.1
- Impact (1) + explanation (1), twice. E.g. reception staff take fewer routine calls (1) so they have more time for clients in the surgery (1); staff may fear job losses (1) lowering morale (1); vets must check AI triage is accurate (1) because wrong advice could harm animals and the practice's reputation (1).
Discuss the digital inclusion issues the group must consider when moving appointment booking online.
Spec 3.1.2–3
Indicative content: elderly clients may lack digital skills or confidence; rural clients have poor connectivity; some lack suitable devices; site must meet accessibility standards (large text, screen reader support, plain language); keep phone booking as an alternative; assisted digital support at reception; benefits of 24/7 booking for many clients; risk of excluding loyal clients who may go elsewhere.
(Total for Question 7 = 10 marks)
Explain how two data protection principles apply to the way the group stores clients' details.
Spec 4.1.3
- Principle (1) applied (1), twice. E.g. security: records encrypted and access restricted to staff who need them (1)(1); adequacy: only collect details needed to treat the pet and contact the owner (1)(1); retention: delete records of clients who have left after a set period (1)(1); accuracy: owners can update contact details (1)(1).
A veterinary nurse looks up the records of a celebrity's dog out of curiosity. Explain which law may have been broken and the possible consequences for the nurse.
Spec 4.1.4
- Computer Misuse Act 1990, section 1: unauthorised access (1); accept data protection breach.
- Consequence (1) + development (1): e.g. dismissal for gross misconduct (1) and possible prosecution, fine or prison (1).
(Total for Question 8 = 7 marks)
Evaluate the group's plan to replace paper records and telephone booking with the new online system. In your answer, consider the legal requirements, the impact on clients and staff, and how the development team should approach the problem.
Synoptic: spec 1.3, 3.1, 4.1
Indicative content:
- Benefits: 24/7 booking; records available at all six surgeries; fewer lost paper records; automated reminders reduce missed appointments; online payments.
- Legal: personal data must meet data protection principles (security, retention, accuracy); staff training and access control; computer misuse awareness; accessibility; DSE assessments for staff using screens more.
- Clients and staff: digital inclusion of elderly and rural clients; staff retraining and resistance to change; reduced phone workload.
- Development approach: decomposition and modularisation suit a small team; top-down design from requirements; abstraction of what each module needs; thorough testing; root cause analysis after faults.
- Risks: system failure stops bookings at all sites; data breach; cost.
- Judgement: e.g. worthwhile if phone booking is kept for those who need it, data protection is designed in, and the system is tested and rolled out carefully.
(Total for Question 9 = 12 marks)
TOTAL FOR SECTION B = 60 MARKS
TOTAL FOR PAPER = 90 MARKS
END OF PAPER