What is Software Carpentry?
The goal of Software Carpentry is to make scientists and engineers more productive by teaching them basic computing skills like program design, version control, testing, and task automation—things they should know before they try to tackle anything with "peta" or "cloud" in its name. Since 1997, we have found that a few days of training can save researchers a day a week for the rest of their professional lives, and also improve the quality of their computational work. Rather than adopting a position of these skills are good because software developers say they are, Software Carpentry teaches the software skills in the context of how they contribute to correct, reproducible and reusable research.
Who created all this?
Many people have helped by creating content, teaching boot camps, and building this web site.
Who pays for it?
Over a dozen organizations have supported us since we ran our first class at Los Alamos National Laboratory in 1998. Our current work is sponsored by the Alfred P. Sloan Foundation and the Mozilla Foundation.
What is a boot camp?
A boot camp is an in-person, example-driven workshop, typically two or three days long. A boot camp covers the core skills needed to be productive in a small research team: basic programming skills, version control, testing, using the shell, and relational databases.
Short tutorials alternate with hands-on practical exercises, and participants are encouraged both to help one another, and to try applying what they have learned to their own research problems during and between sessions. Participants usually work on their own computers (typically laptops), using either native software or a standard set of packages running in a virtual machine. This ensures that they have a working environment when the boot camp is done.
Why boot camps?
Software Carpentry was originally taught using in-lab lectures, but we have been experimenting since 2007 with various forms of online delivery. Our experience is consistent with recent research: students learn best in a blended environment that combines directed in-person instruction with self-directed online learning. We have therefore borrowed the boot camp format used so successfully by the University of Wisconsin - Madison's Hacker Within group, and are using it as a lead-in to our online material.
As well as improving learning, boot camps solve two other recurring problems. Researchers are busy people who often cannot make time for a semester-long traditional course. However, most can find two or three days to get started (and to get past installation and configuration hurdles if they are working on their own machines). At the same time, it can be hard to stay motivated when working in isolation; by bringing people together, boot camps create help peer support communities in selected disciplines or geographic regions.
Who are boot camps for?
Our learners are typically graduate students in science, engineering, and medicine who have written a few lines of code (either on their own or for an "Intro to Computing" class as undergrads), but aren't familiar with good "lab practices" in scientific computing like version control or unit testing. If any of these short bios sounds like you, then we're here to help.
What does a typical boot camp look like?
Boot camps are usually full-day affairs, starting at 8:30 and running to 4:30 or 5:00 with breaks for coffee and lunch. They usually have 20-50 participants and 2-3 instructors, plus a variable number of helpers wandering the room answering questions during practical sessions. (The instructors usually do this as well if their schedules permit.)
Learners typically use their own laptop computers to do practical exercises, though they may also use machines provided in a departmental lab. Instructors and helpers are usually volunteers, and participation is usually either free, or subject to a small fee to cover the cost of refreshments.
Do boot camps really work?
Yes: two independent studies in 2012 found that people really were learning useful things, and these testimonials from past participants show just how much difference a little training can make.
How can I attend a boot camp?
I'm a professor, why should I let my grad students attend a boot camp?
As our testimonials demonstrate, a boot camp can help researchers to improve their software development skills and so become more productive. Boot camps contribute to a researcher's personal career development (and can enhance their resume or CV). Researchers who have attended a boot camp are in a good position to help others in their research group adopt these software development skills too, to the benefit of their research group as a whole.
Boot camps also provide researchers with the opportunity to meet and network with other researchers, and so to both learn about other research in their field and to, in turn, promote their research. Who knows, a 20 minute chat with a fellow attendee at a boot camp may result in the opportunity of a site visit or be the start of a long-term collaboration.
How can I organise a boot camp?
Anyone who wants to can organize and run a boot camp—all Software Carpentry materials are freely available under a Creative Commons license, so you are free to re-use and re-mix them when and how you want. If you want to know more about what is involved in running a boot camp, please see our guide on how to run a boot camp.
We support groups who want to organise a boot camp for their institution or research community. We look for people who can act as a local organiser who will handle the logistics of selecting a suitable date, finding and booking a venue and catering, local publicity, and finding a few researchers or students interested in being helpers. Most importantly, a local organiser should be able to gather a group of students, from their institution or community, to attend the boot camp.
In return, we can help identify and arrange for instructors to come and present lectures and lead practical sessions, we will also provide guidance on how to organise the boot camp, help the local organiser to promote it, and provide any other assistance that might be required.
If you'd like us to help with planning, advertising, and recruiting, please contact us by email at email@example.com.
How can I help run a boot camp?
Researchers attend boot camps, learn from them and become familiar with how they are run. Ideally, we hope that some of those researchers will attend future boot camps as helpers. Helpers provide support during practicals to students (and get to add the experience to their resume or CV). Eventually, we hope that some of the helpers will become instructors, who will deliver lectures and run practicals at future boot camps.
If you are interested in helping out or instructing on a boot camp then please contact us by email at firstname.lastname@example.org.
How else can I contribute?
There are many ways you can help: please see this page for details.
Where can I learn more?comments powered by Disqus