Content Area 1: Problem Solving Flashcards
Computational thinking
The ability to analyse problems and express their solutions in a way that a computer could also execute. This involves skills such as decomposition, pattern recognition, abstraction, and algorithm design.
Top-down approach
A problem-solving technique where a large problem is broken down into smaller, more manageable sub-problems to be solved independently.
Bottom-up approach
A problem-solving technique where a solution is built by starting with small, individual components and gradually combining them to create a complete solution.
Modularisation
The process of dividing a program or system into smaller, independent, and reusable units called modules, each performing a specific task.
Decomposition
The process of breaking down a complex problem or process into smaller, more manageable parts to understand its main features and make it easier to solve.
Pattern recognition
Identifying and describing trends and similarities within and between problems and processes, and recognising common features between a given problem and existing solutions to make predictions and assumptions.
Abstraction
The process of identifying the essential information needed to solve a problem and filtering out unnecessary details at different stages. This includes defining inputs, expected outputs, things that vary and remain constant, key actions, and repeated processes.
Algorithm
A well-defined sequence of instructions or steps, typically in a logical order, to solve a problem or achieve a specific outcome.
Flowchart
A visual representation of an algorithm using standardised symbols to illustrate the sequence of steps and decisions.
Pseudocode
A way of describing an algorithm using a combination of natural language and programming-like constructs, without adhering to the exact syntax of a specific programming language. It is used for planning a digital solution.
Programming constructs (sequence)
The order in which instructions in an algorithm or program are executed, one after the other.
Programming constructs (selection/branching)
A control flow structure in an algorithm or program that allows different sets of instructions to be executed based on whether a certain condition is true or false (e.g., IF, THEN, ELSE, ELSEIF, CASE).
Programming constructs (iteration/looping)
A control flow structure in an algorithm or program that allows a set of instructions to be repeated a certain number of times (e.g., For loop) or while a certain condition is met (e.g., While loop).
Algorithm output
The result or outcome produced by executing an algorithm with a given set of inputs.
Algorithm errors
Mistakes or faults in the design or implementation of an algorithm that cause it to produce incorrect results or behave unexpectedly.