Skip to content

9618 · 9.2

Algorithms — common mistakes

Common exam mistakes on 9618 Algorithms. Learn what loses marks, then practise the topic with Examiner’s Ink.

Exam tip 1

Examiners are not testing your knowledge of a specific programming language like Python or Java. Your pseudocode should be clear, logical, and follow the standard conventions (e.g., DECLARE, INPUT, OUTPUT, IF...THEN...ELSE, ← or <<- for assignment). As long as another programmer can understand your logic, you will get the marks.

Exam tip 2

Before finalising your algorithm, perform a quick 'dry run' or 'trace' with test data. For the cinema example, test with age 10 (discount), age 30 (full price), and age 70 (discount). Also test the boundary values: 15, 16, 64, and 65. This helps catch logical errors.

Is my pseudocode marked on being exactly the same as the mark scheme?

No. Your pseudocode is marked on its clarity, logic, and whether it correctly solves the problem. There are often multiple valid ways to write the pseudocode. As long as it follows standard conventions and is unambiguous, you will be credited.

What is the difference between an algorithm and a program?

An algorithm is the abstract, logical plan for solving a problem, independent of any programming language. A program is the concrete implementation of that algorithm, written in a specific language (like Python, Java, or VB.NET) that a computer can execute.

Do I have to use flowcharts in the exam?

You are more likely to be asked to write pseudocode. However, questions may require you to read, understand, or trace a given flowchart. You must be familiar with the standard flowchart symbols and be able to follow the logic they represent.

What does the arrow `<-` or `←` mean in pseudocode?

This is the assignment operator. It means 'is assigned the value of' or 'gets'. For example, Counter<Counter+1Counter <- Counter + 1 means the new value of the Counter variable is set to its old value plus one. It is used to distinguish from the == operator, which is often used for comparison in conditions (e.g., IFX=10THEN...IF X = 10 THEN...).