How To Successfully Lead A Training Bootcamp/Course (in-person or online)

James Phoenix
James Phoenix


A bootcamp or training course can be a great way to learn new skills or improve existing ones. But how do you ensure that your next course/bootcamp is successful?

I’ve personally taught in over 30+ courses in coding (python/sql/javascript), data, excel in both online vs in-person formats. Along the way I’ve learned some great tips from other instructors such as Maryam Ahmed, Jack Bicknell and Joana Wang.

In this article, I’ll share all of these tips and how you can overcome your fears, speaker anxiety and how to be a better teacher. Before getting into the tips, let’s explore what are the key components that you’ll need for running an effective training course:


The Key Elements For Your Course:

  • Course content: This is all of the code, presentation slides, student exercises, presentation speaker notes and any other data/files that need to be downloaded throughout the course.
  • An attendance sheet: Depending on the size of your course, it might be worthwhile taking a register for each morning and afternoon.
  • A run of show document: This refers to a timetable sheet which a lead instructor will use as a rough guide for delivering the course at an appropriate space.
  • Roles & responsibilities:
    • Lead instructor – A person that will deliver the course content.
    • Teaching assistants – Depending upon how many people you will have on the course, teaching assistant’s can help to improve the course experience by helping student to learn and also with exercises.

Recommended Items For In-person Courses:


The below tips are broken into either generic advice (this can be applied for both in-person and online courses). Then there are some separate tips for leading online deliveries.

Unleash Your Potential with AI-Powered Prompt Engineering!

Dive into our comprehensive Udemy course and learn to craft compelling, AI-optimized prompts. Boost your skills and open up new possibilities with ChatGPT and Prompt Engineering.

Embark on Your AI Journey Now!

General Instructor Advice:

  • Thoroughly revise the content/material: Revising the content not only allows you to feel confident whilst delivering the lesson but it prepares you for the types of questions/problems that you’ll meet within that session.
  • Learn your student’s names: Names are really important, so try and learn their names as fast as possible.
  • Run any technical details before presenting: Running all of the exercises/code before ensures that everything will work as expected.
  • Accept that things will go wrong: Sometimes things will go wrong such as a monitor cable etc. Acknowledge this with yourself and the students. For example, after you’ve let them know that something has gone wrong, you can let them go for a break or talk amongst themselves whilst you fix the problem.
  • Just Relax: Remember to just relax, enjoy the experience. It’s a privilege to help teach people and to help them grow.
  • Tell students where they are in the course to help with continuity: This is what we’re doing, this is why we’re doing it. Here’s what you’ll be doing next.
  • Open up all of the links/spreadsheets/tools/code before you start teaching the class: For the next session, open any links to resources that you’ll be sharing with the class. This helps to streamline the content delivery process.
  • Create solid rapport with students: During the class breaks, ask a student how they’re doing. Talk about something beyond the classroom and get to know them as a person, not only will you learn what they like but the extra rapport will help whilst teaching them in class.
  • Students never notice everything: Sometimes if you think that something is going wrong, that’s not necessarily the case and most of the students will be unaware of the small things (such as slightly running over in terms of content/lesson delivery).
  • Be on time. Turn up early to class and be prepared: Get there one hour early on the first day. 30 mins before for every following day.
  • Add real life examples: Here’s the content (vanilla) -> real life example -> how would you apply it?
  • Give students sometime to reflect on how they would apply it between topics: Finish each topic/unit, throw it back to them. i.e. where would you use web scraping?
  • Be willing to adjust your style towards the student: Sometimes students like a technical/theory approach, other students prefer linking the theory back to the practical business application.
  • Be funny: Make jokes that are relevant into their line of work.
  • Show them what the plan is for tomorrow: At the end of the day make sure to highlight what you’ve covered and what the plan is for tomorrow’s content.
  • If content has pre-requisites then repeat some of the basic content before doing the advanced content: I.e when teaching pandas dataframe filtering, it is required that you understand what boolean logic is. Therefore by quickly re-highlighting boolean logic before the dataframe filtering content, it can hopefully increase the student’s chances of understanding the more complex content.
  • Be willing to adapt: Sometimes a lesson doesn’t go as originally planned. Either due to interruptions or questions. You’ll need to go on a break earlier than expected or speed up on some of the content and that’s okay.
  • Provide future career advice: depending upon what interests your students: If a student really enjoys programming, you could recommend to look at software development career paths. In contrast if a student really likes mathematics then perhaps a data science or a research position would be more suitable.
  • Avoid letting a student lead the class astray via a question/problem for too long: Sometimes student’s ask either deep questions or have a problem with their setup. If the lead instructor spends too much time helping this/these person(s) it can eat into the class time. The solution is to either ask a teaching assistant to assist them asynchronously as the lead instructor runs the class. Alternatively you can delay solving the student’s question until after class during ‘Office Hours’ or within the next break.
  • At the end of a cohort give a list of useful resources: Providing a list of useful resources at the end of a cohort helps to create a long lasting impression for student’s that they’ve received value from the course. It also reminds them that they’re now able to understand a range of API’s / tools / packages.
  • If a student asks vague questions, then before answering clarify what do they mean? i.e should we ‘clean’ the variables at some point? Jupyter seems to keep them across the code blocks – “What do you mean by clean?”
  • For enterprise deliveries:
    • Focus on the applicability of the course – How could they use it? – Bringing back examples, thinking about they could apply it.
    • Just going around the tables – Show me what you’ve done and how it’s working?

Online Delivery Best Practices / Tips:

  • Cameras on: At the start of the delivery, there should be a slide dedicated to having ‘Cameras On and Microphones Muted’.
  • Avoid picking/asking on ‘star students’ too much: As an instructor it can be easy to pick on top/star students for answers. However it’s important to ask a range of students to make the classroom environment fair.
  • Do pacing polls to get an idea of the pace and understanding: Using pacing polls allows us to be able to understand if the students are happy/unhappy/indifferent against the content difficulty and pace of the delivery. The best way to use these pacing polls is to either:
    • Move student’s up into a higher difficulty breakout room with more stretch exercises.
    • Move a student to a lower difficulty breakout room where the instructors focus on more basic explanations/exercises.
  • Double check the zoom chat and slack text channels when it comes to discussion topics (some people don’t like to speak but will post their answer and can be prompted).
  • Give credit to students for sharing: Highlight people’s names that share within a discussion. “I.e. we had a project shared by Julian on the front-end but a more hardcore project from Anna on the back-end”.
  • Highlight specific information on a slide: Use annotations to highlight the important points/charts that you’re teaching students:
  • Have extra slides to fill in extra time: Managing the content delivery is a fine art. Sometimes the session overruns and you need to speed up, sometimes you’ll need to fill the remaining time with extra content and exercises. Whilst on a break, check to see whether you’re over-running/under-running, if so, remove/add on any previously prepared content.
  • Teaching assistants can fill in missing gaps within the teaching process: If an instructor misses a section on a slide, sometimes a student will ask in the chat.
  • Good questions from student’s should be surfaced into the main slack/teams chat: Different students will ask different questions, surfacing these questions allows everyone to learn from unique perspectives.
  • Get to know everyone everyone (If it is the first breakout room with students): Ask all of the students to do a brief introduction with their name/role/where they are based in.
  • Make notes on each students: When students introduce themselves, taking notes on their goals/aspirations and competencies helps you tailor the content to meet their needs i.e. including stretch exercises.
  • Calling on people: In order to make sure that everyone is engaged, by asking participants to speak we can force people to pay attention as they ‘might’ be asked on the content via an instructor. This should be used with care and balanced with asking the question openly to anyone within the room).
  • Remind students what they will be doing after a break/lunch: Providing students with the ‘what’s up next’ after the break helps them to see the continuity within a course.
  • After breakout rooms (discussion exercises) ask each teaching group to nominate someone from their group to highlight the key points that were discussed.
  • Give students 1/2 minutes to return to their desks after a break. This ensures that no one misses content if they are slightly late.

Taggedcourseonline course training adviceteaching


More Stories

Cover Image for Soft Skills for Programmers: Why They Matter and How to Develop Them

Soft Skills for Programmers: Why They Matter and How to Develop Them

Overview You need a variety of soft skills in addition to technical skills to succeed in the technology sector. Soft skills are used by software professionals to collaborate with their peers effectively and profitably. Finding out more about soft skills and how they are used in the workplace will help you get ready for the job if you are interested in a…

James Phoenix
James Phoenix
Cover Image for What Are Webhooks? And How Do They Relate to Data Engineering?

What Are Webhooks? And How Do They Relate to Data Engineering?

Webhooks are a simple and powerful method for receiving real-time notifications when certain events occur. They enable a whole host of automated and interconnected applications. Broadly speaking, your apps can communicate via two main ways: polling and webhooks.  Polling is like going to a shop and asking for pizza – you have to ask whenever you want it. Webhooks are almost the…

James Phoenix
James Phoenix