Over the course of eight days in October I taught at three Software Carpentry boot camps in California. It was utterly exhausting and tremendously rewarding and hopefully I’ll do it again sometime. I want to take a moment to post a little feedback from the third boot camp and mention some of the things I learned on the trip.
Feedback from Caltech
I’ve already posted feedback from the Lawrence Berkeley Lab and UC Berkeley workshops. I didn’t have time to get our traditional something good/something bad feedbacks, but I got a couple responses to a post-workshop survey that I’ll post:
- “The workshop envonronment provided by the VM (VirtualBox) worked very well. The methodology of teahcing Python using iPython Notebook was impressive and has made me a convert (from Perl) to Python! I will recommend SW Carpentry to others.”
- “It is probably better to spend some time to go through the installing of python and help people set things up on their own computer. We can’t always rely on the virtual machine.”
- “The use of the iPython Notebook was great.”
The feedback on the Notebook is pretty universal but the other comments highlight an ongoing discussion we have within Software Carpentry: is it better to give people a VM so things just work or is it better to take the time to help them get a scientific Python installation working? Both solutions have their drawbacks and hurdles. I’ve personally been recommending people give installing Python a try if they want, but to get the VM just in case things don’t work out. In all honesty we don’t really have the time to spare in boot camps unless we tack on some “office hours” the day before or after.
Lesson – Know Your Audience
It’s important to know for any presentation who your audience will be. This is a perennial hardship for Software Carpentry instructors because we tend to draw a very diverse crowd. Still, it can help to talk to the organizers beforehand. At the UCB boot camp I missed a memo that most of the audience would be experienced R users. If I’d known that I would have significantly sped up my introductory Python session to leave time for more data centric examples. As things happened I bored a lot of the people in the room.
Lesson – Choose Your Audience
Most of the boot camps I’ve taught at had attendees from a very broad range of experiences, backgrounds, and abilities, making it extremely difficult to make a presentation that works for everyone. We recognize the difficulty this poses and whenever possible we like to get a more homogenous group by doing a boot camp with a particular department or in conjunction with a conference.
At Caltech my audience was almost completely astronomers, all employees at Caltech’s Infrared Processing and Analysis Center. Everyone in the room was an experienced programmer in some language. For the most part they all knew each other. And since I have an astronomy background I spoke their language.
These factors seemed to make a very different dynamic in the classroom than I’d seen at other boot camps. The students asked tons of really good questions. That may have been because they felt comfortable with their colleagues or because they were seasoned professionals instead of students. Either way, it led to a really fun, engaging back and forth dialogue that kept things from getting stale.
The background matchup between me and the students also helped. I could answer astronomy specific questions and I had an intuition for the sorts of problems astronomers are used to seeing that improved our communication. (Astronomers just tend to be smart, cool people so that might have helped. ;-) Another helpful factor might just be the affect of students seeing someone from their field saying “I’ve used this stuff and it helped me.”
If the Caltech workshop is at all representative of the sort of improved targeting and dialogue that can result from assembling a class of people with similar backgrounds who know eachother and from pairing instructors with students from their discipline I will heartily recommend this as a strategy for future Software Carpentry workshops.
Lessons – TL;DR
- Try to get to know your audience beforehand by talking to organizers and/or using surveys.
- Try to plan boot camps so that the students come from similar backgrounds and, if possible, the same department or lab.