Teaching basic lab skills
for research computing

Our Lessons

Curriculum

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

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 particular lessons, please contact their maintainers (listed below). If you would like to develop new lessons, please see our lesson incubation process.

Lesson Site Repository Reference Maintainer(s)
The Unix Shell Gabriel Devenyi, Ashwin Srinath
Version Control with Git Ivan Gonzalez, Daisie Huang
Version Control with Mercurial Doug Latornell
Using Databases and SQL Abigail Cabunoc Mayes, Sheldon McKay
Programming with Python Trevor Bekolay, Valentina Staneva
Programming with R Daniel Chen, Harriet Dashnow
R for Reproducible Scientific Analysis Thomas Wright, Naupaka Zimmerman
Programming with MATLAB Isabell Kiral-Kornek, Ashwin Srinath
Automation and Make Gerard Capes
Instructor Training Greg Wilson

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.

Videos

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
Software Carpentry: Git (SciPy 2015) Ted Hart
Software Carpentry: Scientific Python (SciPy 2015) Jessica Hamrick and Matt Davis
Software Writing Skills for Your Research (2014) 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).

Contributed

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 Alex Konovalov

Dialogue & Discussion

You can review our commenting policy here.