How to teach online
Objectives
Understand the benefits and disadvantage of online teaching, compared to in-person
Set up a good screen share
Understand the benefits and disadvantages of team teaching
Prepare for the teaching practice
Why teaching mechanics matter
When you teach, you are mainly showing a basic example for the learner to follow along
The learner has a lot more to think about than you do, so you need to minimize the possible distractions and unnecessary weirdness.
A learner will often only one small screen, limiting the number of things that they can think about.
You are must faster than learners (5 times possibly?) You have to do things to slow yourself down.
It’s easy to save these mechanics until the end, and then you run out of time.
Shell sharing
When doing any demonstration, there are difficulties:
If one misses something, you can’t rewind to see it - is there any way to catch up?
The learner must get oriented with the whole picture, while instructor knows precisely where to focus.
A good shell share has some of the following properties:
Large font
Shell history, available separately from the main shell window
Closely matches the type-along instructions
We have a collection of shell sharing systems:
We will look over lesson presentation hints.
There are other things you can copy
Whatever you do, do something.
Discussion
The instructor will demonstrate several shell-sharing systems. You will use this in the teaching practice.
Screen sharing
Discussion
Look at the various screen layouts in the CodeRefinery manuals. Use the HackMD to comment about what which are better or worse.
HackMD prototype
- S1
- good:
- bad:
- S2
- good:
- bad:
- S3
- good:
- bad:
- S4
- good:
- bad:
- Student layouts:
- ...
- Instructor layouts:
- ...
Many learners will have a smaller screen than you.
You should plan for learners with only one small screen.
A learner will need to focus on both your screen share and their work.
Sharing your a whole screen is almost always a bad idea, if you want the learners to do anything at the same time.
If you constrict yourself, then your experience is more similar to that of a learner.
Vertical sharing:
CodeRefinery has recently started trialing a vertical share system, where you share a vertical half of your screen.
This allows learners with one screen to display your screen side-by-side with their learn
Zoom provides a “Share a part of screen” that is good for this.
Meta-talk
Don’t just teach, also make sure you guide the learners through the course.
You know what you just discussed, and what is coming next, but learners are often stuck thinking about now.
Give a lot of “meta-talk” that is not just about the topic you are teaching, but how you are teaching it.
Examples
Why you are doing each episode
What is the purpose of each exercise
Clearly state what someone should accomplish in each exercise and how long it will take - don’t assume this is obvious.
What is the point of each lesson. How much should people expect to get from it? Should you follow everything, or are some things advanced and optional? Make that clear.
Teach teaching
Demonstration-based teaching require two different types of focus:
Doing the mechanical steps as a demonstration
Explaining why you are doing it
This is a lot for one person to keep in mind, so can multiple people work together for this?
Team teaching idea:
One person is doing the demonstrations
One person is giving the commentary about what they are doing
The lecture becomes a discussion between two people instead.
Advantages:
This reduces the pressure on each person (reduces demo effect)
You are less likely to forget things
It slows you down in teaching
It makes the lesson more interesting to listen to
One person can follow questions
Great for introducing new instructors (which half is easier to start with?)
Disadvantage:
Requires two people’s time
Requires coordination when preparing (slows you down in preparation)
Unfamiliar concept to most people
Questions
Questions are great, and important for any practical and interactive class
But questions in main room doesn’t scale to very large rooms.
CodeRefinery strategy: HackMD for questions
Chat is not good enough, you can’t reply to old things
HackMD allows threaded replies and follow up later
You need some other helpers to watch HackMD and answer, and bring things up to you. And let you know how things are going.
Learners can ask anonymously
Learners don’t have to worry about interrupting the flow.
Disadvantage: can produce information overload, warn people to not follow too closely
With too few people, it can turn out to be very quiet.
We will learn more about HackMD questions tomorrow in Running a workshop: online.
See also
HackMD mechanics and HackMD helpers on CodeRefinery manulas.
Teaching practice
In Teaching practice and feedback, you will break into groups and try to apply these strategies to a five-minute example session.
See also
In this lesson:
CodeRefinery manuals:
Lesson preparation hints (more focused on in-person)
Instructor introduction - has a lot of tips for new instructors, but also more things about the workshop.