My First Online Teaching Experience – and Now I Admire My School Teachers Even More

Date 14.12.2020.

When I was a postgraduate researcher at University of Edinburgh, my supervisor squeezed me into a course on the subject of distance learning at Moray House School of Education. Among a ‘roomful’ of seasoned teachers (except there was no physical room as the course was conducted entirely virtually), I was the only exception without years of teaching experience. Often I found myself lost in others’ conversations and missed the cues. They were some of the most difficult months in my student life – I read in the gym and wrote until late – despite the hard-earned “A” I never thought I would utilise what I learned until 2020.

Last week, we wrapped up our first Bootcamp at We started with 12 participants and concluded this 6-week Python for Beginners Bootcamp with 9 new Alexa Skills. As the instructor, I found this an interesting learning journey for me, as well as for the participants. Here are some of my fresh takeaways.

Teaching takes a lot of preparation

Apart from having usual course materials, I found it useful to employ good old ‘Lesson Plans’. If you are unfamiliar with what a typical plan consists of, Google some templates. Lesson Plans force you to think in a structured way and work backwards – what are the objectives and how are they achieved. I also use them for timing.

What can be easily neglected is the preparation on the day before the session. The chance is, you probably design the sessions long before you deliver them – so it always takes me some time to review the content I’m going to cover before I run a session.

Even so, it will still take practice to make a session smooth and engaging. What I found particularly challenging is concise explanations because I don’t explain topics like “what a function is” and “what are some examples of recursive functions” every day.  This makes me admire some of my school teachers even more; it must have taken them hundreds of repetitions to pick up any subject and deliver it as if they were on stage!

Running a virtual session is a real skill 

Delivering virtual sessions do require some technical skills (although are easy to acquire). Here are some little tricks I’ve learned:

  • When running a virtual session, there are so many windows an instructor needs to supervise. You will need at least two screens – one for screen sharing and another for other stuff (e.g. the chat window).
  • Check and double-check the invitation dial-in links. We ran into issues with that frequently.
  • I made my presentation slides portrait not landscape, so I could split my screen and have the presentation deck side to side with the coding environment.
  • Many online conference tools have the “raise your hands” feature which is handy for online training sessions
  • Did you know that you can use Chrome browser to Cast your video (and audio) to Google Meet?
  • For more advanced usage, it’s worth trying OBS Virtual Camera. E.g. you can overlay the video stream of yourself at the corner of the picture – numerous research has shown that having the speaker’s face in a live stream helps the audience to focus.

Any other techniques? Please share with us in the comments.

Audience participation is equally important for a good online learning experience

It is the instructor’s job to design exercises so everyone can participate naturally

A big difference between a virtual and in-person session is, as an instructor, you don’t see the reaction from the audience – whether they comprehend or struggle. Lack of feedback is problematic, because most presenters don’t like the feeling of talking to a wall, and for the participants, psychologically, it is encouraging to know they are not alone too. Having the audience to turn on the camera could work, but not great for the bandwidth.

Although I found myself repeating the question “does anyone have any questions?” every few minutes, most of the time, the audience either didn’t have questions or were too shy to ask. But, it may not be that the audience does not want to participate. It is the instructor’s job to design exercises so everyone can participate naturally – some common examples include asking questions in turn or inviting them to present their solutions, or simply, small talks –  this is where teaching experience makes a difference and I’m still finding the rope. Nevertheless, at the end of the Bootcamp, when I asked all the participants to turn on their cameras so we could take a group photo, I was pleased to see everyone was grinning.

Exercises need to be designed with more considerations

If we mimic the offline classroom experience completely, we will probably be on track for bad experiences.

As we don’t see the reaction from the audience, there are more things we need to consider when designing exercises. Firstly, it’s worth remembering not everyone is willing to raise issues, if the exercises are too easy or too difficult, some participants may simply give up and not return. Secondly, keep in mind that for every exercise, some participants may complete quicker than others.

Choosing a tool that is easy for collaboration helps the instructor to ‘check-in’ on someone’s work. Google’s Colab is a Python notebook environment that allows anyone to ‘drop-in’ to someone else’s document just like you do with Google Docs, and it is our favourite. For the Alexa Skill workshop in this Bootcamp, we used a team account and invited everyone as “developers” so everyone in the team could easily ‘peak into’ someone else’s project. I’m very curious of which IDEs work the best in terms of collaboration too, for future more-advanced topics. If you have suggestions, please leave your comments after this article.

But, I do think virtual workshops do not have to mimic the offline ones – there were loads of discussions around this when MOOCs like Coursera became popular – but since there are so many people teaching virtually for the first time nowadays, it’s worth re-discovering. As I pointed out previously, virtual environments make it difficult for instructors to keep track of everyone’s progress. During exercises, while it’s not ideal to move on prematurely before everyone completes the tasks, keeping those who found the exercises easier engaged is equally challenging. So if we mimic the offline classroom experience completely, we will probably be on track for bad experiences.

That’s why a typical MOOC course embraces the ‘virtualness’ of online learning and makes the exercises self-paced to give the maximum flexibility to the learners. But MOOCs have their drawbacks too, for example, the lack of real-time engagement and oversight. What would work the best is probably a hybrid model – real-time tuition and self-paced exercise. I often use the analogy of going to a gym – for an online learner, nothing can replace the hard work on their own; but they do need group sessions to keep the peer pressure and personal trainers to answer any questions they may have.

End of the day, content matters

Many online courses are simplified, idealised and have isolated the problem for the purposes of teaching.

There is a question I ask myself time and time again – there are so many Python learning resources available, why do we run yet another bootcamp? The answer is that we are not trying to replicate. The first and foremost objective of this bootcamp is to improve the employability of learners. For different people this means different things, and many of us will not be professional software engineers. Programming skills come in handy in different shapes and forms in a world of information and automation. What is important is to give our participants the confidence, curiosity and the skills to learn. So, I cherish the opportunities to talk about things like how to read the references, how to answer syntax questions when you cannot recall in an interview, what are the types of questions you can ask your co-workers, and what are those you’d better Google.

Lastly, by talking to some of the members of Wagora, I found out there is a considerable gap between what online courses teach and what the real-world work requires. Many online courses are simplified, idealised and have isolated the problem for the purposes of teaching. Often with Python, the likes of an in-depth introduction on pip, virtual environments and python modules are often missing, or delivered as “by the way” topics. But to work on any real-world projects, pip is probably the first command one would type. I agree that introducing things like these too early may confuse beginners, but there are just too few resources dedicated to bridging the gap.

There will be more bootcamps coming at Wagora. The next one is the Cyber-Security 101 Bootcamp starting from 14 January, delivered by our very passionate Ambassadors Joani Green and Eliza Bolton. If you think anyone could benefit from this bootcamp, please share this link ( or this article 🙂 with them.

Author Yoyu Li

Our Community

Our mission is to enable women from all walks of life to acquire and develop the digital and leadership skills of tomorrow, as well as striving to bridge the gender gap through partnership with like-minded organisations.

Allies are welcome to our community, regardless of whether or not they identify themselves as women. We believe allyship is essential for improving and changing the status quo, and for driving meaningful change.