Designing Efficient Solutions (SQA National 5 Computing Science): Revision Note
Exam code: X816 75
Designing efficient solutions
How do you design an efficient solution?
Designing an efficient solution depends on:
The problem
Your skill level in using structure diagrams, flowcharts, and pseudocode
In the exam, you will be expected choose the most suitable design tool to solve the problem
Example problem
Problem |
|---|
[3] |
Choosing the design tool
The first step is to decide whether to use a structure diagram, flowchart or pseudocode
An efficient solution should be designed in pseudocode, because:
No input or output is required here because the question only asks you to refine step 3 (Calculate and store fine)
The focus is on using correct selection, calculation, and assignment
Example efficient solution
IF days <= 14 THEN
SET fine TO fine / 2
END IFMarking point | Evidence in pseudocode | Award |
|---|---|---|
IF with condition: days <= 14 |
| [1 mark] |
Calculation: fine / 2 | Expression | [1 mark] |
Assign calculated value to variable |
| [1 mark] |
Examiner Tips and Tricks
Should I use pseudocode, a flowchart, or a structure diagram?
In most National 5 exam questions, pseudocode is the best choice
Here’s why:
It’s what examiners use
Most questions that say “Using a design technique of your choice” are marked using pseudocode examplesIt’s quick and clear
You can show your logic using simple words likeIF,THEN, andSET, without drawing boxes or arrowsIt focuses on the logic
You get marks for the thinking, things like decisions, loops, and calculations, not for how neat your diagram looks
Even if your pseudocode isn’t perfect, as long as it’s clear and makes sense, you’ll still get the marks
When to use other design tools
Tool | When to use it | Why |
|---|---|---|
Pseudocode | Most design questions | It’s quick, clear, and matches how examiners think |
Flowchart | When the question specifically asks for one or the logic is very visual | Helps show loops and decisions clearly |
Structure diagram | When breaking a big program into smaller parts | Useful for showing how different sub-programs link together |
Unlock more, it's free!
Did this page help you?