---
title: How I Teach
date: 2019-07-01
description:
  How I apply the science of learning to help students retain what I teach them,
  and how I learn.
categories:
  - learning
meta:
  keywords:
    - teaching
    - learning
bannerCloudinaryId: kentcdodds.com/content/blog/how-i-teach/banner
---

As a companion to this blog post, I had a conversation with
[Taylor Bell](https://twitter.com/taylorbell) about how I prepare and run
workshops (in-person as well as remote). You can
[view a transcript of that conversation here](https://otter.ai/s/LHvfSPAAT4iNIEoGZSg8WQ),
[read through some notes on notion](https://www.notion.so/Taylor-and-Kent-talk-about-Remote-Workshops-e6a4b448d9ee449497aa215d32d4e9f8),
and
[watch the video on dropbox](https://www.dropbox.com/s/4frvj56k11othzu/Edited%20Kent%20%26%20Taylor%20Remote%20Workshop%20Talk.mp4?dl=0)
(or watch it below):

<video
	style={{ width: '100%', maxWidth: 720, maxHeight: 405, marginBottom: 40 }}
	controls
>
	<source
		src="https://www.dropbox.com/s/4frvj56k11othzu/Edited%20Kent%20%26%20Taylor%20Remote%20Workshop%20Talk.mp4?raw=1"
		type="video/mp4"
	/>
</video>

I've been teaching programming for a long time. From the very beginning
actually. I signed up to be a tutor in my first programming class. I did it out
of an effort to
[solidify what I was learning](/blog/solidifying-what-you-learn). Through the
years, I've changed the way that I teach programming concepts to people.

In the last few years, I read a book that totally changed the way I think about
learning and teaching. When I was in school, I found myself constantly
"cramming" for tests. Spending hours before the test just re-reading the text
over and over again hoping it would stick. I couldn't tell you anything about
the stuff I crammed, because I can't remember it at all. I didn't retain that
information.

In my teaching, I'm not interested in hooking people up to a firehose of
information and turning on the water. That's easy. We all have tons of
information in our individual brains that we could just talk about for hours.
Doing that doesn't do anyone any good. I'm more interested in ensuring that the
things I teach find a place in the students' brains and stay locked in forever.
So I've studied and experimented and one method has been the most effective for
me for the last few years and I want to share the concept with you now.

I read a book a few years ago about this. It's called
[Make It Stick: The Science of Successful Learning](https://makeitstick.net) and
it was a game changer for me. I recommend you pick it up and give it a
read/[listen](https://www.audible.com/pd/Make-It-Stick-Audiobook/B00M0EO7EY),
but here's a great summary video about it:

https://youtu.be/tQsIlnuAB9E

In that book, I learned that everything I knew about studying and learning was
totally wrong. And because of this I couldn't teach as effectively. Learning how
people learn and master material made a big impact on the way that I approach
teaching it.

Here are a few of the things that I started doing after reading this book:

### Generation - Desirable Difficulties

<callout-success>
	Make and challenge assumptions about brand new concepts
</callout-success>

I have people _do_ the exercises before I teach the concepts they'll be
learning. I use "emoji guides"
([like this](https://github.com/kentcdodds/react-fundamentals/blob/b230ea412aaaca50ecf2537c0cf72516cd0e68e1/src/exercises/06.js#L6-L18))
so they can actually get something accomplished during the exercise. Sometimes
the emoji guides do a ton of hand holding. But making attendees go through the
exercise first opens their brain to prepare it for learning.

This is often pretty uncomfortable for people. Especially for traditional
learners, we're used to attending a lecture, listening to someone talk for an
hour, and writing down everything they're saying. That may help you become good
at transcribing what someone's saying very quickly, but it's not going to help
you learn the material.

By struggling and facing challenges first, your brain has to work and you have
to make and challenge assumptions that you have about what it is you're
learning. The beautiful thing about this is that once you've made a decision
based on your assumption you're either correct or you're not.

If your assumption was correct, then you get a shot of dopamine which will lodge
the knowledge into your brain better. You're not going to get that same shot of
dopamine if someone just tells you the answer without you struggling to get
there.

If your assumption was incorrect, then you remember it even better because
there's a bit of a disappointed feeling associated with getting it wrong and
[that strong emotion will solidify that experience into your memory](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5573739).
(I should note that this is generally an internal dialog/experience that is
personal for each learner and their misconceptions are only made known to other
learners if they choose to share them during the instruction).

Having to struggle through the new concepts before being taught that material is
one of the ways I teach people and help them retain what they're learning.

### Interleave Practice

<callout-success>
	Mix up what you're learning/practicing as you're learning new things
</callout-success>

In the book (and as described in the summary video), they reference a study
where baseball players practiced using different approaches. One group practiced
hitting the same pitch over and over again, then moved on to a different pitch
and practiced that over and over again. The other group had the pitches mixed
up. The one which mixed up the kinds of pitches they received performed better.
We can do that in the things that we're learning and the way we teach as well.

This one is a bit harder to do in a single day workshop with specific things
that we want to learn, but in my material I try to get this by having the
exercises build upon one another so people see the new things they've been
learning on as they work on learning something new.

### Elaboration

<callout-success>Describe what you learned in your own words.</callout-success>

At the end of _every_ exercise, I have a link to an "Elaboration and Feedback"
form specific to the exercise. This is where I invite people to write down a few
of the things that they learned (in their own words). Doing this helps them to
connect what they've learned to things they already know which is another
important element for retention.

This one also benefits me because it's an opportunity for me to receive some
quick feedback on the material so I can find places to improve things. I've been
doing this in my workshops since the beginning of 2017, and now over a year and
a half later I have 3.6k responses to this form. Not everyone fills out the
feedback and elaboration form, but I have been able to see which exercises are
working and which aren't based on the responses I get here.

### Active Retrieval

<callout-success>
	Intentionally go back and make your brain try to remember what it's naturally
	forgetting.
</callout-success>

All of my workshop material is available as an open source project on GitHub
("available for private, non-commercial use under the GPL version 3"). I
encourage everyone who takes the workshop material to go through it all again a
week later to interrupt the natural forgetting process that our brains do
automatically (think of it as natural garbage collection).

What's best is if the workshop attendee can put what they've learned into
practice. However, because I can't do much about deciding what they work on in
their day job, the next best thing I can do is make the material available for
them to go through again and encourage them to do so.

By practicing it again and actively retrieving the things your brain is in the
process of forgetting, you tell your brain "nope, this is important, keep it
around please." The more you do that, the better you'll remember it, which is
one reason why I make the material freely available and encourage people to go
through it again a week after the workshop. (This is actually specific advice
that I received from one of the authors of "Make It Stick" when I reached out to
them via email).

## Conclusion

Teaching and learning are not easy. It takes a lot of work. But if you take some
time to learn how to learn, it might just make you a more effective learner and
teacher. Unfortunately, due to the limited time that I have when I'm teaching
(normally only a day or two), some of the principles can't be applied as well as
others, but adapting and applying the principles I learned from Make It Stick
has been the most effective way to teach and ensure the retention of what I
teach. I hope this was helpful to you. Good luck!
