Code repositories

Introduction

Reproducible scientific reseach relies on all contributors making their the data and the code behind their reported contribution easily identifiable and accessible for all. In this module, you place your own contribution (in its present, possibly partial state) into a publicly accessible repository so that you can refer to it in your writings and presentations.

Learning outcomes

This module will help you do the following:

Readings

Tools

The recommended tool is GitHub but the participants are free to make their own choice or even host one locally if their technical skills and ambitions match that goal.

Assessment: reproducibility

Submission deadline: by Session 11.

Submitted material: for the hands-on branch, a single PDF file containing the URL of the public repository; for the conceptual branch, a single PDF file containing the written summaries (basic stage) and discussions (in-depth stage).

Basic stage (up to 5 pts)

Hands-on branch: create and populate a repository with your current project progress (rubric: 1 pt for each of the following elements — creation, including source code, naming conventions, including or referencing data).

Conceptual branch: look up and summarize guidelines in respected scientific journals regarding the way in which code is to be made available when publishing in those journals (rubric: 1 pt per adequately summarized and referenced guideline).

In-depth stage (up to 3 pts)

Hands-on branch: include of a README file and a LICENCE file in the repository (rubric: 1 pt per file with adequate base content, 1 additional point if the README file properly identifies dependencies with external tools and libraries used in the project).

Conceptual branch: read about forks and pull requests in Git, then explain the usefulness of each in writing (rubric: 1 pt for adequately describing the purpose of forking, 1 pt for adequately describing the purpose of pull request, 1 pt for a list of two or more references consulted to determine the former).