Skip to content
IGCSE·Tuition

Computer Science · Topics

Algorithm design for IGCSE Computer Science

A blank question that says design an algorithm can feel harder than any trace you have done in class.

On this page
  1. What should you know before starting?
  2. One orienting example
  3. In what order should you study the lessons?
  4. What traps catch students in this topic?
  5. How to use the practice set

Algorithm design is the skill of turning a written task into a clear set of steps that someone else could follow and get the right answer every time. It is not about memorising solutions. It is about breaking the task down, naming what goes in and out, and testing the steps before you trust them.

This module follows automation and emerging systems and comes before repetition and arrays in the Computer Science learning guide. The tracing you practise here is the same tracing used in every later algorithm question.

What should you know before starting?

You should know what a variable is, how an assignment such as Total ← Total + 5 changes it, and how to read a simple IF statement. If you are unsure, step through a small algorithm in the pseudocode trace trainer and watch each variable change.

You do not need to know any Python. The module uses Cambridge-style pseudocode, and Python appears only where it helps you see the same logic in another form.

One orienting example

A teacher enters five quiz marks, each out of 20. The program should say PASS if the average is at least 10, otherwise FAIL.

Break it into parts: collect five marks, add them, divide by five, compare with 10, output the word. With the marks 12, 15, 9, 18 and 16 the total is 70, the average is 14 and the output is PASS.

Total ← 0
FOR Count ← 1 TO 5
   INPUT Mark
   Total ← Total + Mark
NEXT Count
Average ← Total / 5
IF Average >= 10 THEN
   OUTPUT "PASS"
ELSE
   OUTPUT "FAIL"
ENDIF

Each lesson in this module adds one habit to that picture: splitting, specifying, tracing, testing boundaries and explaining.

In what order should you study the lessons?

  1. Decompose a task into subproblems: learn to split a task so each part is small enough to test.
  2. Define inputs outputs and constraints: state exactly what goes in, what comes out and what is allowed.
  3. Trace a sequence with a state table: follow the variables row by row so you can check any algorithm.
  4. Design a selection with boundary cases: write IF structures and test the values where the decision changes.
  5. Explain an algorithm independently of a programming language: describe the logic in plain steps and in pseudocode.

Then attempt the mixed practice set and record wrong answers in the mistake log. The safe Python sandbox lets you compare a pseudocode trace with a short program once you are comfortable with both.

What traps catch students in this topic?

  • A subproblem that is just the whole task again. “Work out the result” cannot be tested. Split it until each part has one clear job.
  • Skipping the starting values. A trace that begins after the first update hides initialisation errors.
  • Using more than or equal to by accident. The symbols > and >= give different answers at exactly one value.
  • Testing only typical data. Most faults live at the edges, such as 0, the limit itself, and one step either side.
  • Describing code instead of logic. An explanation that depends on one language’s built-in function does not show that you understand the algorithm.

How to use the practice set

Work on paper. Write each trace table before you open an answer, and predict the final output first. Compare the working, not just the last line, then note which lesson each mistake belongs to.

If you want a teacher to look at how you design and check your own algorithms, our online one-to-one Computer Science tuition is built around tracing and debugging your own attempts.

Questions people ask

Do I need to write real code to design an algorithm?

Not first. Design happens before code: you decide the steps, the inputs, the outputs and the tests. Cambridge-style pseudocode or plain steps are enough to show this. Check the current 0478 syllabus on the Cambridge page for how your exam year expects answers to be written.

What is the difference between pseudocode and a flowchart?

Both describe the same steps. A flowchart uses shapes and arrows, while pseudocode uses structured text such as IF, FOR and WHILE. Pick whichever the question asks for. The logic, the order of steps and the tests should be identical in either form.

How do I know my algorithm is right?

Trace it by hand with test data, including boundary values and an empty or extreme case. If the trace table gives the result you predicted before starting, you have evidence. If it does not, the table shows you which step to repair.

Is this the same for the 2029 course?

Do not assume. Cambridge lists 0478 for 2026 to 2028 and a separate 0265 page. Confirm your exam year with your exam centre, then read the syllabus for that year before you choose notation.

Sources

  1. Cambridge IGCSE Computer Science 0478 syllabus page

Updated:

Your next step

If you can follow a given algorithm but freeze when you must design one, a one-to-one teacher can watch how you break the task down and step in at the exact point it stalls.

Paid one-hour trial at your assigned teacher’s confirmed rate, starting from RM80. Other fees, schedules and ongoing arrangements are confirmed directly with your teacher after the trial class.

9,000+ students helped through our service