SWD3: Software Development Practices - Express Your Interest

Course Code
50136857

Provider
IT

Tutor(s):
Patricia Ternes Dallagnollo

Suitability
Research postgraduate students and above; teaching and lecturing staff

Date(s)
Further Information

Max Places:
16

Description
SUITABILITY:
Research postgraduate students and staff from all faculties and research
domains who are new to version control with git.

COURSE CONTENT:
The purpose of this workshop is to introduce a number of the techniques
and concepts that professional software developers use to manage their
code, projects and teams. Although the development of research codes and
software has different needs and challenges to the development of
commercial software, there are nonetheless some tools and techniques
that we can adopt or adopt to improve our Research Software Engineering.
This will be a hands-on session with lots of discussion and small group
activities.

While we will use Python as our example language to work through an
example of software development; however, the concepts and content
covered will be relevant regardless of what language you use for
computation.

At the end of the workshop, attendees will understand:

- The difference between reproducibility and reusability of code, and
how both contribute to robust research;
- Strategies to manage dependencies for their projects to ensure
reusability and reproducibility;
- How to leverage version control and semantic versioning to share
specific versions of their code;
- Licensing of open source software;
- How to enable easy citation of your software;
- Testing of research code: theory and strategies;
- Publishing code alongside research results

This course includes practical exercises and hands-on coding that you
will be guided through.

PREREQUISITES:
We will contact you ahead of the course to confirm any required software
installation (all software will be available for user install, so no
admin rights required)

- Basic familiarity with the Linux command line.
-If you lack familiarity with command line Linux, please consider taking
the following first: HPC0: Introduction to Linux for HPC
- Basic familiarity with git.

If you lack familiarity with git, please consider taking the following
first: SWD2: Version control as a tool for reproducible research (with
git and GitHub)

Duration: 2 X half day in-person wortkshops, one week apart.

Cost: Free of Charge