Computing science
Designing an algorithm
Before designing an algorithm it is important to first understand what the problem is. Algorithms can be designed using pseudocode or a flowchart, and the standard notations of each should be known.
Logical reasoning
There is almost always more than one solution to a problem. Logical reasoning is used to predict the outcomes of the algorithms that are designed to solve a problem, to help select the best solution.