Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

A few months ago I attended the 2019 rstudio::conf, including the shiny train-the-trainer workshop. It was a two day workshop and it inspired me in many ways. The first day of the workshop focused on the very basics of teaching (R or anything else), and for me it put the spotlight on things I never considered before.

One of the important takeways from the workshop was how to approach educating others: preparing for a course, things you can do during the lessons, and how to self-learn and improve my own teaching methods afterwards.

This led me to create the teachR’s cheatsheet. It outlines the basics of teaching and I chose to give it the flavour of R (in the examples and illustrations within the cheatsheet).

I have contributed it to RStudio’s cheat sheet repo, so you can download it directly from: https://github.com/rstudio/cheatsheets/raw/master/teachR.pdf.

In the cheat sheet you will find three segments:

1. Preparing a new course / workshop / lesson.
2. Things you can do during the lesson itself.
3. Things you should do when the course is completed in order to improve your own teaching methods.

I previously blogged about some of the things learned at the train-the-trainer, and not everything made it to the cheat sheet, so if you’re interested you can read more here.

Here’s an example for some of the things you can find in the cheat sheet.

Designing a new course

The cheat sheet covers the various steps of designing a course, i.e.:

1. Persona analysis of your learners.
2. Defining the course’s goals using Bloom’s taxonomy.
3. Using conceptual maps to grasp what the the course should look like and what related terms/materials should appear.
4. Writing the final exam, the slides, check-ins and faded examples.

Here are some examples relating to 1-2:

Persona analysis

Take a while to understand and characterize your learners: are the novice? advanced? false experts?

What are the learner’s goals from the course? what prior knowledge you can assume (and what not), and do they have any special needs.

If end up with too many personas anticipate trouble – it’s hard to accomodate a diverse crowd, what are you going to miss out on?

Define goals using Bloom’s taxonomy

Bloom’s taxonomy illustrates the levels of learning new concepts or topics.

The Vanderbilt University Center for Teaching has a nice illustration for it.

You can visit the Vanderbilt website for a more thorough explanation about the taxonomy, but suffice it to say that “remember” is the most basic form of acquired knowledge, and the highest levels (at the top of the pyramid) are evaluate and create (being able to evaluate someone else’s work, or create your own noval work).

If we translate that to R, “remember” might translate to: “learners will be able to state the main packages in tidyverse and their purpose” versus “create” which in that context would translate to: “learners will be able to contribute to a tidyverse packages or create their own tidy package.” You can see that the first is something you can teach an R beginner but the latter is much more complex and can be mastered by an advanced useR.

During the course

Some tips I learned at the train-the-trainer workshop, for when you are during the lesson itself.

Sticky notes

At the start of the lesson, give each learner three sticky notes (green, red, and blue). The learners put them on their computers according to their progress:

• Green = I’m doing fine / finished teh exercise.
• Red = Something is wrong, I need help.
• Blue = I need a break

If you see a lot of greens – try to up the pace. If you see a lot of reds, maybe take it easier.

Check-ins

Try to set a few check-ins every hour, to evaluate the progress and make sure that the learners are “with you”. You can even use some kind of online surveying tool to turn this into a “game”.

After the course

Make sure you debrief properly, and learn from your experience. Use surveys to collect feedback. Also measure the time each chapter really takes you, so you can better estimate the time for each type of lesson.

Conclusion

Teaching can be challenging, but it is also rewarding and fun.

It is important to come well prepared, and this cheat sheet can help you checklist what you need to do: https://github.com/rstudio/cheatsheets/raw/master/teachR.pdf

Teaching is an iterative process in which you can keep improving each time, if you measure and learn from your mistakes.