.png)
Python Readiness: Train the Trainer
Introductions
đź”— JupyterHub
đź”— How to prepare (from email)
Use Meet hand raise tool to answer the following questions
- Who here will be facilitating any of the learning events associated with the Python Readiness learning series?
- Who here is currently or has in the past been a TA that did facilitation?
- Who here knows that they want to pursue education or teaching in the future?
- Who here isn’t sure?
Facilitation and Preparation
Facilitation
What are characteristics of a great facilitator?
Use the post-it note to add your ideas to the board
đź”— Jamboard
Logistical Preparation
What preparation needs to happen before a training event?
You will work in pairs for this activity. In your workspaces, brainstorm all of the different things that need to be prepared before a training event. Assume the event is the Python Readiness series, that it is a hybrid event, and the learners will be using Python during the event.
Write a checklist of items that you as the facilitator will need to prepare for prior to the event.
Use the Google document Preparation in your personal folders for this activity
Notice that included in this preparation is becoming very familiar with the training content and anticipating issues. This will come up later when we discuss credibility, as well.
How does Unidata do it?
When Unidata runs instructor-led training (ILT), here’s how we prepare before a class.
- Determine facilitators and producer
- Facilitators practice delivering content with the instructor guide, test code/activities, and anticipate errors
- Producer delivers pre-class communication to learners
- Producer sets up back-up options for activities/instruction
Positive Learning Environment
Adult Learning Theory

University students, especially graduate students are somewhere in the middle of pedagogy (learning theory applied to children) and andragogy. Especially those who have gone straight from high school to university without entering the workforce full time, they have some self-concept and experience, but within the confines of academia. Motivations may still be hung up in grades rather than learning to acquire new job or life skills. This is why it’s so important to understand what your learners are motivated by, and cater the learning experience to them.
Prompt:
How can you establish a positive learning environment for your learners? Consider yourself as a learner in the past. What pre-class actions helped you feel prepared and secure for learning?
Write down a few sentences.
Methods and Media
Instructional design for programming
Instructional design is, in so many words, matching learning needs to appropriately scaffolded learning objectives, which match learning activities, and then evaluating the learning and learning transfer.
When we think about teaching programming skills to novices, there is an extra emphasis on systems thinking, or learning about how parts of a system connect. When one thing happens, it has responses or consequences that affect the system as a whole.
This type of thinking is also prevalent in all of the Earth Systems Science disciplines. In the same way we explain climate as a system of atmospheric, oceanic, geologic, hydrologic, chemical, biological systems, etc, computing acts in the same way. When we program (think Python), we write lines of code that get sent to the software program that interprets our code, that gets sent to our operating system, and hardware, or that information gets sent over a network which introduces even more systems.
Can you relate to this scenario?
Atmospheric Dynamics I:
“Calculate the u and v components of thermal wind given this temperature gradient on this surface”
memorize equations, fill-in-the-blanks algebra style
What were we actually being tested on?
Could I tell you how thermal wind was used in research or operations?
A fundamental feature of our brains is that they’re pattern-matchers and meaning-makers. We look for stories about why things happen. This made sense evolutionarily; it allowed us to explain what’s happened and predict what will happen. It also means that we don’t remember rote information or large amounts of abstract information very well. […] Our brains naturally build models that explain outcomes. These models are conceptual and contain causal relationships that tie input to outcome.Clark Quinn, Learning Science for Instructional Designers
For many programmers just starting out, they memorize lines of code, copy/paste steps, and make brute-force guesses until they get an answer. This trial-and-error process comes naturally for some, but is frustrating and demoralizing for others.
We can help our learners make strategic choices and get into the practice of imagining the system they are working within by building up their mental models rather then emphasizing memorization.
Control Panel Activity
You will all learn a new skill today: operating a special control panel. However, you will learn how to operate this control panel in different ways. One reinforces memorization, one promotes understanding of the system. The instructions are located in your personal Google drive folders as ControlPanelGuide___.pdf.
Good luck!
➡️ Control Panel Interface
If prompted, select Restart
Let’s bring this back into the context of the Python Readiness series.
This series was born out of a need to get incoming graduate students ramped-up on Python to prepare for their graduate coursework. The series includes:
- Self-assessment and self-paced practice lessons
- Knowledge check sessions (Python syntax, Jupyter, environments)
- Instructor-led training (Exploratory Data Analysis, troubleshooting)
- Train-the-Trainer
Prompt:
Why do you think the series was created this way? Why emphasize exploratory data analysis and troubleshooting for this audience?
Write down a few sentences.
Further Reading
Facilitation and instructional design are so intrinsically linked that it’s hard to talk about one without the other. The best learning experiences are when excellent facilitation is paired with appropriate methods and media that foster learning.
Methods and media are things like:
- Lecture
- Focus questions
- Demonstration/tutorial
- Diagraming
- Brainstorming
- Class discussion (freewheeling)
- Small group discussion (think-pair-share)
- Case study (story/video/etc)
- Worksheets/Quiz
- A whole lot of other stuff
Using a variety of these methods makes for a more effective learning experience.
More on instructional design:
Communication and Credibility
Communication
Communication, both oral and non-verbal, are essential parts of being an excellent facilitator. Many of these skills are identical to skills you would practice when giving a presentation.

We won’t spend much time talking about these common skills today, but what we will spend time exploring is our communication skills while doing a demonstration on a computer. This is largely what the Python Readiness series entails, and is often a huge energy sink for most presentations.
We want to maintain a learner-centered environment. This means that we aren’t getting lost in our computers, but using this demo as a means of preparing the learner for their own work and keeping them engaged in the action.
Practice a demo
Step 1:
Take a few minutes to look through the instructor copies of the notebooks. You can choose any of the following options (choose any one you’d like)
- Day 1: Other helpful pandas functions
- Day 1: Time Series #2
- Day 1: EDA II: Multidimensional Data
- Day 2: Recap: Remote Data Access for Exploratory Data Analysis
Step 2:
[10 minutes] Practice and prepare! You get to decide your own transitions, voice, if you will live-code or use the provided blank cells, etc. Only practice what you think can be completed in about 5-10 minutes.
Keep the Essential Public Speaking Skills items in mind, as well as the quick tips provided below.
To run the cells in the notebook, you will need to make sure you change the kernel to metpy-analysis.
Step 3:
In pairs, you will each have 10 minutes to practice a coding demo to each other. One person demos first, then I will call the timer to switch, then the second person demos.
Step 4:
In pairs, debrief together. Go through the checklists and provide your feedback to your partner.
Quick tips
- Verbally say out loud every single little thing you do on the computer, especially keystrokes or shortcuts (shift + enter!)
- Continue to make eye contact with the audience
- Make clear when the learners eyes should be on you vs the screen
- If something breaks, you can either
- determine if it will take a minute to do, then do it and move on
- use your producer to create an alternative that still supports the learning objective
- call for a break and fix/troubleshoot the issue
Credibility
Earlier we discussed the idea that a facilitator need not necessarily be an expert in the subject matter. This is also hard to separate from the anxiety that many new educators have, that they are unable to answer every question and thus be perceived as incompetent. There are, however, many small things you can do to create trust with your learners and establish credibility.
- “I think the answer is ____, but I might not have all the information right now. Can I write your questions down and get back to you later after I have done some research?”
- “I’m not sure, but I know someone I can ask at our next break/after class.”
- “Good question; I don’t know. Let me write your question down and research that for you later. “
Quick Tips for credibility
- Share your relevant education/experience as a part of group introductions
- Demonstrate content expertise (practice, practice, practice, and anticipate errors)
- Use real-world examples
- Show knowledge of learners’ environment
- Show understanding of what learners do day-to-day
- Be an active listener
- Recognize different viewpoints and opinions
- Protect the self-esteem of participants
- Encourage questions
- Keep promises
- Be well-organized
- Be punctual and manage your time well (respect break times! take a break every 60 minutes minimum)
- Manage group dynamics (coming up next!)
- Dress appropriately
- Be courteous
Prompt:
Imagine yourself as a learner who has asked a question of your instructor, but they don’t know the answer. How would you prefer they respond to you? How can you implement that response in your facilitation practice?
Write down a few sentences.
Group Facilitation
Questioning techniques
Group facilitation is the practice of motivating, engaging, and encouraging a group of learners in a synchronous learning event. We covered previously that a major distinction between presentation and facilitation is engaging learners in their learning. We see this done most commonly through questions and questioning techniques.
How do you ask?
After a question is asked, pause. For longer than it feels comfortable to do so. On average, facilitators give learners only 1.5 seconds to answer questions before they start speaking again. In reality, learners that know the answers immediate still need roughly 3 seconds to respond. This required time increases exponentially in hybrid and virtual classroom settings. Keep this model in mind:

Whom do you ask?
Managing the direction of questions is a major component of facilitation that differs from presentation. As a facilitator, you both ask and receive questions, and there are several different options for managing various scenarios.
Direct | Facilitator asks a question of a specific learner | Works best when drawing on a learner’s unique experience |
Overhead | Facilitator asks a question to the whole audience | Most common, take care to ensure not all questions are monopolized by a spare few |
Relay | Learner asks a question of the facilitator, who then asks the same question back to the class | Great for drawing on experience of other learners, encouraging peer learning, increases participation, determining if the whole class needs clarification on something |
Reverse | As above, but asked back to the learner who asked the initial question | Great for instilling confidence in learners, that they already know the answer. Try rephrasing the question, for example Q: Why would you use remote data instead of local data? A: Great question! Knowing what you know about remote data, when do you think it would be advantageous to use remote data instead of local data? |
Notice also that the facilitation instructions in the Python Readiness Instructor Guides say to choose either a Freewheeling or Think-Pair-Share method to get feedback from learners. Let’s break those two down quickly:
Freewheeling
Overhead question. Uses hand raises or callouts. Can optionally also use the chat window for hybrid groups.
This method can take less time to roll through so it can help when you are short on your schedule.
Tips
- Take a decent “teacher pause”, allowing space for learners to formulate their sentences in their brains before raising their hands (or type their responses).
- Ensure that no one person is dominating the large group conversation. Try calling on learners or change to a Think-Pair-Share if the group is really quiet.
Think-Pair-Share
Pose the question to the full class, allow 1 minute for self-reflection, 2-minutes to pair up with someone else to discuss their thoughts, then debrief with the full class.
This method helps promote confidence in learners before responding, since they were able to verify with another person before speaking up.
Tips
- Emphasize the 60-second self-reflection first. Many folks will want to immediately jump to talking to a partner.
- Try having the pairs select one person to share out to the group during the debrief.
Dealing with answers
How we respond to answers can make or break motivation and trust among the group. Regardless of the type of answer we receive, we need to show appreciation for the learner’s vulnerability and bravery to speak up in a group. Here’s how we suggest to respond to various kinds of answers:
Correct | Recognize the answers in a specific and positive way, making connections to other responses or instructional content as appropriate |
Incorrect | Dignify the attempt, try rephrasing the question or asking more probing questions to get at the core of the misconception or how they arrived at that answer. |
Nearly Correct | Validate the correct responses, then ask either directly or overhead for the rest of the answer |
Incomplete | Ask for additional information or responses |
Silence | If after an appropriate pause there is still no response, try changing the question to a Think-Pair-Share to see if there is a general misunderstanding of the question, topic, or if the energy of the class is low. Consider throwing in an impromptu break if the class energy is low. |
Consider the series of questions and sample answers below. How would you respond to each?
Use the Google document Response Practice in your personal folders for this activity
Scenario 1:
You pose this question to the class (Python Readiness Day 1; EDA II: Multidimensional Data):
“Of the must-have information for EDA, what information can we gather from just this preview?”
A learner responds:
“Variable names, dimensions, units, and ranges of values.”
The solution to this closed question is:
“Source/model, Projection information, Spatial extent, Valid times, Variable names, dimensionality and units. We do not yet have a sense of any missing data or ranges of values.”
How do you respond?
Scenario 2:
You pose this question to the class (Python Readiness Day 2; Troubleshooting Framework):
“Given the information that we have, where does our error likely lie: internally or externally? What clued you to your decision?
A learner responds:
“Externally”
The solution to this question is:
“Externally. Our logic makes sense, we have no syntax errors, and we used the right function to open a multidimensional dataset. The traceback also mentions issues with installation of dependencies, and installation is an external issue.”
How do you respond?
Managing activities
Activities (or exercises) are spaces where learners apply their new knowledge. We can set the learners up for success by providing clear instructions, monitoring their progress, and effectively debriefing.
Providing instructions
→ Much of this is built into the instructor guide to help you!
Provide context
Clearly state the task and expectation of results
Clearly state the time limit
Ask for clarification
Ask for clarification again after a pause
Monitoring
As you monitor activities, you’ll want to engage the learners to ensure they are on task, the understand the assignment, and they are achieving the objective of the activity. Walk around the room and make yourself available for support.
You might engage with language such as…
- Which part on you on right now? Do you know what you need to do to move forward?
- Is it clear what the end result should look like?
- Tell me about what you’ve done so far. Do you understand what you did?
When encouraging a learner who is stuck, we have several options. The most tempting of which is to jump in with an answer or a solution. I encourage you to resist the temptation! Instead, consider the following:
If the learner is unsure of where to begin on the exercise:
- Is the end result we’re looking for clear?
- What information do you have right now?
- What information is needed to complete the problem?
- Your neighbor has gotten started, maybe we can work with them to understand their strategy.
If the learner is stuck on a particular portion of the exercise:
- Tell me about where you currently are. What are we missing that is preventing us from progressing?
- What do you think we could try first? We can always change our plan later.
- What have you already tried and why do you think it didn’t work?
Virtual monitoring
Special consideration should be taken for monitoring virtual breakout rooms in hybrid or virtual events. It is often easier to “hide” in a virtual space and retreat instead of getting the help a learner needs. I’m sure we’ve all been there! There are a few things you as a facilitator can do to warm up the participants, show them that this is a safe space to experiment and ask questions. These are a few tips that have helped me:
- Provide plenty of space to process in silence before asking questions. For example, when entering a breakout room, do an initial check-in, state that you’ll give everyone space and check back in after a few minutes.
- If the group remains silent, you can try warming them up with a tangential conversation (the weather is great, especially for atmospheric scientists!), then restate that you are available to answer questions. You may be surprised at how the questions come out afterwards!
- Try asking a direct question to a learner that relates to something that was said earlier in class, check in with them specifically.
Debriefing
All activities should end with a debrief, even if it is informal or short. This summarizes and clarifies the learning that results from the activity. In many cases, this also transitions into the next topic.
Putting it all together
Facilitation is a juggling act. You are constantly balancing material, questions, time, technology, and the list goes on. Rather than memorizing all of these individual tips, it is beneficial to build your own mental models of what it means to be an excellent facilitator. When disruptions inevitably arise, falling back on your core beliefs will guide you through anything. Let’s take a first cut at what those core beliefs might be.
For those interested in careers in faculty eventually, you will often be tasked with writing a teaching philosophy as a part of your application package. This reflection activity is similar to that!
Prompt:
How do you describe your personal philosophy when it comes to facilitation? What are your priorities? What actions do you take to support those priorities?
Write down a few sentences.
Open questions about Python Readiness
- Our line of communication continues to be open. Contact me for additional clarification or anything else that I can support
- For example, I want to make a quick demo for instructors on the Python environments troubleshooting activity (stay tuned!)
- We will also have to make changes to the download instruction at the end of the Day 2 notebook, so please stay tuned for the final version in the next few weeks.
- Can I demo anything from the course?
- Where are missing connections that I can make?
- If you had to deliver this training tomorrow, what would you be most unsure of?