This workshop is aimed at teaching individuals who know a little unix shell, git, and python and are ready to learn about the next steps in software development for researchers. This workshop builds upon the introductory Software Carpentry with python workshop. After this workshop, participants will be able to:
- Explain key principles of open and reproducible research and their implications for research software development.
- Analyze software for maintainability, reproducibility and reuse, identifying risks and opportunities for improvement.
- Apply professional software development workflows for version control, reproducible environment management and collaboration.
- Design modular and extensible software to support reuse and scalable development.
- Design and implement testing, documentation and quality assurance practices to support correct and reusable research software.
- Evaluate software projects for openness, sustainability, reusability and collaborative practices.
- Select appropriate tools and practices to support collaborative and open research software development.