Nantucket DevelopeR Workshop

Edit 2019: We’re teaching this again. Viewers at home can follow along here, and we’ll post a wrap-up next week.

This past August, I had the chance to head out to the UMass Field Station on Nantucket to teach a week-long phylogenetics methods development course, in R, with Klaus Schliep. The course was sponsored by Liam Revell‘s CAREER Grant (DEB 1350474).

This was a fairly unique learning environment, and I struggle with what to call it. Was it a workshop? A hackathon? Lately I’ve taken to calling it an immersive research course. We met the first day to talk about tree structures in R, collaboration with git, and to do lightning talks. Subsequent days, we met for an hour to an hour and a half in the morning to discuss some aspects of R phylogenetic methods developments, including testing, profiling and writing documentation. In the afternoon and evenings, people worked on independent and group projects in R. And they worked hard, often being at their computers until 8 or 9 PM.

I wanted to write a little about what worked and what didn’t. Intermediate-to-advanced training is something that is perennially in need of improvement. Beginning learners have excellent resources – Software Carpentry/Data Carpentry, and often training at their home institutions. The summer courses at institutions like the MBL often reinforce computational skills. But courses that go on to the next steps – developing novel scientific functions, looking at integrating together all the functions you’ve created, working collaboratively – are still fairly rare, especially in a domain-specific context where you work with people who are actually into the same things you are.

Without further ado, what worked:

  • The facility. This place was amazing. I was having a conversation with another postdoc at the meeting on a vista overlooking the ocean, and the only thing I could say is ‘If this whole academic endeavor doesn’t work out, look at where we get to be right now.’ There was one building of facility (though I was traveling with my husband and daughter, and so stayed off-site), and it kept everyone together, which was great.
  • The mix of learners. We had a very good mix of the types of organisms and data people work with, their skill levels and the questions they want to answer. In addition to learning something about computation, I think everyone learned something cool about biology.
  • Work time. Something that is a really hard thing to get right is the amount of time to work that learners should get to work on projects. We hit the right balance – people more-or-less went to work after lecture time and worked until after dinner. Klaus and I more-or-less let people set their own schedules and only really interrupted for dinner.

Without further ado, what we can improve on:

  • Lecture time. We made this optional, but from feedback, a little more structure would be good here. From feedback, that structure can be fairly minimal, maybe even just being a little tighter with start times.
  • One suggestion that I thought was great was to do a package dissection, and look at the structure of an existing package. What a neat idea!
  • Scaling. We had 10 learners. We might not change the world with 10 learners. And that’s my motivation in writing this post – we had really positive feedback on this workshop. Clearly it ought to happen more. Products from the workshop are already emerging. So I’d like to make the argument – if you sit on a pot of money of some kind, think about what you’re doing to address the intermediate training gap.

There we have it, folks. As an instructor, I had a great time working with this course. It’s something I’d like to do more of, or develop as a college course in the future. I’ve always loved working with novices, but it turns out intermediate computing education is pretty fun, too.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s