Trainers Guide

Trainer Meetings

The Trainers group meets regularly. Our meetings include three sections: 1) Discussion, where we share experiences and get advice about running instructor training events, 2) Announcements, and 3) Topic of the Month, which may include curriculum updates, active conversations occurring on GitHub or other Trainer channels, guest presentations, etc. Upcoming meetings are listed on our Etherpad and on the Community Calendar. If you are not a Trainer, but are interested in joining a meeting, please contact Erin Becker (ebecker@carpentries.org). Minutes for these meetings are available.

Signing up to Teach an Instructor Training Event

  1. The Program Manager will send an email to the Trainers list asking all Trainers to fill in their calendar for the upcoming time period. Trainers should sign up for as many days as they are available and hold those dates in their calendar until the schedule is confirmed.
  2. The Program Manager will confirm events with individual Trainers, at which point they are free to release all other dates on their calendar.
  3. Member sites will sign up for available dates. The Program Manager will let Trainers know which sites they will be teaching as they sign up.
  4. If no member site signs up one month before the event, the event will become an open instructor training or be cancelled, depending on need. The Program Manager will notify instructors of this decision.

A calendar for upcoming instructor training events is here.

Trainer Checklists

Running an Instructor Training Event (General)

Four weeks before the event

  • Contact your co-Trainer(s) and decide who will teach what.
  • Create an event Etherpad (using the Etherpad template) or Google Doc (using the Google Doc template) and a workshop website (using the training template). Note the Google Doc is not currently maintained and may not be in sync with lesson materials.
  • Send Etherpad/Google Doc and website links to training@carpentries.org.

Two weeks before the event

  • Introduce yourself to your trainees.

One week before the event

  • Plan logistics with co-Trainer(s)
  • Review (or set aside time closer to the event to review) the pre-assessment survey results for your workshop
  • If teaching remotely:
  • Get acquanted with using Zoom for videoconferencing.
  • Test videoconferencing set up with co-Trainer(s) using login credentials provided.
  • Decide with co-Trainer(s) whether all Trainers should be present for the full event or if you will log on during your scheduled teaching times only.
  • Make a copy of the Virtual Minute Cards template and personalize for your event.
  • If teaching in person:
  • Confirm with your host that breakout rooms are available or make an alternate plan
  • Create a plan for printing handouts & determine who will bring sticky notes
  • Make sure you’re prepared for the audiovisual setup in your room with the correct dongles/connectors etc.
  • Check on availability/timing of coffee, lunch, or any other details that matter to you

During the event

  • Take attendance.
  • Remind member trainees to fill out application (Open Training applicants have already done this).
  • Remind trainees to sign up for demo, discussion (links in checkout checklist).
  • Monitor the Etherpad / Google Doc for questions and responses to exercises.
  • If teaching remotely: Turn off video during long exercises and coffee breaks and disconnect during lunch.

Immediately after the event

Long-term after the event

Differences Between In-person and Online Training Events

In-person trainings

  • When watching videos, project them to the whole group.
  • Assign (or let participants select) physical breakout groups.
  • Use physical sticky notes to get minute card feedback at lunch breaks and end of each day.

Online trainings (a few small groups)

  • When watching videos, have one Trainer do a screenshare with their audio on or have one person in each group play the video for the participants at their site.
  • Assign (or let participants select) physical breakout groups.
  • Use the virtual minute card form to get feedback at lunch breaks and end of each day.
  • Have participants do all small-group exercises with participants at same site.

Online trainings (completely distributed)

  • When watching videos, have all participants watch separately.
  • Assign breakout groups randomly to breakout rooms in Zoom. Be sure to remove Trainers and helpers when assigning groups.
  • Use the virtual minute card form to get feedback at lunch breaks and end of each day.
  • Have participants screen share with their breakout room during the live coding exercises.
  • For exercise to set up a workshop website, put participants in breakout rooms and have one person screen share while the others help guide them verbally.

Running a Teaching Demonstration

If you would like to watch an example teaching demo, there is a recording of one here.

Before the demo

  • Sign up to lead demos.
  • Get acquanted with using Zoom for videoconferencing.
  • For each trainee, pick a suitable starting point in the lesson that they have chosen. For most lessons, any episode will be suitable. There are a few exceptions - listed below. Do not have them start in the middle of an episode. Note that some lessons (e.g., the Software Carpentry R lesson using inflammation data) have supplementary episodes. Do not pick from those.

Shortly Before the Demo

  • Go to the Zoom room. The link is in the Etherpad.
  • Once everyone is in the call (audio and video working), remind them of the Code of Conduct, explain the procedure for the demo session, and remind them that trainees have to be able to teach from any episode from their chosen lesson. Ask whether anyone has only prepared for 5 minutes from one episode instead of the entire lesson, and if so, suggest strongly they reschedule.
  • Ask those not presenting to mute their microphone, and tell them they are to give feedback in the Etherpad using the same positive-vs-negative and content-vs-presentation rubric used in training.
  • Hand out the assignment to the first trainee, give them a bit of time to set up the demo (they may have to import some packages, load some data, move to a certain folder etc).
  • Ask them to share their screen using the “Share Screen” lower menu in Zoom.
  • Once they are ready, give them a 3-2-1 countdown to start.
  • Use a countdown timer which makes a noise once their 5 minutes are up (e.g., your phone), or just say “bong” really loudly at the end of their time.
  • After the five minute timer, allow them to finish their sentence and tell them time’s up.
  • Use a rubric for notes.
  • After the trainee is finished, first ask how they themselves thought it went, then give constructive feedback based on your notes.
  • Do NOT tell a trainee whether they passed immediately after their demo.
  • Repeat for the other trainees.
  • At the end of the season, ask for general questions.
  • If all of your trainees passed, you can tell the group at the end of the demo session. If anyone did not pass, tell everyone you will send them each an email to let them know if they passed.

During the Demo (Troubleshooting)

  • Refer to the Zoom guide to help troubleshoot connection issues.
  • If a trainee is teaching a Python lesson and their Jupyter notebook doesn’t start, direct them to http://jupyter.org/try.

After the Demo

  • Email checkout@carpentries.org with names, pass/fail, and SWC/DC/LC for each of your trainees.
  • Clear Etherpad of data from your session.
  • Send each trainee an email letting them know they passed or did not pass the teaching demo. If needed, let them know the reason they did not pass and asking them to retry.

Starting Points for Demos

Please see the table below for recommendations about choosing a starting point for trainee teaching demonstrations.

Carpentry Curriculum Lesson Avoid Good Starting Points Notes
SWC The Unix Shell Introducing the Shell any other episode Introducing the Shell has no live coding.
SWC Version Control with Git any other episode Automated Version Control has no live coding. Later episodes have dependencies.
SWC Version Control with Mercurial any other episode Automated Version Control has no live coding. Later episodes have dependencies.
SWC Using Databases and SQL Data Hygiene any other episode Data Hygiene has no live coding.
SWC Programming with Python Debugging any other episode Debugging has no live coding.
SWC R for Reproducible Scientific Analysis Writing Good Software any other episode Writing Good Software has no live coding.
SWC Automation and Make any other episode Later episodes have dependencies.
DC Ecology Data Organization in Spreadsheets for Ecologists none any episode
DC Ecology Data Cleaning with OpenRefine for Ecologists any other episode Working with OpenRefine Introduction has no live coding. Later episodes have dependencies.
DC Ecology Data Analysis and Visualization in R for Ecologists any other episode Before We Start has no live coding. Data Visualization with ggplot2 has dependecies. SQL Databases and R is generally not taught in a 2 day workshop.
DC Ecology Data Management with SQL for Ecologists Databases using SQL any other episode Live coding in Databases using SQL starts in the middle of the episode.
DC Ecology Data Analysis and Visualization in Python for Ecologists any other episode Before we Start has no live coding. Later episodes have dependencies.
DC Genomics Project Organization and Management for Genomics Do not use Do not use
DC Genomics Introduction to the Command Line for Genomics Do not use Do not use
DC Genomics Data Wrangling and Processing for Genomics Do not use Do not use
DC Genomics Introduction to Cloud Computing for Genomics Do not use Do not use
DC Genomics Data Analysis and Visualization in R for Genomics Do not use Do not use This lesson is in alpha. Do not use for teaching demos.
DC Social Sciences Data Organization in Spreadsheets for Social Scientists none any episode
DC Social Sciences Data Cleaning with OpenRefine for Social Scientists any other episode Working with OpenRefine Introduction has no live coding. Later episodes have dependencies.
DC Social Sciences Data Analysis and Visualization with R for Social Scientists any other episode Before We Start has no live coding. Data Visualization with ggplot2 has dependencies.
DC Social Sciences Data Analysis and Visualization with Python for Social Scientists Do not use Do not use This lesson is in alpha. Do not use for teaching demos.
DC Social Sciences Data Management with SQL for Social Scientists Do not use Do not use This lesson is in alpha. Do not use for teaching demos.
DC Geospatial Geospatial Project Organization and Management all episodes none This lesson has no live coding. Do not use for teaching demos.
DC Geospatial Introduction to R for Geospatial Data none any episode
DC Geospatial Introduction to Geospatial Raster and Vector Data with R any other episode Many episodes rely on data that learners have loaded from previous episodes. These can be used as starting points, but trainees may need extra time to set up their environment.
LC Library Carpentry: The Shell Lesson What is the shell? What is the shell? has no live coding.
LC Library Carpentry OpenRefine any other episode Importing data into OpenRefine Introduction to OpenRefine has no live coding. Later episodes have dependencies.