Our Lessons
A Software Carpentry workshop is taught by at least one trained and badged instructor. Over the course of the workshop, instructors teach our 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) are below.
You may also enjoy Data Carpentry's lessons (which focus on data organization, cleanup, analysis, and visualization) and Library Carpentry's lessons (which apply concepts of software development and data science to library contexts).
Please contact us with any general questions.
Curriculum
Our lessons are developed collaboratively on GitHub. You can check the status of each lesson on our dashboard. Our Curriculum Advisors are part of a team that provides the oversight, vision, and leadership towards lesson development.
Availability
All of our lessons are freely available under the Creative Commons - Attribution License. You may re-use and re-mix the material in any way you wish, without asking permission, provided you cite us as the original source (e.g., provide a link back to this website).
Contributing
If you have questions about contributing to our lessons, visit each lesson's GitHub repo to submit an issue or to get the link to join that lesson's Maintainers' discussion on Slack. For general information on how to contribute to our lessons, see our contributors guide. To learn more about how our lessons are structured, and why, please see the Workbench documentation and resources page.
Our Core Lessons in English
Lesson | Site | Repository | Reference | Instructor Notes | Maintainer(s) |
---|---|---|---|---|---|
The Unix Shell | Jacob Deppen, Benson Muite | ||||
Version Control with Git | Erin Graham, Katherine Koziar, Martino Sorbaro | ||||
Programming with Python | Indraneel Chakraborty, Toan Phung, Alberto Villagran | ||||
Plotting and Programming in Python | Allen Lee, Sourav Singh, Olav Vahtras | ||||
Programming with R | Rohit Goswami, Hugo Gruson, Isaac Jennings | ||||
R for Reproducible Scientific Analysis | Matthieu Bruneaux, Sehrish Kanwal, Naupaka Zimmerman |
Our Core Lessons in Spanish
La plantilla de la lección y la plantilla del taller están disponibles en español. Si estás interesade en participar en nuestra lección en español, contáctanos.
Additional Lessons
These lessons are not part of Software Carpentry core lessons but can be offered as supplementary lessons. Please contact us for more information.
Lesson | Site | Repository | Reference | Instructor Notes | Maintainer(s) |
---|---|---|---|---|---|
Automation and Make | Gerard Capes | ||||
Programming with MATLAB | Daniel Cummins, Padem dhar Dwivedi | ||||
Using Databases and SQL | Henry Senyondo |
Community Developed Lessons
The Carpentries also shares The Carpentries Community Developed Lessons. This includes The Carpentries Incubator (lessons under development and seeking peer review), and The CarpentriesLab (lessons that have been vetted by The Carpentries but are not part of our standard offerings).