BIDS SWC Workshop Debrief

At 5:45 am on January 14th, I was furiously biking across Davis, CA as my train to Berkeley departed without me. Not actually a huge problem because I booked an needlessly early train in an effort to make sure I was not late because holy smokes I was nervous for this workshop. In the end, I got to the Berkeley Institute for Data Science on time and taught the Software Carpentry Unix Shell lesson. There were no flames (which… actually has been a problem for me while teaching before, but that’s a story for another day) and no one threw computers at the wall! If that’s not success, then I don’t know what is.

Previous teaching experience

I got a good amount of teaching experience while TA’ing for general chemistry at Lyman Briggs College during my last three semesters of undergrad at Michigan State.

Since completing Software Carpentry Instructor Training back in May, I’ve undertaken the position of Training Coordinator in Titus Brown’s DIB lab at UC Davis. I organize workshops, I am a helper at workshops, but I’ve never taught one, or anything computational for that matter.

How I prepped

After going through the lesson material a twice, I ended up pretending I was teaching and typing up everything I would say if I were teaching into a blank Google Doc, starting from the introduction (side note: introductions are important! I’ve made the mistake of overlooking them in the past). This had two great outcomes:

  • I was able to see how I would explain concepts while teaching and had the opportunity to review them
  • Everything I wanted to say was already in my head, and it was much easier to recall the points I wanted to make because I had already “taught” through them once.

…I may or may not have included the same bad jokes I told during the workshop.

How it went

It went well! I was very glad I went through a “pretend” lesson because when teaching it felt like I had taught this material before. Also, since I’ve only recently delved into this world I remember what it’s like to know nothing and that is useful when teaching novices.

I’m a big believer in frequent repetition of concepts while teaching at the novice level. Too often I’ve seen students in the chemistry lectures I TA’d miss an important point made by the instructor after zoning out for a moment and struggle to follow the lesson after this. Repeating concepts also allows students of various levels to refine mental models of concepts (more novice students will still be forming basic connections while more advanced students can pick up on subtleties).

And of course, the other instructors and helpers did a great job. Special thanks to Katy for answering my numerous emails about this.

What I’ll do next time (everybody loves lists!)

  1. Again, continuously reinforce connections between concepts in my teaching. Not one of the 40+ students said my teaching was repetitive in the feedback.

  2. Focus more on telling a story. Those familiar with the SWC shell lesson know that it follows Nelle, the fearless marine biologist with a problem perfect for automation using the bash shell: many files and multiple programs to run them through. I ended up skipping some Nelle parts because I was concerned about lesson pacing, but I could have illustrated the same concepts using Nelle’s data files (such as the scripting portion of the lesson, instead of using the molecule .pdb files). This would also give students a more practical idea of the shell’s power rather than me giving hypothetical examples.

  3. Have students do a little more working themselves. I ended up improvising a bit during the shell scripting lesson portion by showing a script, introducing the concept of variables in scripts, having the students work on modifying it to take in additional parameters. Students seemed engaged with this, and it is a little taste of project based learning, something I am a big fan of.

  4. Keep my relatively strict “they don’t need to know this” threshold. Because I have recently learned this material, I have a pretty good idea of what kinds of things were immediately useful to me (navigating file systems, creating directories and folders) and what I didn’t explore until later (a lot of computer theory behind why things are the way they are, multiple ways to do the same thing).

Overall I had a great experience doing this, and I look forward to more teaching in the future!

Another helpful tip: laptop stickers make a great first impression gift when going to a workshop where you don’t know anyone else.