Across fourteen Columbia course offerings, I have learned to distrust one of the most satisfying moments in teaching. The student nods. The example works. The code looks inevitable. Everyone feels that learning happened.
Sometimes it did. Sometimes the student only followed a path that the instructor had already cleared.
I do not want the finish condition for a lesson to be agreement with my explanation. I want evidence that the student can make the next decision without me.
Define the finish before teaching
Before preparing an explanation, I write down what I expect the student to do later. The target is rarely “know Dijkstra’s algorithm” or “understand dynamic programming.” Those phrases name topics. They do not name behavior.
A better target describes a decision: recognize when edge weights permit Dijkstra, reject it when they do not, choose a useful state, or explain why a transition accounts for every solution exactly once.
This changes the lesson. If the desired result is recall, a polished derivation may be enough. If the desired result is selection under uncertainty, students need to compare plausible approaches and expose the condition that separates them.
Teach the decision that produced the technique
Technical instruction often begins too late. The instructor presents the final representation, recurrence, or data structure, then explains why it works. The student sees the answer but misses the choice that made the answer possible.
I prefer to begin at the last point where several approaches still look reasonable. What information must the state preserve? Which repeated work is expensive? What claim would make a greedy step safe? Which small input breaks the tempting alternative?
The algorithm is the answer to one problem. The decision that reveals it is the reusable part.
Remove support before confidence arrives
Guided work should become independent work during the lesson, not as homework after it. I can first model one decision, ask students to make the next one, and then give them a blank problem where the useful representation is not announced.
The transition can feel abrupt. That discomfort is useful evidence. It shows which parts of the reasoning belonged to the student and which parts were supplied by the room.
When students get stuck, I try to restore the smallest missing piece. A counterexample may be enough. A question about the constraints may reopen the path. Giving the next line of the solution makes the exercise move faster, but it also hides the boundary of independent understanding.
Separate fluency from transfer
A student can reproduce a method on a nearly identical problem and still fail to recognize it under a different surface form. That is fluency with an example, not command of the idea.
I look for transfer in a problem that changes the story, the representation, or the tempting wrong approach. The connection should be available, but it should not be labeled. If the student chooses the method and can state the clue that justified it, the lesson survived a change of context.
Transfer also includes refusal. A student who knows when a technique does not apply has learned more than one who uses it everywhere.
Test after familiarity fades
Immediate success measures the lesson while the lesson is still in working memory. I want another observation after a delay. Can the student reconstruct the proof next week? Can they solve a mixed problem without a topic heading? Can they identify which assumption they forgot?
The delayed result should change the next class. If many students remember the implementation and lose the invariant, more implementation drills are the wrong response. If they can prove the method but cannot select it, the course needs mixed recognition work.
My finish condition is stricter. Before I call a lesson complete, I want five pieces of evidence:
- the student can state the problem the technique solves;
- the student can reconstruct the decisive step without copying it;
- the student can name an assumption that the proof needs;
- the student can reject a nearby misuse;
- the student can recognize the idea in a new problem after a delay.
No single exercise proves mastery. This finish condition does force the course to collect better evidence than nods, clean notes, or one familiar accepted solution.
The lesson is finished when the explanation can leave and the method remains.