On Friday, Emily Dolson, a doctoral student at Michigan State University in Charles Ofria's lab, walked a bunch of us through d3.js for data visualization. Crucially, she did this from Michigan, and in addition to a local classroom, taught three other classrooms -- one in Florida, one in Virginia, and ours in Davis, California.
This was a pretty standard *Carpentry-style workshop - hands-on examples, fairly technical content, live coding and explanation, open access materials, lots of TAs.
A few comments and thoughts on why it went well.
Emily really knew her stuff! She was knowledgeable and articulate and friendly.
In connection with the previous two points: we leaned heavily on Software Carpentry instructors for this. This meant that even had I not known Emily personally, I would have been fairly confident in her teaching expertise, her ability to write materials, and her interest in actually conveying knowledge. (Again: Software Carpentry is magical!)
We did a rehearsal! Jessica Mizzi, the training coordinator in my lab, got together on the Monday before the presentation with Daniel Chen and Erica Christensen and Emily and others, to make sure that everyone could get their Hangout tech working.
Someone other than Emily handled the tech setup! Jessica was responsible for setting up the hangout, sending around checklists and updates, and otherwise coordinating everything.
We used Google Hangout! This teleconferencing system doesn't require any special hardware or subscription fees, and it let us stream straight to YouTube.
Importantly, the four sites were participants in the Hangout, but anyone could watch the recording via YouTube. (The YouTube stream was about a minute behind, which means it's not that great for live viewing and interaction).
We had local room leaders! They largely forwarded questions up the line to MSU via gitter, and at MSU people wrote them out on stickies and gave them to Emily. Very coordinated ;).
We had local room TAs! Each of the four rooms was coordinated by a Software Carpentry affiliate and I think we had at least one SWC instructor in each room to help. Friendly, helpful, knowledgeable people FTW.
We limited ourselves to four rooms total, which decreased the technical challenges.
At both UC Davis (the Hangout host) and MSU (the instructor broadcaster), we tried to use hardwired Ethernet connections and avoid wifi. Due to faulty hardware we ended up running everything via wifi at UCD, but I think the connection at MSU was hard-wired. So! No network problems!
Some things could be improved or regularized:
- I think we should have the presenter check in with each room at each challenge/stopping point - this was done with gitter, but informally, and sometimes she went a bit fast for us. Alternatively, someone should create a virtual sticky site where we can use stickies remotely.
- We could also shorten the lesson a bit and do a few 10 minute breaks where individual remote rooms go through the code together and make sure everyone has caught up and gotten everything working.
- I went through the materials myself the night before, so I could help local people with their problems. It might be nice to formalize that a bit more (ask that a materials draft be available a week in advance, ask the TAs in each room to go through them, etc.)
- The YouTube video only goes for 2.5 hours - somehow it got truncated!? (This doesn't appear to be a length limitation -- Hangouts on Air can go for 8 hours or more.) We'll have to figure that out.
I'd like to host a lot more!
One of the things that I've been trying to figure out for the last few years is more advanced training than the standard Software Carpentry workshops. One challenge here is that more advanced expertise simply isn't available everywhere, especially once you get into things like d3.js, Docker, Jupyter Notebooks, etc. There are certainly hubs with a lot of expertise, but even those hubs will be lacking experts in everything! And, while most instructors are capable of picking up most technical things to some degree, becoming expert enough to write good materials and/or teach a good workshop is hard.
I think this might be a partial solution for sites who want to provide training beyond the "basics" that Software and Data Carpentry have as their standard offering. Local+remote workshops can provide advanced training, reinforcement for previous *Carpentry lessons, and build local community while taking advantage of remote instructors.
I even think there might be something in it for the instructors :). The Carpentries have struggled a bit to figure out how to reward instructors properly for all their hard work, and reputation-building via exposure is certainly one of the options. While one path for instructors is to seek jobs that are more training focused, other instructors may want an academic or industry research position, or industry or startup technical positions. Presumably being widely known as knowledgeable about more advanced technical material will help with this - especially if prospective employers can see evidence of the teaching skills on a public YouTube video.
These workshops can also be a path for instructors who want to practice their teaching and material development but don't necessarily have a strong local audience. There I'd be a bit more careful because the local feedback is really important, but we could certainly provide a larger remote audience as needed.
Jessica and I are already talking about how to set up a bunch of these for Q1 and Q2 of 2016. We haven't settled many details, but we'll be recruiting instructors, bouncing around topics, and otherwise thinking about it over the next few weeks.
Importantly, we don't want to be the only ones running stuff like this. While we do want to keep the number of participating sites down for each of our events so as to limit the complexity, there's no reason people couldn't run their own. So we'll be posting some checklists and protocols for running these events soon - keep an eye out. You can always reach us via e-mail or via comments or via Twitter.