An Introduction to Reproducible Programming and Project Management
An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures. - J. Buckheit and D. Donoho
Welcome
This beginner-friendly workshop focuses on using R and Git/GitHub to manage the full lifecycle of a scientific project, with a strong emphasis on version control and collaborative working. Participants will learn how to set up projects, manage dependencies, ensure reproducibility, and prepare code for publication, all within a collaborative framework that simulates real-world scientific teamwork. The course combines theoretical concepts with practical, hands-on exercises to build a foundational understanding of managing projects in an open-source environment.
Learning Objectives:
Effective Project Initiation and Setup: Start projects in R using best practices for file organization and setup, integrating Git from the outset to track changes and manage contributions.
Advanced Version Control with Git: Dive deep into Git operations such as branching, merging, resolving conflicts, and using remote repositories to facilitate collaboration among multiple contributors.
Collaborative Workflows: Explore collaborative features of GitHub, including pull requests, code reviews, and using issues for communication, to enhance team cooperation and project transparency.
Dependency Management: Utilize R’s package managers to handle project dependencies correctly, ensuring that your projects are portable and reproducible across different environments.
Ensuring Code Reproducibility: Implement reproducibility checks and techniques, such as using RMarkdown and Docker, to ensure that analyses are repeatable and can be run on any computer.
Publishing and Packaging: Learn how to package your research projects using R packages, publish your code on GitHub, and archive final versions on platforms like Zenodo or Figshare for broader dissemination.
Interactive Exercises: Participate in group exercises that simulate a collaborative project environment, from initial setup through to publication, emphasizing real-world application of the skills learned.
Our workshop material is licensed under a Creative Commons Attribution 4.0 International License.
Key Coordinators: