Tech stack

This course teaches best practices and recommendations for getting started with computational reproducibility to PhD students and research staff from diverse backgrounds with no prior experience, in principle, in computational skills.

Table 1: Importance of each tech/tool according to the stages of a research project; ✓✓✓ very important , ✓✓ fairly important, ✓ important, ✗: Not at all
Before During After
Git ✓✓
GitHub ✓✓
Markdown ✓✓ ✓✓✓

Course participants can follow this course without using any specific tools, although the technologies for computational reproducibility are broad and changing rapidly. The following list (ordered alphabetically) is an ongoing effort to compile recent and mature technology to support any stage and/or of reproducibility research (see side table). While they are not strictly necessary to follow this course, participants are encouraged to familiarise themselves with some of these technologies and tools to begin practising.

Git

GitHub

Using GitHub also goes a long way in helping participants visualise and understand the Git process, which also helps them engage. The tool allows participant to view diffs (file changes over time) in the files they collaborate on, track commit histories, and search the current state and the entire history of the code base.

Markdown

Markdown is a lightweight markup language for creating formatted text using a plain-text editor”, Wikipedia says. When compared to other markup language, Markdown is really easy to read in its source code form. That’s why it is widely used for blogs, collaborative software (from Trello to Github and Moodle), documentation pages, readme files, and computational notebooks. Did you know that complete books have only been written using Markdown?