What is an algorithm and how do you write one?
Short answer
An algorithm is a precise, step-by-step set of instructions for solving a problem. It can be written in plain English, as pseudocode or as a flowchart, and then turned into a program. Good algorithms use three building blocks: sequence (steps in order), selection (if/else decisions) and iteration (loops).
Step by step
- Decide the inputs and the expected output.
- Break the problem into small steps in the right order.
- Use selection for decisions: IF ... THEN ... ELSE.
- Use iteration to repeat steps: FOR or WHILE loops.
- Trace through the algorithm with test data to check it works.
Worked example
Pseudocode: find the largest of a list of numbers
- largest ← first number
- FOR each number in the list
- IF number > largest THEN largest ← number
- ENDFOR
- OUTPUT largest
Common mistakes
- Writing vague steps such as "work out the answer".
- Forgetting to initialise a variable before a loop.
- Loops that never end because the condition never becomes false.
A one-to-one lesson with a tutor is the quickest way to fill the gaps before a test or exam. Your first lesson is free.
Find a Computer Science tutor