A step-by-step procedure for solving a problem.