Course introduction


Figure 1

JSON data file snippet showing EVA/spacewalk data including EVA id, country, crew members, vehicle type, date of the spacewalk, duration, and purpose
JSON data file snippet showing EVA/spacewalk data including EVA id, country, crew members, vehicle type, date of the spacewalk, duration, and purpose)

Figure 2

A first few lines of a Python script used as example code for the episode
A first few lines of a Python script

Better start with a software project


Figure 1

Software development lifecycle with Git showing Git commands and flow of data between components of a Git system, including working directory, staging area, local and remote repository
Software development lifecycle with Git

Figure 2

2 Git repositories belonging to 2 different developers linked to a central repository and one another showing two way flow of information in each link
Git - distributed version control system, image from W3Docs (freely available)

Figure 3

Creating a new GitHub repository
Creating a new GitHub repository

Figure 4

Naming the GitHub repository
Naming the GitHub repository

Figure 5

Complete GitHub repository creation
Complete GitHub repository creation

Figure 6

Copy the commands to sync the local and remote repositories
Copy the commands to sync the local and remote repositories

Reproducible software environments


Figure 1

We can visualise the use of virtual environments for different Python projects on the same machine as follows: Diagram to depict different Python environments containing different packages on the same machine


Code readability


Code structure


Code correctness


Software documentation


Open software management & collaboration


Figure 1

DOI

Wrap-up


Figure 1

An image of a Chinese proverb "The best time to plant a tree was 20 years ago. The second best time is now
An image of a Chinese proverb “The best time to plant a tree was 20 years ago. The second best time is now” by CCNULL, used under a CC-BY 2.0 licence

Figure 2

Help the team principles of writing FAIR, secure and maintainable code
Helping your team, image from RSECon2024, used under CC BY 4.0

Figure 3

Help the peers principles of making your work reproducible, inclusive and credit everyone involved
Helping your peers, image from RSECon2024, used under CC BY 4.0

Figure 4

Help the world principles of being responsible, open and global, and humanist when developing research software
Helping the world, image from RSECon2024, used under CC BY 4.0