Summary and Schedule
Chemistry, astronomy, and other research disciplines increasingly use computational methods. Those researchers have tasks similar to those of a professional software engineer, but they often lack formal software engineering training. These researchers are expected to pick up software engineering on the job. One of the most difficult aspects of software engineering is writing reproducible programs. However, the reproduction of experiments by others is an essential attribute of empirical science. Therefore, we designed this course to explain how to make research reproducible to a research audience.
What skills will you learn from this lesson:
- How to use specific package managers
- The pros/cons of specific package managers
Learner background:
People who write computational software experiments or do data analysis and want their experiments or analysis to be reproducible on the order of years, especially grad students and postdocs.
Prerequisite knowledge (including diagnostic questions):
- Compiled programming languages
- What is a compiler?
- What is run-time?
- What is build-time?
- The difference between libraries and applications
- Which is runnable?
- Which is human-readable?
- How to use the UNIX shell
- What is a directory?
- How to move between directories?
- In the command
foo bar baz
, how isfoo
interpreted differently thanbar
andbaz
?
Learners may have misconceptions about:
- the definition of reproducibility
- how containers provide reproducibility
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Reproducibility definition |
Define reproducibility. What are various kinds or degrees of reproducibility? Why are Jupyter and Knitr notebooks not sufficient by themselves for reproducibility? |
Duration: 00h 12m | 2. Package management theory | TODO |
Duration: 00h 24m | 3. Environment specifications | TODO |
Duration: 00h 36m | 4. Containerization and virutalization | TODO |
Duration: 00h 48m | 5. Engineering Reproducible Software | TODO |
Duration: 01h 00m | 6. Package managers in practice | TODO |
Duration: 01h 12m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Software Setup
Use WSL
Use Terminal.app
Use Terminal