What is an algorithm, and how are solutions designed using flowcharts, pseudocode and structure diagrams?
Explain what an algorithm is, describe how a solution is designed and represented using flowcharts, pseudocode and structure diagrams, and explain the role of interface design and decomposition.
A CCEA GCSE Digital Technology answer on algorithms and design for the Programming route (Unit 4), covering what an algorithm is, designing and representing a solution with flowcharts, pseudocode and structure diagrams, decomposition, and interface design.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
Before a program is coded, its logic is worked out as an algorithm and planned through design. The Programming route (Unit 4, Digital Development Concepts) expects you to explain what an algorithm is, describe how a solution is represented using flowcharts, pseudocode and structure diagrams, and explain decomposition and interface design. This is the design stage of the development cycle applied to programming, and it is where a problem becomes a plan that can be coded.
What an algorithm is
The heart of any program is its algorithm, the logic that solves the problem.
Because an algorithm is language-independent, it can be worked out and checked before any code is written. A correct algorithm has clear, unambiguous steps in a sensible order, and it can then be translated into a real programming language during development.
Representing an algorithm
Designers represent algorithms in standard forms so the logic is clear and can be checked.
Flowcharts make the flow and decisions easy to see at a glance, while pseudocode is closer to code and quick to write, so it translates easily into a real language. Both express the same three constructs of sequence, selection and iteration. A structure diagram is useful for showing how a larger problem is divided into modules.
Decomposition and interface design
Two further design ideas matter. Decomposition means breaking a problem down into smaller, more manageable sub-problems, each of which is easier to solve and can be tackled separately; the small solutions then combine into the whole. Interface design plans how the user will interact with the program, including what inputs are needed, what outputs are shown, and how the screen is laid out, so the program is usable as well as correct.
Designing a solution
The exam often asks you to write a short algorithm or place design steps in order, so the skill is turning a problem into a clear plan.
Why this matters
Algorithms and design are how a programming problem becomes a workable plan, and they sit at the design stage of the development cycle. They are examined in Unit 4 and applied directly in the Unit 5 practical, where you design a solution before coding it. Being able to write and read flowcharts and pseudocode, decompose a problem and design an interface is essential to producing correct programs.
Exam-style practice questions
Practice questions written in the style of CCEA exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
CCEA-style (Unit 4)3 marksExplain what an algorithm is and state two ways an algorithm can be represented during design.Show worked answer →
An algorithm is a step-by-step set of instructions, in the correct order, for solving a problem or completing a task (1 mark for the idea of ordered steps that solve a problem).
Two ways to represent an algorithm are a flowchart (a diagram using standard symbols connected by arrows to show the flow) and pseudocode (structured, English-like statements that describe the steps without the exact syntax of a programming language) (1 mark each for two valid methods). A structure diagram is also acceptable. A strong answer makes clear an algorithm is the logic of the solution, which can be written before any code in a language-independent form.
CCEA-style (Unit 4)4 marksA program must read two numbers, add them, and display the total. Write an algorithm for this in pseudocode, and explain why designing it before coding is useful.Show worked answer →
A suitable pseudocode algorithm: INPUT firstNumber; INPUT secondNumber; total = firstNumber + secondNumber; OUTPUT total (2 marks for a correct, ordered algorithm that inputs, calculates and outputs).
Designing it before coding is useful because it lets the programmer work out and check the logic in a clear, language-independent form first, spot mistakes early, and then translate a correct plan into code, which saves time and reduces errors (2 marks: one for working out and checking the logic first, one for spotting errors early or making coding easier). A strong answer stresses that design separates working out the solution from writing it in a specific language.
Related dot points
- Describe the three basic programming constructs, sequence, selection and iteration, explain how each controls the flow of a program, and identify when each is used.
A CCEA GCSE Digital Technology answer on programming constructs for the Programming route (Unit 4), covering the three basic constructs of sequence, selection and iteration, how each controls the flow of a program, and when each is used.
- Explain how programs store data in variables and constants, describe the common data types (integer, real, Boolean, character and string), and explain why the correct data type is chosen.
A CCEA GCSE Digital Technology answer on data, variables and data types for the Programming route (Unit 4), covering variables and constants, the common data types of integer, real, Boolean, character and string, and why the correct data type is chosen.
- Explain how programs are tested using a test plan and normal, boundary and erroneous test data, describe syntax, logic and runtime errors, and explain how a program is evaluated against its requirements.
A CCEA GCSE Digital Technology answer on testing and evaluating programs for the Programming route (Unit 4), covering test plans and normal, boundary and erroneous test data, the types of error (syntax, logic and runtime), and evaluating a program against its requirements.
- Outline the Unit 5 Digital Development Practice controlled assessment for the Programming route, including the CCEA-set task, the analyse, design, develop, test and evaluate stages, and how the work is assessed.
A CCEA GCSE Digital Technology overview of the Unit 5 Digital Development Practice controlled assessment for the Programming route, covering the CCEA-set task, the analyse, design, develop, test and evaluate stages, and how the practical programming work is assessed.
- Describe the stages of the system development life cycle, analysis, design, development, testing, installation and review, explain what happens at each, and explain why development is iterative.
A CCEA GCSE Digital Technology answer on the system development life cycle for the Programming route (Unit 4), covering the stages of analysis, design, development, testing, installation and review, what happens at each stage, and why development is an iterative cycle.
Sources & how we know this
- CCEA GCSE Digital Technology (2017) specification — CCEA (2017)