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. 
2. 
#### 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