Practical Reproducibility With Popper

Popper is an experimentation protocol and CLI tool for conducting experiments and writing academic articles following best OSS and DevOps practices. The open-source CLI tool helps researchers organize all the artifacts associated to a scientific exploration inside a code repository such as Git. These “popperized” repositories are self-contained and can be easily shared (cloned via Git) so that others can replicate the original results (see examples here).

Prerequisites

In this lesson we use the Unix Shell, and previous experience is highly recommended before taking this lesson. We assume you are familiar with tasks such as listing directories, creating, copying, remove and listing files, as well as modifying file permissions and running scripts. We also make use of Git (and Github) basic features such as creating commits and pushing to remote repos. In addition, we also make basic use of Python and Docker, which we also encourage you to learn before taking this lesson.

Setup

In order to follow this lesson, you will need to install software in your computer. Please follow instructions on the setup page.

Schedule

Setup Download files required for the lesson
00:00 1. Introduction How can I generalize the structure of my scientific explorations?
00:35 2. Popper Pipelines How can I automate a scientific exploration pipeline?
00:50 3. Visualizing Popper Pipelines How can I quickly get a sense of what a pipeline does?
01:15 4. Continuous Validation of Pipelines How can I check the integrity of a pipeline over time?
01:25 5. Creating Portable Pipelines How can I verify that a pipeline can run on other machines?
01:45 6. Archiving and DOIs How can I archive and obtain DOIs for my project?
02:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.