 Good morning, everybody, or good afternoon, depending on where you may be. My name is Matthias Livus, and I'm from the Australian Research Data Commons. I would like to start this webinar by acknowledging the traditional owners of the lands on which we all work and live. For me, that is the Wajuk people of the Nungar Nation. Now, I'm very pleased this morning to be introducing Jason Bell, a QCIF e-research analyst based at Central Queensland University. Amongst other things, Jason teaches software carpentry workshops virtually to students all over Australia. Central Queensland University is a very, very geographically diverse organization, and Jason will tell you all about that. Over to you, Jason. Thanks, Matthias. Well, welcome, everyone. So, my name is Jason Bell, and today I'll be presenting the virtual software carpentries that information that I've been running over the last few years and some of the key learnings that I've found. So, before I go too far in it, for those who do not know me, my name is Jason Bell, and I'm the Senior Research Technologies Officer within the Information and Technology Directorate at Seekhee University, Australia. But I'm also the e-research analyst for the Queensland Cyber Infrastructure Foundation. And basically my role is I help researchers achieve better outcomes through the use of technology. And so I look after our HPC system, I look after our research storage, but I also run some training sessions. And so today I'll be focusing on some of those training sessions that I run and some of the things that I have learned from it. So I want to start this presentation off with a bit of a quote. And it's one of my favorite quotes, and it's from Grace Hopper, the American computer scientist. And the most dangerous phase in the human language is we've always done it this way. And for myself, we found that we couldn't do face-to-face presentations. And the reason why we couldn't do that is that we're actually geographically spread throughout Australia. So I'm based in Rockhampton, and I'd also like to acknowledge the traditional owners that we present on. And from myself and Rockhampton, that will be the drumble people. But we're actually spread right across Australia. And what we found was that we didn't have enough participants at a single location to run face-to-face sessions on a regular basis. And so because of this limitation, we then looked at other means. And there is definitely a need for software carpentry training. But four or five students is just not enough economically to try and run a session. So by doing a virtual session, it allows us to connect to all of our campuses throughout Australia. So a bit of history, software carpentry at Seeku University. So I've been providing software carpentry workshops and lessons since 2016. And as I'm the only instructor within my region and institution, I found it probably more appropriate for the audience and being virtual a lot simpler if I just focused on a particular topic. Rather than two days where it would include a bit of Unix Shell, a bit of Git and a programming language, whether that would be R or Python. And I found that that's worked reasonably well because they can focus on a single topic. And so the sessions that I generally run is the Unix Shell session, the plotting and programming in Python, and R for reproducible scientific analysis. So when I first started software carpentry, I actually ran some face-to-face workshops. But I found that particularly after the initial cohort that attended, that it was hard to get the numbers. So we faced some issues like everything, nothing goes quite smooth. What I do want to say is that I'm happy to share these slides with anyone afterwards. So don't worry too much about writing down all the details, happy to provide them later. But some of the issues that I faced was that people were confused by the name software carpentry. And because of that, they didn't relate to it or understand that actually it could help them, particularly with data analysis and things like that. One of the other things that we do here, and it's something that I mandated and believe in myself, is that we offer the workshops for free. So we wanted as many, particularly of our CQ university researchers and PhD students to attend, and we didn't want barriers to entry. But what we found, and what I found with running the sessions is that a number of registrants would not turn up. They would leave, and being virtual, they'll leave halfway through the lesson, or not turn up on the second day, or not prepared for the workshop. So you'd spend time getting the software installed and everything up and running. And that really had a negative impact and really didn't allow me to fully capitalise and build on the, to use the full two days to focus on the content. And we found that, and it's my belief a lot of these consequences were absent. And so because there was actually no negative impacts if they didn't attend, then people would just register and so forth. So we had to change that. Some of the other issues that we face is that participants would get distracted. Like all virtual sessions and so forth, people would get phone calls, or student visits will pop in their office, which meant that they missed some of the content. And as you're probably aware with the software, carpentry, material, where we're teaching, for instance, a programming language, there is a lot of content covered. And if you miss an error or two, that actually has a quite a negative impact. And what it actually generally occurred is that they then struggled through the rest of the material. And some of them then just found it too hard and left. The other, I guess, the concept or the thing that to come up with is that it's not easily to do the actual sticky note concept that's used in software carpentry. So with a face-to-face workshop, we have these sticky notes and you'll have a green sticky note for, yep, you're on track, everything's going well, you've completed the exercise, or a red sticky note or something similar saying, hey, I'm stuck, I need help, and people would move around the classroom and help those with the sticky note. The only solution I've come up so far is when I ask how everyone's going, I get a thumbs up or a thumbs down. As well as that, what I did find, particularly initially, were some people and some of the actual participants said that they were going okay, but actually they weren't, and they didn't want to admit that they were struggling. And that actually meant that we actually lost some of the students. And one of the things that we found is that with online, you can't have virtual helpers just wandering around, checking how everyone is going. So they were some of the issues that are faced and dealt with over the time that are running these. But that's a negative and today I really want to talk about the positive and what I've found and my experiences that actually work very well in providing virtual software carpentry workshops. First of all, it's getting buy-in. One of the biggest issues that I faced was tackling the lower attendance and drop-out rates. People would register but not turn up. And with all the workshops that I run, I limit the attendance to a maximum of 12 participants. And so this really encourages people to register early and to value their spot. And I do it on a first-in-first-serve basis. But from this, I actually had quite a number of students that would then miss out and go on a waiting list. And what we found is if people didn't turn up, it really meant that others that could have actually joined were unable to attend. So what I guess I've mandated now and quite strongly have highlighted in my communications with the possible participants is that if they do not turn up or attend the entire training, they actually forfeit their spot for any future training held by the CQ University e-research support. So which is basically me. I won't provide any training for these people. Now, obviously, there's always extension circumstances and things like that. But I mandate that, hey, you've got to let me know within 48 hours because those people on the waiting list could actually fill your spot. As well as that, I've been to a number of software carpentry workshops where we find within the first 30 minutes is spent getting everyone up and running, making sure they've got the software installed and they're connected to the Wi-Fi and things like that. But as a solo presenter that 95% of all the sessions that I've run, I've done it by myself with no helpers. I can't afford to waste that time fixing individual users when they first get started. So as well as that, I also mandate that not only do you must attend, but you've got to have everything actually installed and up and running prior to starting. Because at 9 o'clock when I generally start these sessions, I want to be going through the material and going through the lesson because there is a lot of content to cover and I find the more that we can cover the better. So again, I set the concept that all Blacklist users if they tend and have issues and so forth and I just flat out refuse to help them. I know that's negative, but in my opinion they should have contacted myself earlier prior to that. So by having this, I guess, Blacklist participants, it actually has been a very powerful incentive. As a result, I haven't actually had to Blacklist anyone to date and the threat alone has seen that I've achieved over 85% attendance rate and only one or two that have missed it have been through valid reasons. And not only that, I get participants now contacting me early, letting me know they've got everything installed and ready to go and it allows me to hit the ground running. So I found this to work very well with my colleagues and my researchers at other software carpentry. I heard that some people put a small nominal fee, which generally might cover morning teas, but it means that if you pay something, it's valued and considered important and so I find with the threat of Blacklisting and they know that there is only a small number of people that can participate, I find that that works very well. So that really enabled us to get good buy in and so I'm actually running two software carpentry workshops next week on Monday and Tuesday and another one on Thursday and Friday and I feel both of those workshops within a week of acknowledging and I still getting people contacting me every day wanting to attend. So it's quite powerful and I think word spreads of the value of these courses and so that's why they've been deemed quite popular. But to really do a good virtual workshop, you need a very good video collaboration tool. Now at SIKI University, we have an institutional license for Zoom and so that's what we use for our collaboration sessions and one of the key features with Zoom like this webinar today is that you can share the screen. So this then allows the instructor to see what's going on and because you can see, you can actually help but there is a particular functionality in Zoom that I think has made the world of difference and that I guess feature is the ability to request remote control and why that is important and why I found that to be quite valuable is that it really makes debugging and solving user issues exponentially faster. I mean we've all had those sessions in a virtual where someone else is driving and you say, well, click on the button. No, not that button, the one on the right and so forth and that really takes time and for these lessons to go smoothly, you want to reduce any time delay with it. So as someone who knows what they're doing and can scroll and navigate quite quickly, it then makes the actual session run very fast. So I use the request remote control very, very often. I would probably on average remote control our participants, computers, anywhere up to 50 times in a two day workshop. So it's something that I use quite extensively but something that occurred last year which I must admit surprised me and there's an assumption that I had wrong and the assumption was that with these training lessons and courses we have a variety of attendees, everyone from those comfortable with programming but also those who have never touched programming in their life before and they're just getting started and one of the assumptions I had was I would think that those more advanced programming type people would I guess get frustrated and bored at the slow pace of me helping the very, very beginner type participants but actually I found that that wasn't the case and what I actually found was that these more advanced people provided more of a peer mentoring and actually helped some of the users and this really became into effect when we started collaboratively debugging to help solve user issues and I'll talk about that a little bit more but I've actually found that a lot of the advanced people still get a lot of value at and are actually happy to contribute and collaborate so it's a really good environment and this I'll call it collaborative debugging for want of a better term but I actually believe and I'm happy to discuss this further but I actually believe that some of the cases it's better than what the face-to-face sessions give you and I'll explain why is my opinion and I've done many that people think the face-to-face sessions are superior in the format but I would actually argue and that seeing the instructor solving issues remotely for everyone to see is a very powerful thing so an example is that we have a user that's stuck they go to run their program or whatever and it's bringing up an error message and something like that now the user might tell you what the error message is but sometimes you actually need to see the code see where it stopped at and things like that to understand what the problem might be so by me logging you know remotely connecting to a computer and controlling it I can then scroll through see the error message highlight where the error is found and sometimes it's very simple and then actually show how it's fixed and then moving on so that gives a number of advantages one is that other users can see how I am remotely debugging and solving problems because a lot of the computing issues and problems is that there is syntax errors or bugs or whatever it might be that it takes a while to understand what all that means particularly with new beginners but when they see how I debug it relate that to the issue a lot of times when I'm solving that I'll have so for example if I have 12 people in a session I'll say okay how's everyone going and two or three might be saying it's not working I've got a problem so I'll remotely connect to one user I fix it and over 50% of the time someone will say actually that was my problem too okay but not only does it fix the problem just there but because people see the issue nine times out of ten they might face the same issue later through the workshop and because they've seen it debug they actually then get an understanding on how to fix things and so forth the other thing too I found was that you get a lot more of the I guess extrovert people initially saying hey it's stuck it's not working and you know they weren't embarrassed just if it's the most obvious or simple error but by doing that and seeing me fix that I've actually had people then who you know who are more quiet and shy actually Jason I've got a problem too and it brings people out of their shell and through doing that you get what I call a truly collaborative learning environment and I think you know that is where in my opinion learning really has a big impact because they're not afraid to highlight that hey I've got a silly error message and I don't know how to fix it we can actually get that to work so when people are sharing this screen initially they're a bit hesitant but if you get one or two people straight off the bat highlight some simple errors that then tends to engage everyone but one of the things that I found in the sessions beneficial is not only to use to see how I debug an issue but actually sometimes some of the more advanced people would find the bug or issue before me and so we actually had in cases a racer who could actually find the issue or bug first and you know I don't mind if someone else highlights where the issue is before I find it and thus it speeds up the process but it then engages those more advanced level people and so that you know they're not just bored going over content that they already know but they're actually helping to solve things and so I've actually found that in my opinion that is one of the best outcomes and benefits from a virtual style workshop where you're more than peer programming you're collaboratively multiple people help working together highlighting learnings and solving problems so I've talked a bit about you know some of the benefits and using a good video collaboration tool and ensure that you get really good buying there is nothing worse than you know people leaving or you have limited spaces and people miss out but some of the other things I wanted to highlight that make virtual workshops even better is the participants you're having dual screens what I mean by that is that they have the two screens one screen will be showing the video of the instructor you know seeing their code seeing what's being typed and being able to follow it and then the second screen for their work I have had a number of people over the years connected using a laptop and whilst that is fine they have to keep switching back and forth from what I'm doing to what they're doing and so they tend to have more typos or more issues and so you know I do let all of my users know that hey if you can get access to using dual screens make a massive difference because they can then compare their code to my code and spot any little errors and things like that as well as that I find you know there's always the more shy type of participants who don't like to see themselves on the screen and so I always get a few people that turn their video off but if you can convince them to turn it on it actually makes a difference and where it makes a difference is it makes it easier to read the audience so for example in this webinar I cannot tell if people are understanding what I'm saying if I'm going too fast or too slow or things like that whereas when I get people to turn on their video you can read their body language and even if the people are saying yeah I'm good you look at them and go no you're not actually you're stuck and let's help because if you can help those people get over those minor issues it then makes it a very useful workshop and they get most value out of it obviously virtual workshops means that people can join from anywhere okay I have many of my users joined from remote locations and particularly you know as long as there's a reasonable internet connection okay people can connect I've had I would say at least 40 to 50 percent of my users connect to my sessions from home now they do this for many reasons because they have home duties or you know another thing even though we have campuses throughout Australia there are many of our particularly RHD students that are a hundred of kilometers away from our nearest campus and so you know they need to learn all of this material but means that they can tend without having to travel and so that actually has been a very big positive so much so that for those who don't know we also particularly at QCIF we run a lot of hacky hours and it's either a weekly, fortnightly or monthly type session where people can bring their problems and you know people like myself and others can try and help this year I'll be running all of my hacky hours virtually only because I find I get a lot more people attend and I'm able to help more people I had one person join a virtual hacky hour from a hay bale shed out in the middle of a paddock so you know if you allow them to attend they will come and most importantly it provides greater inclusivity to our workshops you know if there are no costs in travel and particularly a combination and things like that more people will want to attend and participate the other thing too I'm talking to my QCIF colleagues so QCIF you know has partners within most of the Queen's End University so James Cook University CQ University QT Griffith University USQ and so forth but all of their most of their sessions is run on campus and some of the biggest issues they face is finding a physical room big enough to run these sessions in the great thing about virtual is you don't have to worry about that as long as you've got the technology you can do it from anywhere and so you don't have to worry about additional cost room higher catering things like that but because no travel is required other organisations other institutions and other groups can easily participate so it really encouraged broader participation something that I tried recently is that you know having two people run the session is better than one sounds obvious but as someone who has always been a silo instructor recently I had one of my QCIF colleagues Amanda Miyato from Griffith University who actually attended the workshop as a remote helper what I found was that while Amanda didn't actually cover the content herself she was able to answer some questions that I might not have known or thought of at the time but the biggest value I found was that if we got a left field question and obviously we want to encourage interaction with our colleagues if I didn't know the answer I couldn't just say to everyone stop right there give me five minutes to google it I can find the answer and get back to you because that really then stifles the actual teaching progress so what it actually allowed Amanda to do was actually go and do that research find the answer come back and report back to the group whilst I kept presenting and I found that invaluable because you're always going to get things that you don't know or can't answer at the time and without delaying everyone else someone could do that get back an answer for you I did have one or two remote students do that with me previously but having an online helper really made that quite valuable so what about potential improvements where to from now so some of the ideas that I guess I'm currently toying with is is it possible to run a virtual session for a larger number of participants you know I'm always over the numbers and a waiting list so you know the more that I can actually teach and help in my opinion is better but you know I can tell you now as a silo instructor by the end of the second day I am brain dead and I need to go home and crash and burn for a little while because it's quite exhausting mentally but you know if we had instructors that would go through the material then you know can we add in more users as well as that I know that zoom has the sidebar functionality so if you had a participant who was completely lost completely stuck it's going to take more than a couple of minutes to help could we use the sidebar where they go off into a side meeting resolve the issues and then come back and try that before but that is something that I'd like to I guess consider and test and see if it's useful as well other ideas that have toyed and QCIF has mentioned to me is that could we run this with satellite sites so you have four or five people at each site with a local helper the disadvantage with that is I think you lose some of that collaborative debugging but you know it comes down to bang for buck and if I could get 40 people participating then you know rather than 12 there might be some I guess negative impacts but the greater overall getting as many people exposed and taught is quite important so if I guess I want to highlight this is that just because software carpentry is mostly always been done face to face you know I'm happy to highlight and say that actually virtuals work quite well I've got a packed out workshops scheduled next week and I found it actually can work very well so from there I'm happy to I guess open the audience to see if anyone's got any questions great thank you very much for that Jason now we do have some questions already so the first question for you Jason is do you keep the same food a workshop format for your remote sessions for example do you have regularly scheduled breaks for morning tea lunchtime and what have you yes I do and you know a lot of the lessons plan and layout is a little bit fluid because sometimes you might get to a particular topic that's a bit harder and takes a bit longer but you might get through other topics a lot faster so generally I have a schedule in which you know I map out when morning tea is when lunch and that's to give myself a break not just the students so yeah absolutely I have a schedule I try to a hear boy but depending on how the workshop goes sometimes we cover a little bit more content than I was hoping and other times less great thank you another question this time about your online hacky hours for each hacky hour do you have a topic or a theme no at the moment our virtual hacky hours is probably still a relatively new thing for us it's hacky hours has probably only been running at Siki University for about four to five or six months so really just in the initial phase but you know I find I get more people actually participate because last year we had once a month a face-to-face in Rockington and then once a month a virtual but I found that the face-to-face not many people were attending but with the virtual a lot more so instead of having to wait an entire month for someone to get help they can now only have to wait two weeks and so that's the schedule that I'm planning to get started next month okay sounds great I'd love to learn more about that when you have more to tell me or tell us rather okay another question great advice for hosting sessions and I liked the dual monitor suggestion do you have any other tips for participants to help them get the most out of the virtual workshops good audio and a webcam somewhere that you know when they ask a question they can be heard quite easily sometimes people use just the built-in mic on a laptop and that so it's a little bit more difficult to understand or they don't have an audio device at all I have in the past had to answer questions via the chat channel so having a good I guess microphone and a video device so we can see them makes a big difference okay great okay another question has just come in so you noted the usefulness of reading the students body language to tell for example whether they're actually keeping up or whether they're in trouble this particular person found that a major problem when they've done online teaching despite most students having cameras is that perhaps they as presenter didn't have enough screen space to see all of the audience how many monitors do you have in front of you when you're teaching and what size are they so okay I have I'm very very fortunate here but I'll do a virtual tour but I actually have a five screen setup now it's multiple computers and so forth but generally I use I have a Mac windows and Linux machine and so forth but generally I use a dual window setup and you know I do have a part of a window particularly for seeing the participants I always keep an eye on the chat because people answer questions or ask things as well there particularly if they're not comfortable interrupting during the session as on covering a particular topic so I have the chat and then my slides and or whether I'm using a programming IDE like RStudio on one screen that I'm presenting I would admit if I had a three screen setup where you could have one entire just for the audience that would make things a bit better but I do try to cram in a lot in the one screen okay great now we the other thing I wanted to sort of with that is though I have these other screens I do have one that I have looking at some of the content that I'll be covering shortly so I can keep an eye on what's the next subject coming up you know what's coming so that it gets me into the mental preparation of what's next rather than just you know because I want to show if I'm doing an exercise for example I want to show on the screen that's the exercise we're working on for people but having another computer iPad whatever that you can then scrolling on what's coming up next and what I'm going to cover and particularly if we're I guess lost a bit of time I can then use that to see what bits I can skip just so that we keep things on track so I find that quite useful as well okay great another question now you did mention at the beginning of the talk that you require your attendees to have all the software installed before they join otherwise they run the risk of being blacklisted from training what kind of support do you offer then pre-workshop so you mention that they do get in touch with you if they have any problems so a lot of times I just point them to the software carpentry set up because there's always a section dedicated that what they need to do to set up and get running about 80% normally do that without any issues but the 20% sometimes and one of the biggest with our iHD students is they don't have admin rights to install software on it and so forth so normally they might get help from field services to do a little bit that and then probably 5% of users I might get on and help them just to get over the mark because you always get one or two machines that are a little bit different and quirky and something that's not obviously easily fixed okay great some more questions around the logistics of your own set up so you did mention that you don't necessarily need to book a room or anything to deliver from and I am curious I see that there are chairs behind you do you share your office with other people and are they very I'm very fortunate that I have an office to myself and it is a very big office so very very lucky but no it is important that you have a room that you can be loud you know talking and not have any interruption so I actually find that even participants trying to participate in an open plan environment can be sometimes a little bit difficult so if they can move into a quiet space or whatever where they can listen in and participate and do that seems to work reasonably well but I think it is vitally important for the instructor to have no external noises or things like that that can make the session disruptive okay great and then another question about and this is back to the workshop format and timetable so with CQU being across all of Australia and there is a number of time zones to consider there do you make any allowance for say somebody in western Australia who is two hours behind you generally the answer is no but sometimes it is a case of well if they had to come over to a Queensland or something like that they would have to work in their time zone anyway and sometimes I have things where people may miss the first hour but we have things I have got one person that is going to miss the first hour but they have got everything set up they are going to do the first two chapters that we cover and everything then allows them to join in and participate that way but generally speaking with most times I do it from about 9 to 4.30 Queensland time and generally that allows people well if they have to start at 8 or something like that it is still not too bad I am sorry if your exact question doesn't get answered because we do only have limited time but if your exact question hasn't been answered feel free to follow up with me or Jason after this session okay so a question about the room this is my schedule that I have for one of my sessions next week and there are the sort of rough timings and so forth that I have for the sessions yeah certainly I suppose then with the earlier starts for people who are west of you I mean an advantage is they can attend from home and it is a little easier to start earlier from home than it is if you have to go to go find parking drive somewhere and get your coffee and get ready in advance and that is something that I do find is that a number of the people do join from home because whether it is time zone or anything else like that yep okay now we've got one minute so one final question and this is about the remote control so there's a question just asking you to clarify a little bit so with the remote control does that mean that the students share their screen you spot their problems and you ask them to make changes or do you really have full control over there and you can type and everything so within zoom how it works is that I'll stop sharing my screen and they will share their screen once they're sharing I can press a button that says request remote control they then click on a button to allow and I can take full control of the computer so it actually you know I can scroll down zoom so rather than sometimes getting them to type commands or click on buttons or whatever you know I actually can control it on their computer itself and again if they have a reasonable internet connection it's actually quite quick and responsive okay great thanks for that and with that we are now out of time so I would like to thank everybody for attending and I would especially like to thank you Jason for taking 45 minutes out of your very busy teaching schedule to run this webinar this session has been recorded and it will be made available on youtube shortly after we've done some editing so please share it with your colleagues and then friends so thank you again Jason and have a great day. Thank you very much for everyone's attendance and thank you for ARDC for giving me this opportunity to tell my story so thank you Bye