The Carpentries

From Wikipedia, the free encyclopedia
(Redirected from Software Carpentry)
The Carpentries
FounderGreg Wilson
Executive Director
Kari L. Jordan
Formerly called
Software Carpentry Foundation

The Carpentries is a nonprofit organization that teaches software engineering and data science skills to researchers through instructional workshops.[1][2] The Carpentries is made up of three programs areas: Software Carpentry, Data Carpentry and Library Carpentry.

The Carpentries workshops have been run internationally, including workshops at the Smithsonian Institution,[3] the Australian Research Data Commons,[4] CERN,[5] and in Antarctica.[6]


Software Carpentry workshops began in 1998 as week-long training courses by Brent Gorda and Greg Wilson.[7][8][9] at Los Alamos National Laboratory. The Software Carpentry Foundation was formed in 2014 alongside the sibling foundation, Data Carpentry.[9] These organizations were merged in 2018 to form what is now known as The Carpentries.[2] In 2018, Library Carpentry became the third lesson program of The Carpentries.[1]


Carpentries workshops are two-day workshops led by volunteer instructors who have been certified through the organization's training program.[10][11] Content covered in a standard workshop includes using the command line and an introduction to a programming language such as R or Python.[1][12] Workshops under the Data Carpentry program focus on specific subject domains, such as life sciences or social sciences.[10]

A Software Carpentry workshop is designed as an active learning and collaborative experience. The lesson content is hands-on with practice following instructors live coding, while helpers are ready to assist students and keep the class pace. Training covers the core skills needed to be productive in a small research team. Tutorials in the lesson alternate with practical exercises, where collaboration is attempted. There is a collaborative document where the learning process is constructed.[13][14]


Stable lessons[edit]

All lesson content under The Carpentries curriculum are licensed openly under Creative Commons licenses.[1][11]

Before being adopted as an official Carpentries lesson, new lessons go through a series of stages designed to ensure they are sufficiently documented to be teachable by instructors outside of the initial author group.

The Carpentries shares The Carpentries Community Developed Lessons (there are three core topics: the Unix shell, version control with Git, and a programming language (Python or R). Curricula for these lessons in English and Spanish (select lessons only) and also Data Carpentry's lessons.

Community developed lesson[edit]

The Carpentries community has a collaborative and open process for lesson development and to sharing teaching materials.[citation needed] The Carpentries incubator [15] contains lessons developed by community members. These lessons follow a life cycle that begins with pre-alpha, where only the concept is offered, and ends with beta, where the lesson is taught in a workshop by instructors other than the authors. There are 4 stages: pre-alpha, alpha, beta, and stable.

Pre-alpha is the draft from the initial lesson idea. Alpha's goal is to collect and incorporate feedback from learners and co-instructor. The two lessons in beta stages are Reproducible Computational Environments using Containers[16] and Data Harvesting for Agriculture.[17]

Carpentries incubator has approximately 30 lessons available in alpha stage, ranging from a spreadsheet to a database[18] through Python for Humanities[19] and Metagenomics.[20] There is another main way for community members to share lessons material: The CarpentriesLab,[15] which is a repository for high-quality, peer-reviewed, short-format, lessons that use the teaching approach and lesson design from The Carpentries. It is also possible to get peer-review on the content of a lesson by submitting it to The Incubator through Carpentries.[21]

The lessons from both Carpentries Incubator and CarpentriesLab can be taught in meetups, classes or as complements to a standard two-day Carpentries workshop.

Other language lessons[edit]

The Carpentries community has developed Spanish versions of its core lessons which are the Unix shell, version control with Git and R as a programming language.


The Carpentries is fiscally sponsored by Community Initiatives[22] and funded through a combination of memberships, workshop fees, grants and donations. The Carpentries has over 70 member organizations,[23] including the Software Sustainability Institute,[24] the National Institute of Standards and Technology,[25] New Zealand eScience Infrastructure,[26] and Compute Canada.[27]

In November 2017, the Library Carpentry program received a supplemental Institute of Museum and Library Services grant, in partnership with the California Digital Library, valued at $249,553.[28][29]

In November 2019, the Chan Zuckerberg Initiative and the Gordon and Betty Moore Foundation announced a joint award of $2.65 million for The Carpentries.[30]


  1. ^ a b c d Pugachev, Sarah (2019). "What Are "The Carpentries" and What Are They Doing in the Library?". Portal: Libraries and the Academy. 19 (2): 209–214. doi:10.1353/pla.2019.0011. ISSN 1530-7131. S2CID 146034351.
  2. ^ a b Atwood, Thea P; Creamer, Andrew T.; Dull, Joshua; Goldman, Julie; Lee, Kristin; Leligdon, Lora C.; Oelker, Sarah K (2019). "Joining Together to Build More: The New England Software Carpentry Library Consortium". Journal of eScience Librarianship. 8 (1): e1161. doi:10.7191/jeslib.2019.1161.
  3. ^ "Carpentries, Genomics, and Data Science training at the Smithsonian | Smithsonian Data Science Lab". Retrieved 2019-11-10.
  4. ^ "Supporting The Carpentries". ARDC. Retrieved 2019-11-10.
  5. ^ "Software Carpentry at CERN (27-29 November 2019): Overview · Indico". Indico. Retrieved 2019-11-10.
  6. ^ Perkel, Jeffrey M. (2018). "Software training in Antarctica". Nature. 560 (7719): 515. Bibcode:2018Natur.560..515P. doi:10.1038/d41586-018-06011-1. PMID 30127483. S2CID 52048713.
  7. ^ Markel, Scott; Devenyi, Gabriel A.; Emonet, Rémi; Harris, Rayna M.; Hertweck, Kate L.; Irving, Damien; Milligan, Ian; Wilson, Greg (2018). "Ten simple rules for collaborative lesson development". PLOS Computational Biology. 14 (3): e1005963. arXiv:1707.02662. Bibcode:2018PLSCB..14E5963D. doi:10.1371/journal.pcbi.1005963. ISSN 1553-7358. PMC 5832188. PMID 29494585.
  8. ^ Wilson, Gregory (2021). "The Third Bit". “Start where you are, use what you have, help who you can”
  9. ^ a b Wilson, Greg (2016). "Software Carpentry: lessons learned". F1000Research. 3: 62. doi:10.12688/f1000research.3-62.v2. ISSN 2046-1402. PMC 3976103. PMID 24715981.
  10. ^ a b Pawlik, Aleksandra; van Gelder, Celia W.G.; Nenadic, Aleksandra; Palagi, Patricia M.; Korpelainen, Eija; Lijnzaad, Philip; Marek, Diana; Sansone, Susanna-Assunta; Hancock, John; Goble, Carole (2017). "Developing a strategy for computational lab skills training through Software and Data Carpentry: Experiences from the ELIXIR Pilot action". F1000Research. 6: 1040. doi:10.12688/f1000research.11718.1. ISSN 2046-1402. PMC 5516217. PMID 28781745.
  11. ^ a b Labou, Stephanie; Otsuji, Reid (2019). "Expanding Library Resources for Data and Compute-Intensive Education and Research". 2019 15th International Conference on eScience (EScience). San Diego, CA, USA: IEEE. pp. 646–647. doi:10.1109/eScience.2019.00100. ISBN 978-1-7281-2451-3. S2CID 214594737.
  12. ^ National Academies Of Sciences, Engineering; Division of Behavioral Social Sciences Education; Board On Science, Education; Division on Engineering Physical Sciences; Committee on Applied Theoretical Statistics; Board on Mathematical Sciences Analytics; Computer Science Telecommunications Board; Committee on Envisioning the Data Science Discipline: The Undergraduate Perspective (2018). Data Science for Undergraduates: Opportunities and Options. Washington, DC: The National Academies Press. p. 55. doi:10.17226/25104. ISBN 978-0-309-47559-4. PMID 30407778. S2CID 86392049.
  13. ^ Weaver, Belinda (2020). The efficacy and usefulness of software carpentry training: a follow-up cohort study (PDF) (master). Retrieved 2021-01-01.[dead link]
  14. ^ "Instructor Training". Retrieved 2021-07-02.
  15. ^ a b "Community Developed Lessons". The Carpentries.
  16. ^ "Reproducible Computational Environments Using Containers: Introduction to Docker".
  17. ^ "Data Harvesting for Agriculture".
  18. ^ "From a Spreadsheet to a Database".
  19. ^ "Python for Humanities".
  20. ^ "Data processing and visualization for metagenomics".
  21. ^ "GitHub Repository". 9 November 2021.
  22. ^ "Fiscally Sponsored Projects". Community Initiatives. Retrieved 2019-11-10.
  23. ^ "4TU.ResearchData | Expanding Researchers' software skills at Technical Universities across The Netherlands". Archived from the original on 2020-07-07. Retrieved 2020-07-07.
  24. ^ "The Carpentries and our partnership | Software Sustainability Institute". Retrieved 2019-11-11.
  25. ^ Greene, Gretchen (2019-07-02). "Software and Data Carpentry". NIST. Retrieved 2019-11-11.
  26. ^ "NeSI partners with Software Carpentry to expand research computing training". New Zealand eScience Infrastructure. Retrieved 2020-07-07.
  27. ^ "Training | Compute Canada". 3 April 2015. Retrieved 2019-11-11.
  28. ^ "Library Carpentry Receives Supplemental IMLS Grant – UC3 :: California Digital Library". Retrieved 2020-01-13.
  29. ^ "RE-85-17-0121-17". Institute of Museum and Library Services. 2017-08-30. Retrieved 2020-01-13.
  30. ^ "$2.65 million to expand computational research skills in science". Retrieved 2019-11-11.