Appearance
A1 · Decomposition
Spec reference: Section A - Computational Thinking
Key idea: Break a complex problem into smaller, manageable sub-problems.
Decomposition
Identifying problems and processes
Before you can decompose a problem, you need to clearly identify and describe it. This means:
- Stating what the problem actually is.
- Identifying the inputs - what data goes in.
- Identifying the outputs - what the system should produce.
- Identifying the processes - what transformations need to happen.
Example: Online shopping checkout
| Element | Description |
|---|---|
| Problem | A customer needs to buy items and pay for them online |
| Inputs | Items in basket, delivery address, payment details |
| Outputs | Order confirmation, stock update, payment receipt |
| Processes | Calculate total, validate payment, update database, send email |
Breaking problems into distinct steps
Once you understand the problem, you break it into distinct steps - each step is a self-contained task that can be understood and completed independently.
Example: Student grade calculator
A program needs to read student marks and output their grade. Decomposed:
- Input student marks for each subject.
- Calculate the average mark.
- Compare average to grade boundaries.
- Output the grade.
- Repeat for each student.
Each of these steps can be further decomposed. Step 3, for example:
- If average ≥ 70 → Grade A
- If average ≥ 60 → Grade B
- If average ≥ 50 → Grade C
- Otherwise → Grade U
Describing processes in structured steps
Once decomposed, you describe each process in structured, numbered steps - similar to writing an algorithm. The language should be clear and unambiguous so that any developer (or examiner) can follow it.
Example: Library book search system
1. User enters a search term (title or author)
2. System searches the database for matching records
3. If matches found:
3a. Display list of matching books with availability status
4. If no matches found:
4a. Display "No results found" message
5. User selects a book from the results
6. System displays full book details and borrowing optionsWhy decomposition matters in the exam
In the BTEC Unit 1 exam, you may be given a scenario and asked to:
- Identify the inputs, processes and outputs of a system.
- Break a problem into distinct steps.
- Describe a process in structured English.
Always be specific - name the actual data being input/output, not just "data goes in" and "data comes out".
Exam-style practice
Question: A hospital needs a system to book patient appointments. Identify the inputs, processes and outputs for this system, and break the booking process into at least five structured steps.
Model answer:
| Element | Description |
|---|---|
| Inputs | Patient ID, patient name, preferred date/time, doctor ID |
| Outputs | Booking confirmation, updated appointment schedule, reminder notification |
| Processes | Check doctor availability, validate patient details, create booking record, send confirmation |
Structured steps:
1. Patient enters their ID and preferred appointment date/time
2. System validates the patient ID against the database
3. System checks the selected doctor's availability for that date/time
4. If the slot is available:
4a. Create a new appointment record
4b. Send a confirmation to the patient
5. If the slot is not available:
5a. Display alternative available times
5b. Patient selects alternative or exitsSummary
| Term | Meaning |
|---|---|
| Decomposition | Breaking a problem into smaller sub-problems |
| Sub-problem | A smaller, self-contained part of a larger problem |
| Structured steps | Clear numbered instructions describing a process |
| Inputs | Data that goes into the system |
| Outputs | Results produced by the system |
| Processes | Operations that transform inputs into outputs |
Test Yourself
Question 1 of 5
What is the main purpose of decomposition in computational thinking?