All ECSTATIC Materials

Document Type

Lecture Material

Publication Date



Version control systems track the history of code as it is committed (saved) by any number of developers. Have you made a coding error and cannot debug it? Version control systems allow for resetting code back to when it worked, and show what code has changed since previous commits.

The contents of this lecture provide an introduction to the git version control language, GitHub for cloud hosting open source code repositories, and tutorials that demonstrate common and useful git and GitHub practices. This lecture is intended to be coupled with a discussion on creating reproducible computational research.

The zipped folder contains:
1. pre-meeting software installation instructions,
2. references for discussion on reproducibility, coding best practices, and legal issues, and
3. slideshow with tutorial. Commands needed for the tutorial are in the slide notes. Links to additional video tutorials are provided in a slide.

Combined, the presentation + reproducibility discussion + tutorial are designed to take about 50 minutes to complete. If used in a course, the tutorial information on the hidden slides could be used as part of a student assignment.


Parts of the slideshow were originally given by Jon Herman at Cornell as part of a research group meeting in 2013 and a graduate student seminar series in 2014. In 2019 and 2020, Jared Smith updated and added slides on computational reproducibility and created several tutorials that were used in the research group meetings of Julianne Quinn (University of Virginia) and Jon Lamontagne (Tufts University).

Creative Commons License

Creative Commons Attribution-Share Alike 4.0 License
This work is licensed under a Creative Commons Attribution-Share Alike 4.0 License.

Additional Files

2020_GitGithub_Pre-MeetingInstructions.docx (14 kB)
Pre instructions

2020_ReproducibilityReadingsList.docx (17 kB)
Reproducibility readings

2020_Smith&Herman_3Aug_Reproducibility+GitGithubCodeLicensing+Tutorial.pptx (5968 kB)
Lecture slides in PPT