Summary and Schedule
This is a new lesson built with The Carpentries Workbench.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Introduction |
What is a Software Management Plan (SMP)? Why is an SMP important? How is an SMP useful? |
Duration: 00h 20m | 2. Generating a Repository using a Template |
What is the fastest way to set up a new Python repository that suits
your needs? How do you make sure this repository follows best practices? |
Duration: 00h 32m | 3. Intermediate software testing |
How can I make changes to my research code while being sure existing
functionality still works? How can I execute the same test with multiple parameters? What is code coverage and how can it help me verify the functionality of my code? How do I create independent testing for my code without having to instantiate all the software? How can I prevent dealing with external system during my tests? How can I check if a given change improves the performance of my code? How do I make sure that the application I have deployed for another party still works? How can I make sure my programs stops when impossible cases are found? :::::: |
Duration: 01h 32m | 4. Continuous Integration |
What is CI/CD? Why do we use CI/CD? What does CI/CD have to do with version control? What is a CI/CD pipeline? What is docker and how does it relate to CI/CD? :::::: |
Duration: 03h 17m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
FIXME: Setup instructions live in this document. Please specify the tools and the data sets the Learner needs to have installed.
Data Sets
Download the data zip file and unzip it to your Desktop
Software Setup
Details
Setup for different systems can be presented in dropdown menus via a
spoiler
tag. They will join to this discussion block, so
you can give a general overview of the software used in this lesson here
and fill out the individual operating systems (and potentially add more,
e.g. online setup) in the solutions blocks.
Use PuTTY
Use Terminal.app
Use Terminal