Instructor Notes

This is a placeholder file. Please add content here.

Course introduction


FAIR research software


Tools and good practices for research software


Version control


Instructor Note

At this point, the downloaded code to start working with in this episode should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/04-version-control.



Instructor Note

Open up VS Code, and launch a Git Bash terminal. Call out how your prompt looks, and make sure that Windows users are not accidentally using PowerShell. Refer back to the setup section on configuring VS Code if anyone needs help.



Instructor Note

If demonstrating remotely, copy the challenge text into the collaborative notes document. Leave 2-3 minutes for people to write their thoughts, and then go through them for 1-2 minutes.

### Good commit messages

Read the two commit messages below.
Write down your thoughts, and respond to those of others --
which is the most helpful? Why?
Do you have any examples of when commit messages would have helped you (or have helped you)?

1. [main 7cf85f6] Change variable
     1 file changed, 1 insertion(+), 1 deletion(-)

2. [main 8baf69d] Change variable name from columns to column_headers
    1 file changed, 1 insertion(+), 1 deletion(-)

#### Responses
* (Your response here)


Instructor Note

If demonstrating remotely, copy the challenge text into the collaborative notes document. Leave 2-3 minutes for people to write their thoughts, and then go through them for 1-2 minutes.

### Understanding commit contents

Below are the `diffs` of two commits, showing what changed in one or more file(s) between them.
Lines starting with `+`s are additions, while lines starting with `-`s are deletions.
Compare the two `diff`s - can you understand what the commit author was trying to achieve in each commit?
How many changes have they tried to make in each commit?

1. ![Example Diff 1](https://carpentries-incubator.github.io/fair-research-software/fig/ex-diff-1.png)
2. ![Example Diff 2](https://carpentries-incubator.github.io/fair-research-software/fig/ex-diff-2.png)

#### Responses
* (Your response here)


Instructor Note

If demonstrating remotely, copy the challenge text into the collaborative notes document. Leave 2-3 minutes for people to write their thoughts, then go through them for 1-2 minutes.

### Terminology

Consider the difference between the terms `remote` and `origin`.
How does their definition relate to how they work here?

#### Responses
* (Your response here)


Reproducible software environments


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/05-reproducible-environment.



Code readability


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/06-code-readability.



Code structure


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/07-code-structure.



Code correctness & testing


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/08-code-correctness.



Software documentation


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/09-code-documentation.



Instructor Note

Make sure to mention the extra content on different open source software licences, briefly cover it if there is time, then focus on the technicalities of adding a license file to a code repository (as there is likely not going to be enough time to spend on different license types).



Open software management & collaboration


Instructor Note

At this point, the code in your local software project’s directory should be as in: https://github.com/carpentries-incubator/astronaut-data-analysis-not-so-fair/tree/10-open-collaboration



Wrap-up