Learning objectives

Apply abstraction to a problem by deciding which details to keep and which to leave out, and justify those choices against the stated purpose of the solution

Decompose a problem into sub-problems and present the result as a structure chart or a top-down design, identifying the inputs, processes and outputs of each module

Express an algorithm as pseudocode, as a flowchart and as structured English, and convert between these forms without changing what the algorithm does

Complete a trace table for a given algorithm and set of test data, and use the completed table to find where a logic error occurs

Write and explain a linear search and a bubble sort, and (A Level) a binary search and an insertion sort, stating the condition each one requires of the data it is given

(A Level) Compare algorithms by counting the comparisons and the swaps they make on best-case, average and worst-case data, and use that comparison to justify choosing one over another

Record the name, data type and purpose of each identifier in an identifier table, and use stepwise refinement to break an algorithm down until every step can be coded directly

(A Level) State in Big O notation how the time and the memory an algorithm needs grow with the size of its input, and compare algorithms by their order of growth

Continue with a revision plan

These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.