Teaching basic lab skills
for research computing

Our Lessons


Our lessons are developed collaboratively on GitHub. You can check the status of each lesson on our dashboard, or look at older releases.


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).


If you have questions about contributing to particular lessons, please contact their maintainers (listed below). If you would like to develop new lessons, please see our lesson incubation process.

Our lessons in English

Lesson Site Repository Reference Instructor Guide Maintainer(s)
The Unix Shell Gabriel Devenyi, Ashwin Srinath, Colin Morris, Will Pitchers
Version Control with Git Ivan Gonzalez, Daisie Huang, Nima Hejazi, Katherine Koziar, Madicken Munk
Version Control with Mercurial Doug Latornell
Using Databases and SQL Abigail Cabunoc Mayes, Sam Hames, Henry Senyondo
Programming with Python Trevor Bekolay, Valentina Staneva, Anne Fouilloux, Maxim Belkin, Mike Trizna
Plotting and Programming in Python Nathan Moore, Allen Lee, Sourav Singh, Olav Vahtras
Programming with R Daniel Chen, Katrin Leinweber, Diya Das
R for Reproducible Scientific Analysis Thomas Wright, Naupaka Zimmerman, Jeffrey Oliver, David Mawdsley
Programming with MATLAB Ashwin Srinath
Automation and Make Gerard Capes
Instructor Training Erin Becker, Christina Koch, Karen Word

You may also enjoy Data Carpentry's lessons, which focus on data organization, cleanup, analysis, and visualization.

To learn more about how our lessons are structured, and why, please see the example lesson.

The template for our workshop websites can be found in this repository, and the styles repository contains the CSS, Javascript, and other tools and resources these repositories share.

Our lessons in Spanish

Lesson Site Repository Reference Instructor Guide Maintainer(s)
La Terminal de Unix Ivan Gonzalez, Clara Llebot, Verónica Jiménez, Silvana Pereyra, Heladia Salgado
Control de versiones con Git Ivan Gonzalez, Rayna Harris, Clara Llebot
R para Análisis Científicos Reproducibles Rayna Harris, Verónica Jiménez, Silvana Pereyra, Heladia Salgado

The lesson template and the workshop template are available in Spanish. If you are interested in getting involved with our Spanish lessons contact us.

La la plantilla de lección y la plantilla de taller están disponibles en español. Si está interesado en participar en nuestra lección de español contáctenos.


Video recordings of our lessons are listed below; additions are very welcome.

Version Control and Unit Testing for Scientific Software (SciPy 2013, Part 1) Katy Huff
Version Control and Unit Testing for Scientific Software (SciPy 2013, Part 2) Matt Davis
Version Control and Unit Testing for Scientific Software (SciPy 2013, Part 3) Matt Davis
Software Carpentry: Lessons Learned (SciPy 2014) Greg Wilson
Entire workshop at the University of Melbourne (2014) Damien Irving
Software Carpentry: Shell (SciPy 2015) Jens Nielsen
Software Carpentry: Python (SciPy 2015) Katy Huff and Thomas Kluyver
Software Carpentry: Git (SciPy 2015) Ted Hart and Azalee Bostroem
Software Carpentry: Scientific Python (SciPy 2015) Jessica Hamrick and Matt Davis
Software Writing Skills for Your Research (2015) Martin Hammitzsch

Our YouTube channel has studio versions and screencasts of our older material. You may also enjoy this video (though "enjoy" may not be the right word).


These lessons have been contributed by community members.

Lesson Site Repository Maintainer(s)
Testing and Continuous Integration with Python Katy Huff
From Excel to a Database Greg Wilson
Data Management in the Ocean, Weather and Climate Sciences Damien Irving
Controlling a Quadcoptor With Your Mind Isabell Kiral-Kornek
Visualizing Your Data on the Web Using D3 Isabell Kiral-Kornek
Working With Data on the Web Greg Wilson
Intermediate/Advanced R Lessons Scott Ritchie
Programming with GAP Alexander Konovalov

Dialogue & Discussion

You can review our commenting policy here.