๐Ÿงฉ Topic 7

Algorithm Design & Problem-Solving

Learn how programmers understand problems, break them into manageable parts, design clear algorithms, test solutions and apply searching and sorting techniques.

Turn a problem into a clear solution. Begin with the development process, analyse and decompose the problem, represent the solution with diagrams and pseudocode, then test, trace, search and sort.

Choose a lesson

Follow the sequence or jump directly to the algorithm design skill you need.

7.1

Program Development Life Cycle

Understand the stages used to plan, design, develop, test and improve a computer solution.

FoundationOpen lesson
7.2

Analysis Stage

Identify the purpose, inputs, processes, outputs and requirements before designing a solution.

Problem analysisOpen lesson
7.3

Decomposition

Break a large problem into smaller, manageable sub-problems that can be solved one at a time.

Computational thinkingOpen lesson
7.4

Structure Diagrams

Show how a complex problem can be divided into connected modules using a clear hierarchy.

Visual designOpen lesson
7.5

Flowcharts

Use standard symbols and arrows to represent the order, decisions and repetition in an algorithm.

Algorithm diagramsOpen lesson
7.6

Pseudocode

Write language-independent instructions that communicate an algorithm clearly before coding begins.

Algorithm writingOpen lesson
7.7

Validation, Verification and Test Data

Check that data is sensible and accurate, then use normal, abnormal and extreme test data.

7.8

Trace Tables

Follow an algorithm step by step and record how variables and outputs change during execution.

Dry runningOpen lesson
7.9

Linear Search

Understand how a list is checked one item at a time until the target value is found.

SearchingOpen lesson
7.10

Bubble Sort

Follow repeated comparisons and swaps to place values into the correct order.

Final lessonOpen lesson
โ† Return to Topic 6Continue to Topic 8 โ†’