Team leaders / Helpers / Exercise leaders

We use this page during team leader onboarding.

The minimum to mention/read when preparing:

  • The summary

  • Code of conduct

  • What can I do to prepare for the workshop?

  • What we want to avoid

Thanks for being a team leader! Without you, these large online workshops would not be possible.

TL;DR (Summary of this page)

  • Everyone watches the CodeRefinery stream (how to attend via livestream)

  • All communication, questions, and feedback happen via collaborative document (Collaborative document mechanics)

  • Exercises can be done individually or in a pre-formed team, online or in person

  • Team leaders are an important link between the instructors and learners. Please:

    • In the collaborative document let us know about progress of the team and any issues

    • Be available for learners to ask their questions and lead discussions

    • Please write questions that you cannot answer in the collaborative document (then others will answer)

    • If idle, check the collaborative document for open questions and try to answer them

If you have questions before the workshop, write to or you can join the CodeRefinery chat (we recommend the #tools-workshop stream, and if you can’t find it then #general is good).

If you have fun being a team leader for the workshop, please visit our contributing page page, to find out about further volunteering possibilities within CodeRefinery.

Code of Conduct

We follow a code of conduct for all our sessions before, during, and after workshops.

We’ve designed the workshop so that it is very hard for one person to ruin it for everyone. Within your team, you will need to take on the role of ensuring a good environment.

If you see anything that is not supporting an positive learning environment, please let us know.

  • If it’s a general issue that can be mentioned publicly, write it immediately in the collaborative document.

  • Send a message to if it is private and can be handled asynchronously.

CodeRefinery project

We teach all the essential tools which are usually skipped in academic education so everyone can make full use of software, computing, and data. We don’t just give courses, but we are a training network that you can join to share the effort and bring better courses to your community.

..and you?

Shortly introduce yourself in the collaborative document of the onboarding session:

  • Who are you?

  • What do you do?

  • Where are you connecting from?

What is needed to be a team leader?

Most importantly, you do not have to know everything (we don’t, either). If you aren’t sure if you can be a team leader: you probably can be one!

This is what we expect:

  • Have been to a CodeRefinery before and used Git some since then, OR have some general experience with Git (branching, pull requests) and command line work, OR be able to generally follow the path of the exercises that we have laid out.

  • Be present in your teams physical/virtual room at least during exercise sessions of the workshop.

  • Show a positive, motivating attitude to learners.

  • Keep exercises going and let us know when there are difficult questions!

Who is joining this workshop?

Be aware of the different

  • Career stages (students, postdoc, researcher, professor, industry),

  • Backgrounds (computer scientist, IT, domain scientist, coding beginners,…),

  • Infrastructure (operating system, access restrictions, preferences on graphical vs command line interfaces, …) and

  • Preferred programming languages (Python, R, Matlab, Julia, Fortran, …) of your learners.

There is also usually a great variety of pre- knowledge on the different topics of the workshop.

Overview from the pre-workshop survey

What will happen during workshop?

The workshop schedule on the main workshop page contains links to lesson material, including lists of exercises.

The best analogy is watching a popular sporting event on TV. There are periods of lots of activity, and clear periods of breaks where you do your own thing.

  • Everyone follows stream during lessons - lessons, demos, exercise intros, going over solutions, etc.

  • For questions and instructions we use a collaborative document (more below).

  • Exercises during the lessons are done individually or in teams and there is many ways to do this:

    • Watch and work alone

    • Watch together and interact during exercises/breaks (in-person or online)

    • Reviewing/doing exercises later


Overview of the different options of doing the exercises individually or in a team.

Exercise sessions

We try our best to be very explicit about what is going on. Your first goal should be to make sure the learners are engaged and no one is left behind.

The instructors should clearly tell which exercises and for how long (we try to make all exercise sessions at least 20 minutes long). If anything is unclear please ask via collaborative document, you are our safety net.

Make it easy for learners to ask for help:

  • Make sure your group knows your name and that you are their team lead.

  • Always start by greeting people and ask how the lesson is going; report back if there is something instructors should be aware of.

  • Encourage your team to also put answered questions in the collaborative document, someone else might be wondering the same thing.

Want extra help?

  • It is OK to not know something!

  • Use the collaborative document if there is questions that you cannot answer. Our instructors and expert helpers are watching it and try to answer every question.

Major problems?

  • Exercise time is limited, watch the time and keep things moving.

  • If some debugging takes to long, it’s reasonable to describe the problem in the collaborative document. An expert helper may have seen the problem before.

  • If any one problem takes too long, it’s OK to say “we don’t have time, let’s come back”


Example of collaborative document during an exercise session. a) clear description of topics of the exercises. b) team status. c) as always, questions at the bottom.

What can I do to prepare for the workshop?

As a team leader, we do not expect you to know all our CodeRefinery training material, but if you have time:

  • Take a look at the exercises in advance of each day (the exercise plan is on the workshop page. Lessons have an “exercise list” page that shows everything), check that you understand the general point of each of them.

  • Often we only manage to adjust exercises and lessons shortly before the workshop. Thank you for your understanding and patience.

  • If you are interested, also read through the instructor guides for the lessons (there is a link at the top or sidebar of each lesson).

  • Use GitHub issues on the lesson GitHub pages to point out issues with exercises and the materials.

How to create a positive learning environment?

As a team leader, you have a crucial role during workshops:

  • You are between the learners and the organizers and instructors, please use the collaborative document to communicate.

  • Encourage learners to learn from each other.

  • Acknowledge that some of the material can be difficult and that people in your team will learn more working together.

  • Acknowledge when learners are confused and raise it to the instructors. Understanding why learners are confused provides useful feedback for instructors. You are our eyes and ears.

  • As we said, you don’t have to know everything, just like learners don’t necessarily know everything (we don’t know everything, either). It’s more important to be responsive and work together.

  • If you meet virtually: Turn on your camera, and encourage everyone else to do so as well. Have an introductory round in the first exercise session, to get to know your group. Whichever strategy you choose for your team, be present and encourage learners to ask questions.

  • In an in-person workshop: Stand up and walk around, try to make rounds by everyone. If you are convenient, students will ask. If you are sitting in the back, student’s won’t. Students rarely try to get your attention from across the room if you don’t look ready.

What we want to avoid

  • Take over the learner’s keyboard (neither physically nor remotely). Instead, try to have a sticky note pad and pen / use the collaborative document and write the commands that they should type.

  • Criticize certain programs, operating systems, or GUI applications, or learners who use them. (Excel, Windows, etc.)

  • Talk contemptuously or with scorn about any tool. Regardless of its shortcomings, many of your learners may be using that tool. Convincing someone to change their practices is much harder when they think you disdain them.

  • Dive into complex or detailed technical discussion with the one or two people in the audience/team who have advanced knowledge and may not actually need to be at the workshop.

  • Pretend to know more than you do. People will actually trust you more if you are frank about the limitations of your knowledge, and will be more likely to ask questions and seek help.

  • Use “just”, “easy”, “simply”, or other demotivating words. These signal to the learner that the instructor thinks their problem is trivial and by extension that they therefore must be stupid for not being able to figure it out.

  • Feign surprise at learners not knowing something. “You’ve really never heard of (sometool)?” signals to the learner that they do not have some required pre-knowledge of the material you are teaching, that they don’t belong at the workshop, and it may prevent them from asking questions in the future.

Strategies for leading a team

There are several strategies you can use to run your team, no matter if you meet in a physical or virtual room (Physical room would need a larger screen for every one to see though):

Strategy 1:

  • Everyone does the exercises themselves until someone has a question

  • Encourage learners to ask multiple times; if necessary share your/learners screen and discuss.

  • If everyone is active, this can be good, but there is a risk that the barrier for disturbing the silence is too big.

Strategy 2:

  • To start things off, team leader can share the screen.

  • Do not try to hide mistakes (they make good learning opportunities, “can you spot my mistake?”) and discuss your solutions.

  • It might be good to give learners some lead first, and use this only if no one volunteers.

Strategy 2:

  • Team leader asks someone to share the screen and go through the exercise.

  • You can encourage the others to guide the one who is sharing the screen. Or let the person go on her/his own pace.

    • If no one dares at first, you can also start sharing your screen and let the room tell you what to write.

    • That way they see how it can go and the barrier shrinks.

  • Try to alternate who is sharing the screen for each session.

  • When someone has an issue, it is a good idea to switch screen share to them and maybe even continue from there

You don’t actually have to do the exercises. You could apply lesson material to your own team’s work, review what was just said, have a free-form discussion, etc. - if those are more valuable. You can always come back to exercises later, or let learners do them as homework.

How to solve common problems in teams?

  • One learner asks very many questions, ends up monopolizing all of the time. Other learners are left without help, and the whole group may not get the exercises done

    • Encourage them to ask in the collaborative document

    • It can be very hard to say “no”, but it’s more important to have balance than answer every question you are asked. If you need to say no, you can try things such as “I’m sorry, but in order to finish we need to go on now. We can keep working on it later - would you like to watch?”

  • There is some sort of problem that ends up taking a lot of time

    • Work on it for a minute or two.

    • Encourage to describe the problem in the collaborative document. Our expert helpers may be able to help. Nothing wrong with this, because there is no deadline or time limit.

  • No one asks any questions

    • Make sure people know that you are there for them if they need help

      • Some exercises are easier than others and people really may not need any help with some of them

      • Remind that the recording can also be watched later, if people cannot keep up

    • Use your time answering questions the collaborative document

Any questions?

  • Send us an email to

  • If you want to, sign up for our Zulip chat to ask us anything, anytime. Use #tools-workshop during the workshop itself (you need to join the stream, it is not default for new chat members).

  • During the workshop, please use the collaborative document.

Path ahead

Would you like to

See our website and Contributing to CodeRefinery. Best way to get started is to join the Zulip chat.

More background about scaling workshops

Traditionally, a workshop has instructors and team leaders/helpers, but the capacity is limited by instructors, so we are limited to ~30-40 people at most. Then, we tried to scale to larger numbers: even up to and beyond 100 people. For this, we have to rely on team leaders . A team leader does not have to be an expert in the material, but should be able to keep things flowing.

Team leaders are an essential part of the CodeRefinery workshop team and allow CodeRefinery to scale to many more people than we could otherwise handle. Team leaders will guide their team through the course, keep time, and let us know when more help/time is needed during the exercise sessions. Instructors and expert helpers are always available via the collaborative document. It is very likely that you’ll grow as a mentor and learn how to be a more efficient teacher.

More background about teams

A team could be for example a group of colleagues/friends where one of the team members has a bit of knowledge on the tools presented in the workshop. This person can act as team leader for the workshop, but may still learn a thing or two themselves. In that way you can work with people you know and the barrier for asking questions and discuss together may be a bit lower than in a group of strangers.

Sometimes we also allow learners to register as individual learner with interest in being in a team. We then try to arrange those people in teams which stay together for all exercise sessions on all days and provide a zoom breakout room with a team/exercise leader. Since this is dependent on our team leader capacities, we cannot accept infinite amount of learners. Being assigned a team as a learner allows people to form a bond and get the rooms started sooner. We will try to keep you in the same team room as long as we can, but we give no promises and will rearrange as needed when people can’t attend.

See also