a systematic way to solve a problem in order to achieve a goal