[TOC]
- 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
History and Motivation for Reproducible Research (10 min) - Luis
- History of scientific societies and publications
- Leeuwenhoek was The Man!
- The Invisible College
- Nullius in Verba
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 - (20 min) - 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
Computational Environment (20 min) - 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
IPython Notebook, Scripts, and SimpleITK (20 min) - 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 with Git and GitHub (20 min) - Steve
- Software versioning, collaboration, and citation
- Keeping track of changes
- Unique hashes
- DOI
- Hands on:
- Create a branch
- Make a commit
- Push the branch
- Create a citable version
Regression Testing (30 min) - 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 with Dexy (30 min) - Ana
- Article generation
- RST to HTML, etc
- GitHub replication and sharing
- Hands on: run dexy to generate a PDF document
Submitting an article to a Reproducible Journal (20 min) - Luis
- Open Science Publication
- Open Access
- Publishes article, data, and code
- Hands on:
- Submit Article to the Insight Journal
- Point to GitHub fork for source code
Attempt to replicate your peers' articles (40 min)
- Replicate the publications of groups next to you
- Share your observations