If I had to pick one skill to be the most useful, most universal teaching skill in any TA’s repertoire, I’d probably pick analogy. Sometimes I might pick the Socratic method, but usually analogy.
________ is like ________ except ________. Explanation of similarity. Explanation of difference.
A good teaching analogy has three parts:
It is tempting to leave out the third part; to say
A linked list is like an array: it has a number of elements, stored in order, first next and so on.
And that’s all well and good, assuming the student understands an array, but it leaves unanswered the important question so is
linked list” just another word for array
?” Always point out the limitations of the analogy.
When you use an analogy, you are bootstrapping the schema building process. The student already has much of the new schema’s parts available in their head inside other schemata; all you have to do is point them out and they can use them as is. But when copying schemata, it is important to know what to keep and what to discard, hence the need for explanations of both the similarity and the difference.
The more analogies you create, the better you’ll become at creating analogies. I recommend all serious teachers put in their daily analogy-building exercise. A basic routine looks like
x is like x_i
unlike x_i, xand then explain a difference