Metacognitive teaching and teaching for understanding