The Carpentries: How We Operate
OverviewTeaching: 30 min
Exercises: 35 minQuestions
How are Software and Data Carpentry organized and run?Objectives
Get connected with the Carpentry community.
Describe where you can go to get information on running a workshop.
In becoming a Carpentry instructor, you are also becoming part of a community of like-minded volunteers. This section provides some background on both organizations and information about how you can get involved.
Software Carpentry was founded in 1998 and Data Carpentry was founded in 2013. You can learn more about the history and goals of each organization by reading “Software Carpentry: Lessons Learned” and “Data Carpentry: Workshops to Increase Data Literacy for Researchers”.
- Both focus on computational skills.
- Both run two-day workshops taught by volunteer instructors.
- Both strive to fill gaps in current training for researchers.
However, they differ in their content and intended audience. Data Carpentry workshops focus on best practices surrounding data. Its learners are not people who want to learn about coding, but rather those who have a lot of data and don’t know what to do with it.
Data Carpentry workshops:
- are aimed at pure novices,
- are domain-specific, and
- present a full curriculum centered around a single data set.
Software Carpentry workshops are:
- intended for people who need to program more effectively to solve their computational challenges,
- not domain-specific, and
- modular—each Software Carpentry lesson is standalone.
In February 2017, Software and Data Carpentry began to discuss merging the two organizations. As of August 2017, this merger is underway and planned to take effect in early 2018. Software and Data Carpentry will join under an umbrella organization (“The Carpentries”), with a shared governance, community structure, and policies. Each organization will maintain their own curricular materials.
The Carpentry Community
The Carpentry Community has several parts, which function together to spread data skills and computational literacy among researchers and other professionals worldwide.
Instructors teach workshops and form the cornerstone of the Carpentry community. Many also serve in some of the other roles listed below.
Trainers are Carpentry instructors who have received additional training in pedagogy. They train new instructors, develop the instructor training curriculum, and lead teaching demonstrations.
Mentors help new instructors integrate into the community by leading discussion sessions. Some also lead small mentoring groups to help new instructors prepare for their first few workshops.
Maintainers oversee curricular changes and maintain the high-quality of Carpentry lessons.
Lesson Infrastructure Subcommittee members make decisions about and implement changes to lesson templates to ensure a good user experience across our lessons.
Policy Subcommittee members moderate discussion lists and arbitrate reported Code of Conduct violations.
The Steering Committees make strategic decisions about the future of the organization and its operations.
Local Champions advocate for the Carpentries within their home institution and region, growing a local network of Carpentry instructors and supporting workshop learners.
Other Roles: There are many other ways to get involved with the Carpentries, whether by participating in lesson development events or contributing to our blogs.
There are many ways to get connected with the Carpentry community:
- Our websites are:
- Our lessons are hosted on GitHub; contributions to them and discussion of changes happens via GitHub pull requests and issues, and the lessons are published using GitHub Pages. More details are given below:
- Software and Data Carpentry share public discussion lists that host everything from lively discussion on teaching practices to job postings and general announcements:
- We publish a joint newsletter.
- Host monthly community calls and weekly instructor discussion sessions:
- Check out our community calendar
- You can also find us on
Take a couple of minutes to sign up for the Carpentry discussion channels you want to stay involved with.
How a Workshop Works
There are two types of Carpentry workshops: self-organized and centrally-organized. For a centrally-organized workshop, Carpentry staff takes care of organization and administration such as finding instructors and handling workshop registration. For a self-organized workshop, all of these details are handled by the instructors or organization hosting the event.
If you would like to host a Software Carpentry workshop at your institution, visit this website for more information.
If you would like to host a Data Carpentry workshop at your institution, visit this website for more information on centrally-organized workshops and this website for more information about self-organized workshops.
Policies related to instructor training and workshops for both Software Carpentry and Data Carpentry can be found here. Please be sure to read through the instructor no-show policy before signing up for your first workshop.
All of Software Carpentry and Data Carpentry’s lessons materials are freely available under a permissive open license. You may use them whenever and however you want, provided you cite the original source.
Using the Names
The names “Software Carpentry” and “Data Carpentry” and their respective logos are all trademarked. You may only call a workshop a Software Carpentry or Data Carpentry workshop if:
- it covers the core topics,
- at least one instructor is certified,
- you run our standardized pre- and post-workshop assessments and ensure everyone participates, and
- you send us summary information about attendees (at a minimum, the number of people who attended).
A Software Carpentry workshop must include lessons on version control (e.g. git), the shell, and a programming language (e.g. R or Python).
A Data Carpentry workshop must include a Data Carpentry lesson on data organization and three other modules in the same domain from the Data Carpentry curriculum.
Within these guidelines, there is flexibility in which episodes of the lesson you cover, which exercises you use, and whether you include optional materials (e.g. callouts) and optional episodes.
Who Can Teach What
As of March 2017, a trained instructor can teach curricula for either Software Carpentry or Data Carpentry and are no longer required to certify separately for each: see the description of the instructor checkout procedure for details.
In order to communicate with learners, and to help us keep track of who’s taught what and where, each workshop’s instructors create a one-page website with information about their workshop. Once that has been created, the host or lead instructor sends its URL to the workshop coordinator, who adds it to our records. The workshop will show up on our websites shortly thereafter.
Practice With SWC or DC Infrastructure
Go to the SWC workshop template repository or the DC workshop template repository and follow the directions to create a workshop website using your local location and today’s date. Put the link for your workshop website into the Etherpad.
This exercise should take about 10 minutes.
Question and Answer
What questions do you have about running and teaching at a workshop? Talk with a partner and enter your questions into the Etherpad.
Leave about 10 minutes for this discussion.
A Culture of Contribution
In the same way that we hope to promote a culture of openness, sharing, and reproducibility in science and research through training researchers with the tools they need, the Carpentry organizations themselves aim to be open, collaborative, and based on best practices. We want to draw together the collective expertise of our teaching community to create collaborative lessons, share other materials, and improve the lessons via “bug fixes” as we go along.
The lesson materials for Software and Data Carpentry are hosted on GitHub:
and are developed collaboratively. Each lesson is in a separate repository, and consists of narrative lesson material and an associated directory containing the data or scripts needed in the lesson. This source material is also then served as a website, using GitHub’s “gh-pages” feature.
Lesson contribution is managed within the repository using “issues” and “pull requests”. New problems or suggestions can be introduced as issues, discussed by the community, and addressed via a pull request, which serves as a “request” to make changes, and can also be discussed before changes are merged.
Check Out the Discussion
As an instructor, your voice is important! We want you to be actively involved in discussions about the lesson materials (and other aspects of the Carpentry community). Go to the GitHub page for the lesson you worked with over the past two days and click on the “Issues” tab. Read through some of the discussions and, if you have anything to add, please add it to the conversation! If you do make a significant contribution to the discussion, send a link to the issue to firstname.lastname@example.org. Congratulations! You’ve just completed one of the three remaining steps in becoming a Carpentry instructor.
Leave about 5-10 minutes for this exercise.
Maybe this instructor training has inspired you to go home and write your own fantastic lesson! If you’d like to model it after the Software and Data Carpentry lesson format, you can go to this repository for a template and instructions.
Many Ways to Contribute
We recognize that the medium of GitHub may be restrictive to those who wish to contribute to our lessons. We are always searching for ways to make the process more friendly to all, whether that be contribution training, or alternative routes to contribution. If you have any ideas how we might make contribution more contributor-friendly, please let us know.
Being part of a friendly, open discussion, is of equal or greater importance to the community than submitting the perfect lesson change. The checkout process to become a certified instructor will be one way to start connecting to the community and find which area will allow you to contribute best.
Carpentry materials are all openly licensed, but their names and logos are trademarked.
Carpentry workshops must cover core concepts, have at least one certified instructor, use our pre- and post-workshop surveys and report attendance information.