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.

1 Teaching analogy template

________ is like ________ except ________. Explanation of similarity. Explanation of difference.

A good teaching analogy has three parts:

  1. The topic being taught
  2. A well-understood topic that this new topic is like in some meaningful way, and an explanation of that similarity.
  3. An explanation of differences.

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 islinked list” just another word for array?” Always point out the limitations of the analogy.

2 Why analogies work

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.

3 Analogy construction is a learnable skill

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

  1. Pick a topic x you teach
  2. Pick n objects or events x_1, x_2, \dots, x_n which you see or have recently experienced and for each
    1. say x is like x_i
    2. come up with an explanation of the similarity.
    3. say unlike x_i, x and then explain a difference