problem-solving strategy
A general plan of attack you can use on many different problems, such as working backwards or making a table.
stepwise refinement
Starting with the whole task in one sentence, then breaking it into steps, then breaking each step into smaller steps, until every step is simple enough to code. Also called top-down design.
divide and conquer
Splitting a problem into smaller parts of the same kind (or independent parts), solving each part, then combining the results.
working backwards
Starting from the result you want and reversing the steps to find what you need at the start.
extreme case
An input at the edge of what is allowed, such as 0, an empty list, a negative number or a very large value. Also called an edge case or boundary case.
trial and error
Trying a possible answer, checking it, and using what you learn to make a better try. A program can do this very fast and very systematically.
algorithm
A precise, finite list of steps that solves a problem.