This living document collects James’s Teaching
Principles™.
I am a relatively inexperienced instructor. That’s ok! I am having a
good time and am learning a lot. A consequence of a lack of experience
is I make a lot of mistakes in teaching. To improve, I try not to make
the same mistake twice. But I am also forgetful, so it helps me to
distill insights into principles that I can then refer to later. If you
like Star Trek, they’re sort of my own Robin’s Laws
.
They’re my personal laws. Every time I learn something essential,
I make up a law about it so I never forget.
—Robin Lefler, TNG
episode The Game
This post collects James’s Teaching Principles™. It is a living
document—I plan to edit it on an ongoing basis.
Before getting to the principles, I should emphasize that I have no
idea what I’m doing!!! Through the magic of our Great Educational
System™, I spent nearly 30 years going to school, and nearly zero of
that time being trained how to teach. Now I plan to spend the rest of my
career teaching. Wow. Such education. So you should take all these
principles as my own personal current view on my teaching in my subject
at my institution. I am not trying to tell anyone else what to do.
Also, fair warning that I break these principles all the time. Some
of them are more aspirational than descriptive.
The principles are written as a sort of letter from me to me. So all
occurrences of the pronoun you
actually also refer to me. Also,
when I say something in the imperative tense like do X
, I am
talking to myself. Similarly, when I make a sweeping statement like Y
is wrong
, it should be understood as saying James believes that Y
conflicts with James’s values
, and not anything about anybody
else.
Finally, a warning that this post does not really have a narrative
structure. It’s just a collection of ideas.
- Have meta principles. (And meta-meta principles.)
- Don’t make the same mistake twice.
- Codify lessons learned from mistakes into principles.
- Record principles in a safe place so you can refer to them
later.
- Anything worth saying can be summarized
in one sentence. (Tatlock’s law.)
The goal of teaching
- The goal of teaching is to cause a permanent change in the student’s
brain.
- Make the change a good one!
- Maximize
productive hours
.
- A
productive hour
is an hour spent on the course that led to
a permanent change in the student’s brain.
- This is a very serious thing! For many students, in many courses, I
would argue that the number of productive hours that student got from
the course across the entire term is essentially zero. But I still think
these hours are the primary goal of teaching.
- Even in a perfectly designed course, executed perfectly, and with
perfect students, not all student hours in the course will be directly
productive. That’s ok! Sometimes you need to spend time on something to
access a productive hour later.
Feedback to students
- Center feedback in course design.
- Learning a skill primarily comes from attempting the skill and
getting feedback. So, your job as an educator is to provide
feedback.
- Earlier feedback is better.
- Instant feedback is best.
- Give information-dense, non-cookie-cutter feedback.
- This is fundamentally opposed to instant feedback. But that’s not a
contradiction! It just means we should provide both:
- Instant feedback, which is necessarily automated /
cookie-cutter
- Information-dense, non-cookie-cutter feedback, which is necessarily
higher latency.
- Make flaws in student work obvious to them.
- And do this as early as possible, preferably instantly.
- When in doubt, ask students to “show their work”
- This makes giving rich feedback easier.
- It also resolves questions of the form “do we have to do X (hard)
instead of Y (shortcut)?” in a very generative way, by requiring “proof
of X” rather than “Y without evidence”.
Grading
- Grades should serve feedback.
- Course grades are an institutionally required feedback mechanism,
but they are low bandwidth (at my institution we use a 4.0 scale, so we
have about 5 bits of information per student per course; most other
institutions have even fewer bits of information) and high latency (only
after the course is over). So, seek out and use other feedback
mechanisms to communicate with students, and then make your course grade
simply reflect feedback already delivered through other channels.
- Assignment grades are a common improvement over course grades. They
have an order of magnitude better latency than course grades, but they
still have low bandwidth. Again, seek and design other channels.
- Grading should be a function of productive hours.
- It is very difficult to directly measure how many productive hours a
student put in. So instead, we measure proxies like
number of
problems solved correctly
. But we should not forget that this is a
proxy for productive hours
.
- Another good proxy to mix in is just
hours
. Generally, if the
student puts in more hours, their grade should go up. Conversely, avoid
situations where a student has to do a bunch of work that does not
directly increase their grade.
- Grading should be transparent.
- Students should have access to all grading criteria in advance.
- Students should be able to predict their grade on all assignments as
soon as they submit.
- Common question about this principle: But if the instructor/grader
hasn’t looked at it yet, how can the student possibly predict what the
instructor/grader will decide the grade is?
- Answer: The instructor/grader’s primary job during grading is to
give feedback. The content of the feedback is typically not predictable
to students, at least not in detail. But the grade should be
much more predictable, because the grading system should be designed
that way.
- Students should be able to predict their final course grade at all
times.
- Corollary: Any form of curving is wrong. It means the course grades
are opaque and unpredictable until the instructor sits down to compute
final grades.
Students: motivations and
needs
- Each student is different.
- Each student has different motivations for taking the course.
- Each student needs something different from you.
- Design the course to be accessible to a student who satisfies the
course prerequisites and nothing more.
- Make peace with the fact that in all likelihood this makes the
course worse for the strongest students.
- Design opportunities for strong students to go above and beyond what
is required of them.
Thinking
- Teach students how to think.
- Teach students systems and strategies for problem solving.
When we see a problem like X, then without thinking, we always
start by trying approach Y first.
- Clearly distinguish
turning the crank
from having an
insight
.
- I call this “mechanical” versus “creative” thinking.
- Teach students when it’s ok to turn their brain off and just turn
the crank.
When applying approach Y, we always write out the following
template (brain turned off) and then fill in the template (brain turned
on).
- To teach creative thinking, you must first teach mechanical thinking
that checks whether the creative step works or not.
If you are going to ask your students to guess, you better teach
them how to check.
Feedback from students
- Collect feedback from students.
- Giving good feedback is hard work, so reward students for giving
feedback.
- By increasing their grade.
- By buying them pastries.
- Make requests for feedback frequent (at least once per assignment)
and easy to fill out.
- Make it easy and fast for students to say
everything was fine –
no other feedback
.
- Make it clear that this answer is eligible for the full reward!
- Make it abundantly clear that you are actually looking at the
feedback.
- If there’s something you can change in response, great! Make sure to
mention this was because of feedback :)
- If there’s not anything you want to change immediately, that’s fine!
Be sure to mention that you still heard people.
Principles of communication
- Motivate techniques by having students first confront the
problems those techniques solve.
- Use the “concrete, pictorial, abstract” sequence to explain new
concepts.
- Singapore
math
- In university-level computer science, “concrete” can often mean
something like “what happens when this program is run on these specific
inputs”, rather than physical concreteness such as wood blocks.
- The pictorial method then helps students think about the general
case.
Course design
- Do less.
- Most courses feel packed with material. They need not and
should not feel this way.
- In my experience, almost every individual topic can be cut
with no great harm.
- But some topics depend on others.
- Obviously if you apply this reasoning separately to each topic in
the course, you get the empty course.
- The course should have a one-sentence summary.
- Design week-by-week (or unit-by-unit) rather than
lecture-by-lecture.
- Rarely does a topic take less than a week to cover adequately.
- Some topics require more than one week. In that case, break it up
into multiple topics of a week each.
- Every week (unit) should have a one-sentence summary.
- For each week, design the homework first. Then the TA-led section.
Then lectures.
- Orient the course calendar so that homework are due right before
section.
- Each week’s worth of lectures should prepare students to go to
section.
- Section should help students begin the next homework.
Lecture design
- Do less.
- Most lectures feel packed with material. They need not and
should not feel this way.
- Every lecture should have a one-sentence summary.
- A lecture should introduce a skill or idea and then give
absurdly easy examples.
- Easier than you think. Even easier than that. No, easier still.
- Give students a chance to work on the examples with their neighbor
and/or by themselves.
- You should basically never put an example up and immediately ask for
a volunteer to give the answer.
- I like to think of this in terms of the metric “how many brains in
this room are engaged right now?”
- When you ask for a volunteer, only a handful of brains engage. When
you ask people to work with their neighbor, more like 90% of the brains
engage.
- There should usually be written notes.
- There should usually not be slides (!).
Section design
- There should always be a worksheet.
- The worksheet should mirror the homework.
- The worksheet problems should be a bit harder than the in-class
examples but a bit easier than the homework problems.
- There should usually not be slides.
- Take attendance, but don’t grade on it unless necessary.
Course narrative
- The course should have a story.
- The story should be summarized in one sentence.
- Every week (unit) should have a story.
- The story should be summarized in one sentence.
- Every lecture should have a story.
- The story should be summarized in one sentence.