Problem-solving is an iterative process that requires brainstorming, analysis of the problem, development and testing of solutions. It relies on understanding what is known and what is unknown about the problem. That knowledge of the knowns and unknowns is called metacognition. Read full document