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.
While you can watch the YouTube video here to see for yourself, based
on the retrospective with all the sitesthings seemed to go pretty
well. People in the rooms all got a taste of d3.js, and worked
through the multi-step process of building a Web page, styling it,
adding JavaScript, and then adding a d3.js viz. (The YouTube video is
time-stamped - thanks, Jessica! - but unfortunately truncated at ~2.5
hours.)
A few comments and thoughts on why it went well.
Emily really knew her stuff! She was knowledgeable and articulate
and friendly.
Emily's materials were great!
They were built off of Isabell Kiral-Kornek's excellent d3.js materials, so thanks to
@Isa_Kiko too!
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.
What's next?
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.
--titus
There are comments.