The Carpentries: How We Operate
OverviewTeaching: 30 min
Exercises: 35 minQuestions
How are Software, Data, and Library 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 Carpentries works to help institutions and individuals spread skills for data analysis, computational thinking, and research software development through building local and global communities of practice. Our community depends on individuals like you who are passionate about expanding these communities of practice through inclusive and evidence-based instructional practices, and can contribute your perspective and expertise to continually refine our instructional materials and practices. A full description of the breadth and diversity of community member roles, an overview of the Carpentries’ various social media channels, a calendar of future community events, and descriptions of mailing lists used by the community can be found here on the Carpentries website and also on the getting connected page.
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.
Take a moment to review member community roles on the Carpentries’ community website. 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.
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 Software and Data Carpentry 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.