Skip to content

Latest commit

 

History

History
51 lines (33 loc) · 2.88 KB

File metadata and controls

51 lines (33 loc) · 2.88 KB
site
sandpaper::sandpaper_site

This short course teaches tools and practices for producing and sharing quality, sustainable and [FAIR (Findable, Accessible, Interoperable and Reusable) research software][fair-principles-research-software] to support open and reproducible research. The course can be delivered over 2 full or 4 half days.

Target audience

  • Post-graduate students, early career researchers or junior Research Software Engineers (RSEs) who are starting their research or software projects, have foundational knowledge of Python, version control and using software tools from command line shell, and want to develop software to support their research using established best practices
  • Researchers or scientists who had foundational software training before but wish to refresh, reinforce or improve their skills and practices in the wider context of FAIR scientific practice and sharing and writing software for open and reproducible research

Check out a few example learner profiles, to see if this course is a right fit for you.

:::::::::::::::::::::::::::::::::::::::::: prereq

Prerequisites

Foundational knowledge of the following is required to be able to understand code examples used in the course:

  • Python used to write scientific code
  • Version control with Git
  • Working in a command line interface (shell)

Attending a [Software Carpentry][swc-lessons] workshop or a similar course will help you gain the skills and experience needed.

Please also make sure you have all the required software installed before attending this course.

::::::::::::::::::::::::::::::::::::::::::::::::::

Learning objectives

After attending this training, you will be able to:

  • Explain key principles of open and reproducible research and their implications for research software development.
  • Analyse 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, reusablilty and collaborative practices.
  • Select appropriate tools and practices to support collaborative and open research software development.

Acknowledgements

This course was originally developed by the UK's Software Sustainability Institute and funded by the UK Reproducibility Network (UKRN). See CITATION.cff for the full list of authors.