Agenda
8:00 am First Session
Getting Started
- Get acquainted and verify preparations (5 min) - Matt
- Say Hi! to the instructors
- Introduce yourself to the person sitting next to you, they will be your
partner
- Recall successfully completing the preparation tasks
- Interact with other participants throughout the tutorial on the
MoPad
Introduction
History and Motivation for Reproducible Research (10 min) History and Motivation for Reproducible Research video - Luis
- History of scientific societies and publications
Data Acquisition
Image Acquisition (25 min) - Matt
- Replication of the early microscope experiments by Antonie Leeuwenhoek
- Cell camera phone microscope
- With drop of interesting water
- Hands on: each pair acquires images
Data Sharing
Data Sharing - (20 min) History and Motivation for Reproducible Research video - Luis
- Image gathering, storage, and sharing (10 min)
- Figshare (www.figshare.com)
- Hands on: Upload the images
- Download data via RESTful API (10 min)
- REST download via Python standard library
- Checksum verification
- Hands on: Download the data via HTTP
9:00 am Second Session
Reproducible Computational Environment
Computational Environment (20 min) History and Motivation for Reproducible Research video - Aashish
- Reproducible computational environment
- Docker
- Package versioning
- Virtual Machines
- Cloud services
- Hands on:
- Create a Docker image and container
- Run our tutorial package verification script
- Upload your Docker image to DockerHub
Developing Reproducible Scripts and Modules
IPython Notebook, Scripts, and SimpleITK (20 min) History and Motivation for Reproducible Research video - Matt
- Reproducible code development
- IPython Notebook to combine notes, code, and results
- Avoid duplication with re-usable modules
- Hands on:
- Run analysis on new data
- Generate histogram for the data
Revision Control
Revision Control with Git and GitHub (20 min) History and Motivation for Reproducible Research video - Steve
- Software versioning, collaboration, and citation
- Keeping track of changes
- Unique hashes
- DOI
- Hands on:
10:00 am Break (15 min)
10:15 am Third Session
Regression Testing
Regression Testing (30 min) History and Motivation for Reproducible Research video - Jc
- Quality code development with regression tests
- Testing code hypothesis: the scientific method applied to development
- Unit testing
- Integration testing
- Continuous integration dashboards
- Hands on:
- Run the test suite
- Add coverage for another method to the unit tests
Literate Programming
Literate Programming with Dexy (30 min) History and Motivation for Reproducible Research video - Ana
- Article generation
- RST to HTML, etc
- GitHub replication and sharing
- Hands on: run dexy to generate a PDF document
11:15 am Fourth Session
Open Science Publication
Submitting an article to a Reproducible Journal (20 min) History and Motivation for Reproducible Research video - Luis
- Open Science Publication
- Open Access
- Publishes article, data, and code
- Hands on:
Replicate or Perish !
Attempt to replicate your peers' articles (40 min)
- Replicate the publications of groups next to you
- Share your observations