Loading subject…
Abstraction
Focusing on the essential features of a problem and removing the details that do not affect the outcome, leaving a simplified model that can be reused on similar problems.
Algorithm
A step-by-step set of clear, precise and unambiguous instructions that solves a problem or produces a required outcome. It can be written as sentences, pseudocode or a flowchart before it becomes code.
Computational thinking
The set of techniques used to define a problem and work out how it could be solved, made up of abstraction, algorithmic design, decomposition and pattern recognition. It does not necessarily involve programming.
Computational thinking
A toolkit of techniques for analysing a problem and setting out a solution precisely enough that a machine could carry it out. It is a problem-solving approach rather than a programming activity, and most of it is done before any code is written.
Constraint
A constraint is a restriction or boundary that limits what a solution can be, such as a budget, a deadline, the hardware already in place, or a policy set outside the project. A constraint rules design options out; it is not a target the solution is trying to reach.
Decomposition
Breaking a complex problem or system into smaller parts, each with one clear job, so that every part can be understood and solved on its own.
Evaluation criteria
Evaluation criteria are the measurable benchmarks, fixed before development starts, used to judge whether a finished solution has solved the problem it was built for. They usually cover effectiveness, efficiency, accuracy, usability and maintainability.
Pattern recognition
Identifying similarities, trends or recurring structures within a problem or its data, so that a solution that already works can be reused or adapted.
Problem specification
A problem specification is a written account of the problem a solution must solve, produced before any design or code exists. It sets out the problem statement, the constraints and limitations, the objectives and goals, the input and output specifications, and the evaluation criteria, so the finished solution can be checked against it.
Trace table
A table used to record what happens as an algorithm is executed by hand, with a column for the step, a column for the action, and one column for every variable. A new row is written whenever a value changes.