At the end of March the Research IT training team ran the first of our programming training courses on-line: on advanced python. We usually run these as full day in-person events, following the Software Carpentry method of live-coding lessons led by the tutor, interspersed with challenges for the attendees to test their new knowledge. Given current events we have shifted to teaching these on-line, and are experimenting with different ways of doing this. For this session we aimed (for the moment) to change as little as possible, learning from the experiences of others doing similar (such as RSEs at Bristol University , and at Central Queensland University), and adapting these lessons to fit our currently available tools.
All our course notes and materials are available online already, and are intended for use in both self-guided and taught sessions, so these remained as they were.
For our in-person courses we like to use computer labs with pre-installed software to cut down on preparation time. We followed the same principle here, providing a cloud-based virtual Linux desktop (based on Centos 7, using the light-weight XFCE window manager) for the attendees to use. This was accessible via any HTML5 capable web-browser (remote connections were handled by Apache Guacamole), and was used by the tutors too. For this course we used Amazon Web Services (AWS) as our cloud provider, hosting all participant’s sessions on a single m5a.8xlarge instance (32 cores, 128 Gb RAM).
For our video conferencing we chose Zoom, as it has screen sharing facilities, chat and (basic) feedback/survey provision, and attendees can be given a single URL to click to connect. Conferences can also be joined via the web browser, or via an installed app, making it quite accessible on a range of devices.
Attendee Feedback System:
We substituted the participant emojis available in Zoom for our usual red/green sticky notes to give instant feedback. These include “faster”/”slower” (for feedback on the pace of the lesson), “thumbs up”/”thumbs down” (for feedback on readiness / understanding of the lesson), and “hand up” for asking for attention from the tutor.
Back Comms Channel:
Following others example, we set up a separate Slack channel for the tutors to use to communicate in private.
This course was due to run the week after lockdown was announced, so we delayed delivery by a week to allow for more preparations, both of virtual and physical desktops. Thanks to this delay, by the time the course ran the online service was ready, and most of the teaching team had access to a computer setup with a second screen. We advised the attendees that they should try to have similar setups, to aid their engagement with the material. I was the only one with my camera and microphone on for most of the lesson, with the attendees and other tutors having theirs off and generally muted. I shared the web browser in which I was running my instance of the virtual Linux desktop (and my course slides) – this was a side benefit of using the virtual desktop, in that I could have my notes open on the same computer screen beside the window in which the virtual desktop was running, but not have these visible and distracting to the class.
Experience & Lessons Learnt
We had four tutors for this class, making sure we had extra help in case of extra unexpected problems (and so we could all get some experience of the new environment). As it was the class went very smoothly (with no more problems during setup than we would usually experience), and we could have managed with only 2-3 tutors, and will probably do so in future.
From the teaching side of things, it did feel weird talking to an empty room, without being able to glance up to gauge by eye if people were engaged and following the lesson. However, we did find the chat function made it easier for attendees to chip in during the lesson (without feeling that they were interrupting the teaching), and using the participant emojis for feedback was a definite improvement over our usual sticky notes.
The pace of the teaching was a little slower than usual, partially because we were getting used to the new setup, and probably also partially due to the extra time that communicating virtually requires. Getting feedback from the attendees on their answers to the challenges was more difficult. We had deliberately avoided too many changes in this first test, so hadn’t provided more tools for feedback from attendees other than those in Zoom (which we found lacking for this purpose). But in future we will make use of either Zoom’s built-in polling tool, Google docs, or a similar platform, for breakout rooms & quizzes, to improve this aspect of our teaching. One attraction of using Zoom is the ability for taking control of an attendee’s shared screen (with their permission), to make trouble-shooting easier. I did try to do this once during the lesson, but was unable to, I believe because the attendee was using the Zoom web interface. We will probably recommend in future that the attendees install the Zoom client for the classes, so we get all benefits from using this platform.
We had 16 attendees, out of 29 who had signed up for the class (slightly lower turnout than we usually have, but very reasonable considering the circumstances). Feedback from those who could make the class was positive – on the whole they seemed to have found the virtual class as useful as the in-person classes have been. One extra benefit of this format and using Zoom for the attendees was the ability to record the lesson (which we had not been intending to do, but allowed when attendees asked – with just my screen and webcam switched on, there were not privacy concerns for the attendees in doing this). After the class an attendee shared their recording with us, which we have shared with the other attendees. While we don’t currently have intentions to supplement our teaching with online recorded classes, attendees do seem to appreciate this as a complement to note-taking during the class, and so we will make use of this feature in future.
In all, we are happy with how the training course went. Teaching on-line has so far been a different experience for all to teaching in-person, but not necessarily one which is worse. We have several more courses coming up in our teaching calendar, which we are committed to delivering. In doing this we will continue experimenting with different ways of delivering our courses on-line, as the style followed for this class may not suit all participants or tutors (due to the hardware, network connection, and time requirements of this teaching format). We will also test methods such as flipped classroom, which could ease these resource demands, to see what works best in these unusual times, as well as to see what lessons we can take from these experiments to inform our teaching practices once we have returned to (relative) normality.
If you would like more details on how the training was conducted online please contact the Research IT Infrastructure Team.