<commit_before># Agenda

[TOC]


## 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](Preparation.md) tasks
    * Interact with other participants throughout the tutorial on [the
      MoPad](https://scipy2014.etherpad.mozilla.org/13)

### Introduction

[History and Motivation for Reproducible Research](http://reproducible-research.github.io/Reproducible-Research-Part-I/) (10 min) - Luis

* History of scientific societies and publications
    * [Leeuwenhoek](http://en.wikipedia.org/wiki/Antonie_van_Leeuwenhoek) was The Man!
    * [The Invisible College](http://en.wikipedia.org/wiki/Invisible_College)
    * [Nullius in Verba](https://royalsociety.org/about-us/history/)

### Data Acquisition

[Image Acquisition](DataAcquisition.md) (25 min) - Matt

* Replication of the early microscope experiments by <NAME>
    * Cell camera phone microscope
    * With drop of interesting water
    * *Hands on:* each pair acquires images

### Data Sharing

[Data Sharing](DataSharing.md) - (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


## 9:00 am Second Session

### Reproducible Computational Environment

[Computational Environment](ComputationalEnvironment.md) (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

### Developing Reproducible Scripts and Modules

[IPython Notebook, Scripts, and SimpleITK](DataProcessing.md) (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

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](https://guides.github.com/activities/citable-code/)


## 10:00 am Break (15 min)


## 10:15 am Third Session

### Regression Testing

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

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


## 11:15 am Fourth Session

### Open Science Publication

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

### Replicate or Perish !

Attempt to replicate your peers' articles (40 min)

* Replicate the publications of groups next to you
* Share your observations<commit_msg>Add Insight Journal link.<commit_after># Agenda

[TOC]


## 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](Preparation.md) tasks
    * Interact with other participants throughout the tutorial on [the
      MoPad](https://scipy2014.etherpad.mozilla.org/13)

### Introduction

[History and Motivation for Reproducible Research](http://reproducible-research.github.io/Reproducible-Research-Part-I/) (10 min) - Luis

* History of scientific societies and publications
    * [Leeuwenhoek](http://en.wikipedia.org/wiki/Antonie_van_Leeuwenhoek) was The Man!
    * [The Invisible College](http://en.wikipedia.org/wiki/Invisible_College)
    * [Nullius in Verba](https://royalsociety.org/about-us/history/)

### Data Acquisition

[Image Acquisition](DataAcquisition.md) (25 min) - Matt

* Replication of the early microscope experiments by <NAME>
    * Cell camera phone microscope
    * With drop of interesting water
    * *Hands on:* each pair acquires images

### Data Sharing

[Data Sharing](DataSharing.md) - (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


## 9:00 am Second Session

### Reproducible Computational Environment

[Computational Environment](ComputationalEnvironment.md) (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

### Developing Reproducible Scripts and Modules

[IPython Notebook, Scripts, and SimpleITK](DataProcessing.md) (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

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](https://guides.github.com/activities/citable-code/)


## 10:00 am Break (15 min)


## 10:15 am Third Session

### Regression Testing

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

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


## 11:15 am Fourth Session

### Open Science Publication

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](http://insight-journal.org/browse/journal/74)
    * Point to GitHub fork for source code

### Replicate or Perish !

Attempt to replicate your peers' articles (40 min)

* Replicate the publications of groups next to you
* Share your observations
{'fraction_non_alphanumeric': 0.08353253652058433, 'fraction_numerical': 0.013811420982735724, 'mean_word_length': 3.7127659574468086, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1156508', 'n_tokens_mistral': 2263, 'n_tokens_neox': 2068, 'n_words': 836}