OCR · GCSE · Computer Science

    Course version: J277 · Version from Sept 2022

    Create, interpret, correct, complete, and refine algorithms using…

    Full specification wording

    Designing, creating and refining algorithms: Create, interpret, correct, complete, and refine algorithms using Pseudocode Flowcharts Reference language/high-level programming language

    An algorithm is a precise sequence of steps that solves a problem.

    Checked against the OCR J277 specification on .

    • Point 3 of 5
    • 4 key terms

    Study notes

    From the checked teaching notes for this specification point.

    The idea

    An algorithm is a precise sequence of steps that solves a problem. This statement covers five skills across four notations: pseudocode, flowcharts, OCR reference language and a high-level language such as Python. Creating means writing a correct algorithm from a problem description. Interpreting means reading an algorithm and stating its purpose or output. Correcting means finding and fixing logic errors. Completing means filling gaps so the algorithm works. Refining means improving an already working algorithm, for example by removing repeated code or handling invalid input. The same logic can be expressed in any notation: a count-controlled loop is 'for i = 1 to 10' in pseudocode, a loop-back arrow in a flowchart, and 'for i in range(1, 11):' in Python. Assessment focuses on whether the logic is correct and complete, not on decorative presentation.

    What earns the marks

    • Creating an algorithm means translating a problem description into ordered steps using sequence, selection and iteration in the required notation.
    • Interpreting an algorithm means tracing it with sample data to state its purpose, outputs or behaviour, including edge cases.
    • Correcting an algorithm means locating logic errors such as wrong conditions, off-by-one loop bounds or misplaced statements, then amending them.
    • Completing an algorithm means supplying missing lines or symbols so that it fulfils the stated purpose without changing the given logic.
    • Refining an algorithm means improving a working solution, for example by removing duplication, using a loop or function, or validating input.
    • The same algorithm can be represented in pseudocode, a flowchart, OCR reference language or a high-level language, and translating between them preserves the logic.

    Common mistakes and how to put them right

    • Confusing '=' with '==' in conditions.

      Put it right: Is to use a single '=' for assignment and '==' for comparison in pseudocode and Python.

    • Using 1-based counting in Python loops.

      Put it right: Is to remember range(1, 11) produces 1 to 10, and that Python indexes lists from 0.

    • Correcting an algorithm by rewriting it entirely.

      Put it right: Is to make the smallest change that fixes the logic error while keeping the given structure and variable names.

    Exam tips

    • Trace algorithms line by line with a trace table, recording each variable after every change, to interpret output and spot errors.
    • When completing code, check indentation and matching constructs such as ENDIF, NEXT or closing brackets before submitting.
    • When refining, state what you changed and why, for example 'replaced repeated input statements with a while loop to validate the entry'.

    Try the lesson

    The start of the Designing, creating and refining algorithms: Create, interpret, correct, complete, and refine algorithms using Pseudocode Flowcharts Reference language/high-level programming language lesson, made from checked teaching notes for this specification point.

    Have a go first

    In a flowchart, which symbol is used to represent a decision?

    Listen

    An algorithm is a precise sequence of steps that solves a problem. This statement covers five skills across four notations: pseudocode, flowcharts, OCR reference language and a high-level language such as Python. Creating means writing a correct algorithm from a problem description. Interpreting means reading an algorithm and stating its purpose or output. Correcting means finding and fixing logic errors. Completing means filling gaps so the algorithm works. Refining means improving an already working algorithm, for example by removing repeated code or handling invalid input. The same logic can be expressed in any notation: a count-controlled loop is 'for i = 1 to 10' in pseudocode, a loop-back arrow in a flowchart, and 'for i in range(1, 11):' in Python. Assessment focuses on whether the logic is correct and complete, not on decorative presentation. A strong answer earns marks for these points. Creating an algorithm means translating a problem description into ordered steps using sequence, selection and iteration in the required notation. Interpreting an algorithm means tracing it with sample data to state its purpose, outputs or behaviour, including edge cases. Correcting an algorithm means locating logic errors such as wrong conditions, off-by-one loop bounds or misplaced statements, then amending them. Completing an algorithm means supplying missing lines or symbols so that it fulfils the stated purpose without changing the given logic. A common slip: Confusing '=' with '==' in conditions. Instead, is to use a single '=' for assignment and '==' for comparison in pseudocode and Python. Exam tip: Trace algorithms line by line with a trace table, recording each variable after every change, to interpret output and spot errors.

    Key words

    Say what each word means before you turn the card.

    Creating

    Try answering aloud or in your head before turning the card.

    Interpreting

    Try answering aloud or in your head before turning the card.

    Correcting

    Try answering aloud or in your head before turning the card.

    Refining

    Try answering aloud or in your head before turning the card.

    See every definition
    Creating
    Writing a correct algorithm from a problem description, translating it into ordered steps using sequence, selection and iteration in the required notation.
    Interpreting
    Reading an algorithm and stating its purpose or output, tracing it with sample data to state its behaviour, including edge cases.
    Correcting
    Finding and fixing logic errors such as wrong conditions, off-by-one loop bounds or misplaced statements, then amending them.
    Refining
    Improving an already working algorithm, for example by removing repeated code or handling invalid input.

    There is more to this lesson

    The full lesson goes on to check your understanding and help you earn the marks. Create a free account to carry on, with your progress saved.

    Carry on with the full lesson

    A week of Premium from your first lesson · Then the free plan continues · No card, no charge

    Test your understanding of Designing, creating and refining algorithms: Create, interpret, correct, complete, and refine algorithms using Pseudocode Flowcharts Reference language/high-level programming language

    Active recall beats re-reading. Take an instant quiz now to test what you’ve learned and lock it into long-term memory.

    Take topic quiz

    A week of Premium from your first lesson · Then the free plan continues · No card, no charge