By Mike Jackson.
Having been an instructor on four Software Carpentry workshops, and inspired by Aleksandra Pawlik's top tips for helpers at a Software Carpentry workshop and Phil Fowler's on hosting a workshop, here are my top tips on being an instructor.
1. Relax... you don't have to be an expert!
You don't have to be an expert in the subject you are teaching to teach it. I've taught both Mercurial and Make at workshops despite never having used these technologies before. If you spend some time studying the material and can talk intelligently about it, then that will serve you well. Familiarity with general principles and concepts is what is required, not in-depth knowledge about esoteric details of specific technologies for which you have a search engine!
2. Draw upon your own experiences to bring the material to life
Anecdotes based upon your personal experiences of the concepts and tools you are teaching can help show to attendees how these work (or don't work) in practice, give them helpful hints and tips that you have learned, or even serve as cautionary tales!
3. Show, don't tell
As for writing good fiction, so too for workshops. If an attendee asks you a "what if" question (e.g. "what if two developers change the same repository file at the same time?") don't just tell them the answer ("well, what happens is...") but show them ("what happens? well, let's take a look and see..."). This may require some trade-off between the time you have available and whether the question would be of general interest to the workshop attendees.
4. Look upon mistakes as opportunities
When doing things live it can be easy to type in the wrong command, make a spelling mistake or forget an important option. Relax! Mistakes happen. Point out to the attendees what you've done wrong and, as you undertake your recovery actions, explain what you're doing and why. It can be as instructive for attendees to see what mistakes might arise, and how to fix these, as it can be to see a perfect, error-free tutorial.
5. Don't say that anything is obvious or easy
Things which may be obvious or easy to an expert, may appear opaque and difficult to your attendees. No-one likes to be made to feel that they're stupid! And, on a related note...
6. Beware of doing things which are second-nature to an expert
Having used UNIX for 20+ years, I automatically use the up arrow to return to previously-executed commands and CTRL+A and CTRL+E to move to the start and end of a line. This has left some attendees bemused at the instant appearance of commands and at my cursor springing about like a mad thing. Think about whether what you are doing will be clear to your attendees. If in doubt, explain!
7. Keep your attendees with you
When you are instructing, it can be easy to plough on in an attempt to get your session finished on time. Your helpers can catch the occasional straggler, but they will be overwhelmed if more than a handful of attendees fall behind. Make sure you monitor the vibe in the room, regularly check how everyone's getting on, and try and structure your session so that there are rest points where everyone can catch up and get in-synch once more.
You should not view your syllabus as set in stone, but rather as a guideline as to what your workshop will intend to cover. If you suspect your attendees need more time on a specific concept or tool, ask them if they need more time. If you sense there's interest in something that has arisen but isn't on the syllabus, again, confirm with the attendees and explore it. The workshop is for the attendees so allow your syllabus to evolve based on their experiences and requirements.