The Carpentries develop and teach in-person, interactive, hands-on, two-day workshops for learning core data science and coding skills. Carpentries workshops are taught by volunteer Instructors, trained in pedagogy, who focus on creating a motivating and engaging environment for learners. All our lessons are open source, hosted on GitHub, and collaboratively developed by our volunteer community.
A global team of Regional Coordinators support the coordination of workshop activity and community building in regions around the world.
Software Carpentry workshops are domain-agnostic, and teach the Unix shell, coding in R or Python, and version control using Git.
Data Carpentry workshops are domain-specific, and focus on teaching skills for working with data effectively and reproducibly.
Library Carpentry workshops focus on teaching software and data skills for people working in library- and information-related roles. The workshops are domain-agnostic though datasets used will be familiar to library staff.
What makes our workshops special?
Our workshops incorporate a number of teaching practices that make them effective and enjoyable.
Our workshops are welcoming
All our workshops must abide by our Code of Conduct. As a community that values diversity and inclusivity, dedicated to providing a welcoming and supportive environment for all people regardless of background or identity, our Code of Conduct sits at the very heart of everything we do. Knowing that the workshop will be safe and welcoming helps people feel relaxed and ready to learn. Among other things, our Code of Conduct states:
We are committed to creating a friendly and respectful place for learning, teaching and contributing. All participants in our events and communications are expected to show respect and courtesy to others.
We have tips for Instructors on how to introduce the Code of Conduct at the start of workshops.
We use participatory live coding
Using the UNIX command line or working in Jupyter Notebooks or RStudio helps familiarise learners with the tools they will be using post-workshop. The pace is necessarily slow since the Instructor is typing commands with learners coding along, rather than paging through a series of slides. See more about why participatory live coding helps learners.
Mistakes are made (and that’s a good thing)
Instructors invariably make mistakes in typing when they use participatory live coding. Watching Instructors diagnose and fix errors helps learners figure out how to deal with the errors they encounter. It also makes the Instructor seem more human and relatable.
Peers are teaching peers
Unlike workshops where ‘experts’ deliver the word from on high, many of our workshops are taught by people who have recently been learners themselves. This creates a much less intimidating environment for learners.
It is easy to get help
We use a system of sticky notes to allow learners to seek help without having to call attention to themselves or interrupt the Instructor’s flow. Learners are issued sticky notes of two different colours - generally red and green - and use them to signal ‘it’s all good’ or ‘I need help’. When a learner posts a red sticky, a helper in the room will assist them to get back on track.
People use their own laptops
Working on their own laptops helps learners feel more comfortable getting started. When they leave the workshop, everything they need to continue using and learning the tools is set up for them.
It’s not just the Instructor teaching
Workshops generally have a number of helpers in the room who assist the Instructor by keeping people on track and caught up. Learners signal for help by means of the sticky note system. Helpers often pass on useful tips to learners.
Feedback is continuous
The same sticky notes are used for feedback throughout the workshop. As people leave for breaks, they write (anonymously) on the sticky notes, listing one plus (something they liked) and one minus (something they didn’t like or are still confused about). Stickies are left in a pile as they leave. Instructors go through the feedback in the break and address it at the start of the next section, i.e. they might speed up or slow down, or go over a section again that learners are still confused about. That way, the workshop stays closer to what learners actually need.
Instructors use challenges (or quizzes) throughout the training to test what learners have grasped. Responses help the Instructor see what learners are missing, or what misconceptions might need to be addressed. This allows for any confusion to be cleared up before the class moves on so no-one gets left behind.
Limiting the amount taught
Most learners can only hold seven things (+2 or -2) in memory at any one time. To avoid cognitive overload, we limit the number of concepts covered in our lessons. This might seem slow, but it means learners can process information so it moves into long-term memory.
All our workshops use etherpads - collaborative, web-based notepads that allow learners to share information and links, or to chat to each other. Instructors post links to all the lessons being taught, and learners can add links to handy tips or bits of code that others can then share. Etherpads persist after the workshop ends so learners can go back over things they might have missed.
Support for workshops
We provide guidance for teaching and hosting workshops in The Carpentries Handbook.