This document discusses teaching mathematical problem solving. It begins by defining what constitutes a problem versus a routine exercise, noting that problems are unfamiliar, unstructured, and complex. It then discusses how teaching problem solving requires going beyond memorization and standard techniques to focus on conceptual understanding. Several examples of complex, unfamiliar problems are provided. The document emphasizes the importance of supporting student engagement through scaffolding, modeling, and valuing explanation over just obtaining answers. Finally, it discusses the critical role of metacognition in problem solving, providing examples of metacognitive questioning techniques and heuristics students can use to monitor and regulate their problem solving activity.