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. Software and Data Carpentry formed an umbrella organization (“The Carpentries”), with a shared governance, community structure, and policies in January, 2018. 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 (Mentors) teach workshops and form the cornerstone of the Carpentry community. They 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.
Trainers are Carpentry instructors who have received additional training in pedagogy. They train new instructors, develop the instructor training curriculum, and lead teaching demonstrations.
Lesson Developers create Carpentries lessons for new subject areas.
Lesson 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.
Assessment Subcommittee members help us to understand the impact of our workshops on the learners who attend and guide the development, implementation, and instruction of our workshops based on these assessments.
The Executive Council makes strategic decisions about the future of the organization and its operations.
Champions advocate for the Carpentries within their home institution and region, growing a local network of Carpentry instructors and supporting workshop learners.
Infrastructure Team helps with AMY (or tracking system), data analysis, surveys, and providing systems administration and other support infrastructure functions.
Workshop Coordinators help to plan and run Carpentries workshops at their institutions.
Participating in the Carpentries – What’s Your Role?
If you are at an in-person training, your instructor will hand out paper copies of a worksheet. If you are at an online training, you can get a digital copy here.
Working on your own, match up the roles with the descriptions. When you are done, think about the question at the bottom of the worksheet about what roles you might play, and enter your thoughts in the etherpad.
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, information can be found on the request a Software Carpentry workshop page.
Policies related to instructor training and workshops for both Software Carpentry and Data Carpentry can be found in the policies repository. 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 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 find a template and instructions in the Carpentries lesson example repository.
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.