The Software Carpentry Bootcamp Operations Guide includes checklists for each role involved in running a bootcamp, and a long-form description of the story of a bootcamp. The description explains how bootcamps work, and the checklists explain how each role contributes to a successful bootcamp. The checklists will also be useful to people who have taken on each role.
A Software Carpentry bootcamp is an intensive hands-on workshop at which scientists learn software skills through short tutorials and practical exercises. A typical bootcamp runs over two days with 20-50 attendees and two or three instructors per room, and one helper for every 10 attendees. The members of a bootcamp team are:
Note that:
As explained in our FAQ, anyone can use our materials and run a bootcamp. However, you must have our explicit prior permission to use our name and logo (which are trademarked). We normally require that the lead instructor be certified by Software Carpentry, and that the training covers:
Before the bootcamp organization begins, the host has to consider the answers to a series of questions. At some point in this decision-making process, the host will contact Software Carpentry admin to initiate bootcamp planning.
The host must think about the intended audience for the bootcamp. Will it be restricted to a specific lab, university, or company? Will it target people in a particular discipline (or range of related disciplines), or will it be open to all?
A closed bootcamp can be more easily restricted to a specific audience, which allows the instructors to tailor material to that field. In addition, attendees are more likely to know one another, which in our experience means they're less inhibited about asking questions and are more likely to help each other during practical sessions.
On the other hand, it may be harder to find enough people to fill a bootcamp if you restrict enrollment, and if your funding comes from the university or company level, it may be politically difficult to turn people away.
Having said that, there are a number of reasons why you might consider allowing external personnel to come to your bootcamp:
Bootcamps work best with rooms of between 15 and 40 learners. Above that, they become more like a lecture and the hands-on workshop feeling is lost. If you are expecting significantly more than 40 registrants, consider hosting a multi-room bootcamp.
Multi-room bootcamps can work very well because they allow us to stream learners into groups according to their computing experience. The disadvantage, of course, is that you have to book multiple rooms and recruit more instructors and helpers.
The host needs to think about the cost of running a bootcamp and where the money might come from, and apply for funding if necessary.
Our instructors are volunteers, and do not need to be paid for their time, but bootcamp hosts are expected to cover their travel and accommodation costs. (As much as possible, we try to match instructors to nearby sites in order to reduce costs.)
We suggest hosting institutions contribute $1500 to Software Carpentry, to support central development activities (including curriculum development, instructor training, website maintenance, and administrative costs). The hosting site may also have to pay to book the room and for catering.
Altogether, the total cost for a bootcamp is in the $2500-4000 range, depending on instructors' travel costs.
Some possible sources of funding are:
The host can consider these ways to reduce the costs of running a bootcamp:
The host and admin also need to decide whether the bootcamp is free or not. On the one hand, we want bootcamps to be as accessible as possible. On the other hand, charging $20-$40 for registration cuts the number of no-shows from 20-25% to 5% or less. Note that:
Many factors determine when to hold a bootcamp. The first is obviously the availability of instructors: admin will help with this.
If the bootcamp will be at a university, the start of term works better than the end of term (when people are tired, and busy with final assignments and exams), and the start of the second (or subsequent) term works better for graduate students than the start of first term. (The start of an academic year is busy anyway, and by their second term most students have a better idea of their research problem's programming needs.) In our experience mid-term breaks and reading weeks do not work well: bootcamps held then usually have high no-show rates.
Bootcamps can also be scheduled immediately before or after a conference (or run as a tutorial within a conference). In this case, the conference organizers must be involved early and often.
The host will decide before the bootcamp what kind of follow-up they're going to offer (if any). Some groups run weekly lunch-and-learn sessions for a couple of months after a bootcamp to help people put what they've learned into action. Other groups set up mailing lists, and we've tried running online tutorials. Whatever they decide to do, figuring it out in advance means that they can tell learners about it at least a couple of times.
A bootcamp room of approximately 40 people needs at least two instructors, and a third is a good idea, because:
Instructors must be recruited before advertising the bootcamp or opening up registration. At least one instructor must be certified by Software Carpentry in order for the bootcamp to use our name and logo. The other instructors should have prior teaching experience, be taking the instructor training, or have helped with at least one previous bootcamp.
Once the bootcamp has a full roster of instructors, admin will set up a mailing list for the organizer, instructors, and helpers so they can discuss audience, content, schedule, dinner plans, etc. (This is optional—some bootcamp teams prefer to email back and forth without a mailing list.)
Software Carpentry admin can set up an Eventbrite registration page on our Eventbrite account, but some sites do use their own system: for example, bootcamps being run in conjunction with conferences may use the conference registration system.
If admin sets up an Eventbrite page, we can give the host adminstrator permission so they can send messages to registrants, download the registrant list, manage the waiting list, etc.
If the host would like Software Carpentry to run registration through Eventbrite, we'll need the following information:
Eventbrite events can be public, which means they appear on Google and in listings, or private, which means they can only be seen by people who have the link. We can also add a password to protect the registration page further.
It's the host's job to identify and book a suitable room (or rooms) for the bootcamp.
You'll need a room with:
The lead instructor and other instructors are responsible for creating the bootcamp's home page on GitHub. (The README on the template page explains how to do this.) The webpage should have instructions for attendees, including the bootcamp dates, the location, a link to the registration page, and so on. The host should make sure this page also includes local travel information, parking instructions, and whatever other information is needed. After the bootcamp topic list and schedule are finalized, they will be posted to the webpage too.
Software Carpentry admin will check that the bootcamp is showing up properly on the list of upcoming bootcamps.
Once the webpage is set up, the host will start spreading the word about the bootcamp using our example text or something more creative. The host can tweet and blog about the event, and send emails to departmental mailing lists, discipline-specific mailing lists, specific people (e.g., lab directors or principal investigators), and anyone else who may be interested.
Software Carpentry admin is happy to promote the host's blog articles and tweets. We'll tweet and blog about the event, too.
If it's in the bootcamp budget, the host will provide coffee and snacks. Doing so cuts the time per coffee break to 10-15 minutes from 20-25 minutes. If this isn't possible, the host should identify somewhere nearby where attendees can get refreshments, and the schedule should include longer coffee breaks.
If snacks will be provided, try to allow for allergies and other dietary restrictions.
A few days before the bootcamp begins, learners will be asked to complete a pre-bootcamp skills assessment, usually as a Google form. The responses to the assessment will help the instructors tailor the bootcamp material to the group's needs.
If there is someone at the host institution who usually handles travel arrangements, admin or the host will connect them with instructors as soon as possible.
The host should also make sure it's clear who's paying for what and how people will be reimbursed before anyone buys plane tickets. The hosting site must reimburse instructors directly—Software Carpentry cannot route payments.
Instructors should not be shy about asking admin or the host about how to be reimbursed if they're not sure.
Once the initial conversations and setup are done, it's time to move forward with the nitty-gritty details of running a bootcamp.
The lead instructor, other instructors and host will decide what content will be covered in the bootcamp. The lead instructor will put together a schedule of topics and assign an instructor to each topic.
In addition to booking a room and catering, the host is responsible for providing an assortment of equipment and supplies for the bootcamp.
The host should check that the following equipment and information is available and working:
Helpers keep bootcamps flowing smoothly by assisting learners who are having trouble with exercises. It's the host's responsibility to recruit local helpers. There should be at least one helper for every ten attendees.
Most of our helpers are scientists who have either gone through a previous bootcamp, or learned most of what we teach on our own. Hosts usually recruit them from the hosting institution and nearby institutions.
Usually, bootcamps don't cover helpers' travel or accommodation expenses. Taking the whole team out to dinner the day before the bootcamp starts is a nice way to thank everyone and give them a chance to get acquainted.
If registration fills up, potential learners can add themselves to the waiting list (if the bootcamp is using Eventbrite). A week or two before the camp, the host or admin should contact the registered learners and confirm that they'll be attending. If anyone cancels and opens up a spot, admin or the host should offer that spot to someone on the waiting list.
Either the host or Software Carpentry admin can manage the waiting list. There are a couple of tricks to managing Eventbrite waiting lists:
If the bootcamp will be photographed, recorded, or broadcast, the host will let learners know by posting on the bootcamp's website. Institutions may require the host to obtain a signed photo release from each person if pictures are being taken; the host is responsible for finding out if a release is required, and printing out enough copies.
The host will introduce the instructors and helpers by name, and talk about why the bootcamp is being held and the desired outcome. They'll also let everyone know where to get coffee, whether they can bring drinks and snacks into the bootcamp room, and where the bathrooms are. The host will also remind learners of the code of conduct.
Before the bootcamp instruction begins, the host will hand out sign-in sheets and two different-colored sticky notes to each learner. The sign-in sheets help us keep track of how many learners we are reaching, and how successful our efforts to reduce no-shows are. The sticky notes let the learners communicate with instructors and helpers, both during the tutorials and exercises, and when giving feedback afterwards.
Once the bootcamp starts in earnest, the day will alternate between the instructor describing and demonstrating concepts and tools, and the learners completing short exercises. Sometimes the learners will type along as the instructor demonstrates. Learners are encouraged to work in pairs and groups, and to mix up their groups over the course of the bootcamp.
The instructor will ask lots of questions and encourage the learners to ask questions too. No more than ten or fifteen minutes will go by without the instructor engaging the learners or asking them to complete an exercise.
Helpers walk around the room looking out for learners who are confused or stuck with an exercise, or who have gotten behind the flow of the demonstration.
Meanwhile, there is an Etherpad open where all the learners and helpers are invited to take notes, post links and examples, and ask and answer questions. (This is a great opportunity for learners and helpers who aren't so gregarious to participate more fully in the bootcamp.)
The instructors will try to adhere to these good instruction practices:
Before the bootcamp ends, the host or an instructor will direct the learners to a post-bootcamp assessment. This is very much like the pre-bootcamp assessment, and helps us establish how well our bootcamps actually work.
Note that we match the pre- and post-bootcamp assessments answers using email addresses, so learners should use the same address when answering both surveys.
We have plans to ultimately send a third assessment a few months after the bootcamp, to see how well and how long learners' new knowledge and skills stick around.
At the end of the bootcamp, the host or an instructor will give the learners some final pieces of information:
Once the bootcamp is over, the host will send the following information to Software Carpentry admin:
The host will also let admin know how the bootcamp went. Was it the right content? The right pace? Did it seem well organized or were there things we could improve? What did you hear from learners afterward, and would you like us to visit you again?
We're also happy to hear from the instructors, helpers, and learners with comments and suggestions.
Our goal at Software Carpentry is to have at least one blog post from each bootcamp, whether it's written by the host, an instructor, a helper or a learner. So if you've been involved in a bootcamp and you'd like to write a blog post, or if you have written one on your blog, let us know so we can post it or link to it.