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

Screenshot of VSCode with the SOURCE CONTROL interface open in the left hand pane of the window. The interface shows one modified file staged for commit, an empty text input box where a commit meesage can be entered, and a green button labeled 'Commit & Push'
The Source Control interface to Git in VSCode

Figure 3

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 4

Creating a new GitHub repository
Creating a new GitHub repository

Figure 5

Naming the GitHub repository
Naming the GitHub repository

Figure 6

Complete GitHub repository creation
Complete GitHub repository creation

Figure 7

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