Instructor Notes

This is a placeholder file. Please add content here.

Course introduction


Better start with a software project


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.



Choose how you teach version control steps from here

At this point in the lesson, you may choose to demonstrate how the same steps of staging and committing changes can also be achieved with the VS Code graphical interface.

Screenshot of VS Code 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 message can be entered, and a green button labeled 'Commit & Push'
The Source Control interface to Git in VS Code

Depending on your relative levels of comfort working with that graphical interface and the command line interface to Git, you can choose how you want to demonstrate the remaining steps in this episode and when we use Git again elsewhere. The lesson will continue to present version control steps with the command line interface only.



Reproducible software environments


Instructor Note

With uv, we reduce many setup problems common to Python packaging. Remind learners that they don’t need to “activate” environments — uv run always uses the right one.
If learners previously set PYTHONHOME or PYTHONPATH, have them unset these before using uv.

If uv isn’t found on Windows, fully restart VS Code, not just the terminal.
Test this workflow yourself on Windows before the workshop.



Code readability


Code structure


Code correctness


Software documentation


Instructor Note

You may want to share the following README excerpts directly in chat or the shared notes document with learners to copy-paste.



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


Optional challenge: archive our GitHub repository to Zenodo

You can choose to do the following as an exercise or by live coding based on what you think the learners would prefer. You can copy the detailed instructions below to give them it as an exercise.



Optional challenge: add a DOI and ORCID to the citation file

You can choose to do the following as an exercise or by live coding based on what you think the learners would prefer. You can copy the the detailed instructions below to give them it as an exercise.



Wrap-up