Summary and Setup
This short course is teaching tools and practices for producing and sharing quality, sustainable and FAIR (Findable, Accessible, Interoperable and Reusable) 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 or early career researchers who are starting their research 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 research 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.
Prerequisites
Before joining this training, participants must have foundational knowledge of Python used to write scientific code, version control system Git and a command line (shell) tool to be able to understand code examples used in the course.
Attending a Software Carpentry or a similar course could help with these requirements and gaining necessary prerequisite skills.
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:
- List challenges typically faced by researchers developing software and managing data for modern computational research, including those commensurate with the FAIR (Findable, Accessible, Interoperable, Reusable) principles
- Understand and use some tools and practices that can help make your research, data and software FAIR
- Automate your research and enable replication of your research results by writing software to implement the research methodology and assess if the code does what it intends to do via code testing
- Share and version control your research software using Git and GitHub
- Use best practices for developing FAIR research software - including writing readable code, code documentation, licencing and citation
- Use tools and techniques for collaborative and sustainable open software development and maintenance
- Understand some ethical issues around research software development and usage and how our work impacts others
- Build on top of your existing knowledge of Python, Git and command line tools and enhance your research software development workflow with some good practices around structuring, sharing and reusing code to make it more FAIR
What we do not teach
This course assumes the prior knowledge of and does not focus on teaching:
- Python syntax or skills (even though Python is used in code examples)
- the basic Git workflow
- how to navigate filesystem, manipulate files and invoke Python scripts and tools from command line terminal/shell.
Setup
To go through the course material on your own or at a workshop, you will need the following software installed and working correctly on your system:
-
Command
line terminal (shell) (such as Bash,
Zsh or Git Bash)
- Git version control tool
- GitHub account
- Python 3
- Visual Studio Code (VS Code) integrated development environment (IDE)
- Astronaut data and analysis code which we will be used for exercises in the course
Please follow the installation instructions to install the above tools and set up for the course.