Why do we need to evaluate our solutions?
computational thinkingA problem-solving method using computer science techniques, where possible solutions are developed and presented in a way that can be understood by humans and computers. helps to solve problems and design a solution 鈥 an algorithmA sequence of logical instructions for carrying out a task. In computing, algorithms are needed to design computer programs. 鈥 that can be used to program a computer. However, if the solution is faulty, it may be difficult to write the program. Even worse, the finished program might not solve the problem correctly.
Evaluation allows us to consider the solution to a problem, make sure that it meets the original design criteria, produces the correct solution and is fit for purpose - before programming begins.
What happens if we don鈥檛 evaluate our solutions?
Once a solution has been decided and the algorithm designed, it can be tempting to miss out the evaluating stage and to start programmingThe process of writing computer software. immediately. However, without evaluation any faults in the algorithm will not be picked up, and the program may not correctly solve the problem, or may not solve it in the best way.
Faults may be minor and not very important. For example, if a solution to the question 鈥榟ow to draw a cat?鈥 was created and this had faults, all that would be wrong is that the cat drawn might not look like a cat. However, faults can have huge 鈥 and terrible 鈥 effects, eg if the solution for an aeroplane autopilot had faults.
Ways that solutions can be faulty
We may find that solutions fail because:
- it is not fully understood - we may not have properly decompositionThe breaking down of a system into smaller parts that are easier to understand, program and maintain. the problem
- it is incomplete - some parts of the problem may have been left out accidentally
- it is inefficient 鈥 it may be too complicated or too long
- it does not meet the original design criteria 鈥 so it is not fit for purpose
A faulty solution may include one or more of these errors.