Home> Software Carpentry Lessons

Software Carpentry 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 organisation, cleanup, analysis, and visualisation) and Library Carpentry’s lessons (which apply concepts of software development and data science to library contexts).

Please contact us with any general questions.

Core Lessons in English

LessonSiteRepositoryReferenceInstructor NotesMaintainers
The Unix ShellJacob Deppen, Benson Muite
Version control with GitErin Graham, Katherine Koziar, Martino Sorbaro
Programming with PythonIndraneel Chakraborty, Toan Phung, Alberto Villagran
Plotting and programming with PythonAllen Lee, Sourav Singh, Olav Vahtras
Programming with RRohit Goswami, Hugo Gruson, Isaac Jennings
R for Reproducible Scientific AnalysisMatthieu Bruneaux, Sehrish Kanwal, Naupaka Zimmerman

Core Lessons in Spanish

LecciónSitio webRepositorioReferenciasNotas para Instructoras/esReponsable(s) del mantenimiento
La Terminal de UnixVerónica Jiménez, Clara Llebot, Heladia Salgado
Control de versiones con GitJean-Paul Courneya, Clara Llebot, Mariana Patricia Gomez Nicolas
R para Análisis Científicos ReproduciblesVerónica Jiménez, Heladia Salgado, Nelly Sélem

Additional Lessons

These lessons are not part of the core Software Carpentry curriculum but can be offered as supplementary lessons. Please contact us for more information.

LessonSiteRepositoryReferenceInstructor NotesMaintainers
Automation and MakeGerard Capes
Programming with MATLABDaniel Cummins, Padem dhar Dwivedi
Using Databases and SQLHenry Senyondo