In the first two weeks of January 2015, 14 Software Carpentry workshops were held at various locations. Every workshops brings its share of lessons learned and new experiences, particularly with new instructors coming online. On January 14, Greg Wilson hosted a post-workshop debriefing meeting attended by 21 instructors from 10 recent workshops. We got together to discuss how the workshops went, what worked, what didn't, and what could be improved.
Detailed notes from the meeting can be found on the etherpad. A number of themes emerged that resonated with my own experiences at the half dozen workshops I have instructed since qualifying last year. Below is a quick summary of some of the issues.
Overall, considering the heterogeneity in computing platforms and operating systems, installing the software dependencies for the workshop goes fairly smoothly but there are usually a few installation problems that require some kind of intervention. Two of the most common issues that came up are incompatibility between the current version of git software and older versions of the Mac OS (10.7 and earlier) and behavior differences between Git BASH in Windows and the BASH shell in unix-like operating systems. For Mac git, older versions are available at https://www.kernel.org/pub/software/scm/git. For Windows/Git BASH, referring to the non-existent /tmp folder can be a problem and the absence of the 'man' program has been the source of some confusion. For suggestions about these or other technical issues and solutions, please feel free to leave a comment below.
Workshop Participant Skill Levels
It is not unusual to encounter audiences with a bimodal distrubution of novice and more advanced programmers. In such cases, participant feedback about the teaching pace may contain equal proportions of "too fast" and "too slow", with the challenge being to find the sweet spot to suit the group. This can present challenges in finding a balance that does not leave the novices behind while, at the same time, not boring their more advanced colleagues. A bright side to an uneven distrubution of skill levels is that the more advanced participants can be recriuted as ad hoc helpers if their neighbors are struggling. It can sometimes be difficult to make on the fly adjustments for the lessons, particularly for less experienced instructors. Consulting the pre-workshop survey can be helpful in tailoring the lessons to better target the audience. On a couple of occasions, we have used the informal day one "sticky note" survey results to make adjustments for the second day.
Instruction Methods in the Field
Newly minted instructors being paired with seasoned veterans seems to work very well. It is also helpful for the instructors to touch base by skype or other means ahead of time, so that they do not arrive at the workshop as complete strangers. Where possible, it is helpful to arrange travel to allow time for instructors to meet and compare notes the evening before the workshop.
The Software Carpentry lessons usually contain teaching instructions on learning objectives, delivery, etc. Presenting lesson materials prepared by other can have its stylistic challenges. More experienced trainers will use the lessons as a guide that may be filled in as the situation dictates. Live coding on screen is a great way to keep the participants engaged while also helping the instructor to regulate their pace. In practice, some of us have found that it is helpful to refer to, but not show the written lessons at the time they are being presented. Using a tablet to refer to the online lessons while live coding on screen for works very well for some of us. Participants have variable levels of tolerance when it comes to departures from the written lesson and some instructors prefer no to have the participants see the lessons until afterward so their focus remains on what it happening at the front of the room.
During the workshop, instructors use different methods of interaction to facilitate effective learning. These range from plain old interruption through to Greg's approach, which is to leave the room to suppress the urge to interact with the instructor up front. There is a general consensus that it is best to avoid dividing the focus of the audience. A couple of non-disruptive approaches mentioned were 1) the non-teaching instructor raises their hand and waits to be acknowledged by the other instructor and 2) slowly walking toward the front of the room, also to draw the attention of the other instructor without distracting the audience.
There will be another debriefing meeting on January 27. Please consult the Etherpad for that meeting for details.