Skip to content

Latest commit

 

History

History
53 lines (35 loc) · 2.96 KB

File metadata and controls

53 lines (35 loc) · 2.96 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:

  • Describe the principles of open and repoducible research and apply those principles to make a software development project more reproducible.
  • Version control your software project with git and manage an open source project in GitHub
  • Create and use reproducible virtual environments for software development projects
  • Write or edit code based on coding best practices - using functions, informative variable names, existing packages, docstrings, etc.
  • Refector code into functions, including a main function, to create more modular and re-usable code
  • Write code to take arguments from the command line for improved flexiblity and reuse
  • Write and run tests using a testing suite library
  • Create automated documentation for code to enable use by others
  • Manage an open source or other collaborative software projects (including publishing and licensing)

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.