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.
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.
- Design week-by-week 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 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.