# 3.1 Fundamentals of algorithms

## 3.1.1 Representing algorithms

Content

Understand and explain the term algorithm.

An algorithm is a sequence of steps that can be followed to complete a task.

Be aware that a computer program is an implementation of an algorithm and that an algorithm is not a computer program.

Understand and explain the term decomposition.

Decomposition means breaking a problem into a number of sub-problems, so that each sub-problem accomplishes an identifiable task, which might itself be further subdivided.

Understand and explain the term abstraction.

Abstraction is the process of removing unnecessary detail from a problem.

Use a systematic approach to problem solving and algorithm creation representing those algorithms using pseudo-code and flowcharts.

Any exam question where students are given pseudo-code will use the AQA standard version. However, when students are writing their own pseudo-code they may do so using any form as long as the meaning is clear and unambiguous.

Explain simple algorithms in terms of their inputs, processing and outputs.

Students must be able to identify where inputs, processing and outputs are taking place within an algorithm.

Determine the purpose of simple algorithms.

Students should be able to use trace tables and visual inspection to determine how simple algorithms work and what their purpose is.

## 3.1.2 Efficiency of algorithms

Content

Understand that more than one algorithm can be used to solve the same problem.

Compare the efficiency of algorithms explaining how some algorithms are more efficient than others in solving the same problem.

Formal comparisons of algorithmic efficiency are not required.

Exam questions in this area will only refer to time efficiency.

## 3.1.3 Searching algorithms

Content

Understand and explain how the linear search algorithm works.

Students should know the mechanics of the algorithm.

Understand and explain how the binary search algorithm works.

Students should know the mechanics of the algorithm.

Compare and contrast linear and binary search algorithms.

Content