diff --git a/content/collaboration.md b/content/collaboration.md index 12efbc1..33d8a98 100644 --- a/content/collaboration.md +++ b/content/collaboration.md @@ -1,5 +1,3 @@ -(collaboration)= - # Collaborative version control and code review ```{toctree} diff --git a/content/collaboration/code-review.md b/content/collaboration/code-review.md index bcbbe00..6b70b19 100644 --- a/content/collaboration/code-review.md +++ b/content/collaboration/code-review.md @@ -1,5 +1,3 @@ -(code-review)= - # Practicing code review In this episode we will practice the code review process. We will learn how to diff --git a/content/collaboration/concepts.md b/content/collaboration/concepts.md index c0a7d27..aa48c04 100644 --- a/content/collaboration/concepts.md +++ b/content/collaboration/concepts.md @@ -1,5 +1,3 @@ -(concepts)= - # Concepts around collaboration ```{objectives} diff --git a/content/collaboration/demo-discussion.md b/content/collaboration/demo-discussion.md index ba712fb..b5cd8b0 100644 --- a/content/collaboration/demo-discussion.md +++ b/content/collaboration/demo-discussion.md @@ -1,5 +1,3 @@ -(collaboration-demo-discussion)= - # Conflict resolution, rebasing, and organizational strategies (40 min demo and discussion) diff --git a/content/collaboration/forking-workflow.md b/content/collaboration/forking-workflow.md index 31929c9..1c1b0a7 100644 --- a/content/collaboration/forking-workflow.md +++ b/content/collaboration/forking-workflow.md @@ -1,5 +1,3 @@ -(forking-workflow)= - # How to contribute changes to repositories that belong to others In this episode we prepare you to suggest and contribute changes to diff --git a/content/collaboration/same-repository.md b/content/collaboration/same-repository.md index 0c59a65..0d21766 100644 --- a/content/collaboration/same-repository.md +++ b/content/collaboration/same-repository.md @@ -1,5 +1,3 @@ -(same-repository)= - # Collaborating within the same repository In this episode, we will learn how to collaborate within the same repository. diff --git a/content/documentation.md b/content/documentation.md index b0cf83a..51dd968 100644 --- a/content/documentation.md +++ b/content/documentation.md @@ -1,5 +1,3 @@ -(documentation)= - # Code documentation :::{objectives} diff --git a/content/index.md b/content/index.md index ea66b03..b234527 100644 --- a/content/index.md +++ b/content/index.md @@ -8,7 +8,8 @@ workshop we assume that most workshop participants use Python in their work or are leading a group which uses Python. Therefore, some of the examples will use Python as the example language. -We will work with an example project and go through all important steps of a typical +We will work with an example project ({doc}`example`) +and go through all important steps of a typical software project. Once we have seen the building blocks, we will try to **apply them to own projects**. @@ -25,76 +26,93 @@ them to own projects**. ## Schedule -### Day 1 +### Monday -- 13:00-13:30 - **Welcome and introduction** - - Practical information (tools, communication, breaks, etc.) - - Motivation (reproducibility, robustness, distribution, improvement, trust, etc.) +- 09:00-10:00 - Getting started + - Welcome and introduction + - {doc}`installation` - {doc}`example` -- 13:30-14:45 - {ref}`version-control` (1/2) - - {ref}`version-control-motivation` (15 min) - - {ref}`browsing` (30 min) - - {ref}`branching-and-committing` (30 min) +- 10:15-11:30 - {doc}`version-control` (1/2) + - {doc}`version-control/motivation` (15 min) + - {doc}`version-control/browsing` (30 min) + - {doc}`version-control/branching-and-committing` (30 min) -- 15:00-16:30 - {ref}`version-control` (2/2) - - {ref}`merging` (40 min) - - {ref}`conflict-resolution` (30 min) - - {ref}`practical-advice` (20 min) - - {ref}`sharing-repositories` (30 min) +- 11:30-12:15 - Lunch break -- 16:45-18:00 - {ref}`documentation` +- 12:15-13:30 - {doc}`version-control` (2/2) + - {doc}`version-control/merging` (40 min) + - {doc}`version-control/conflict-resolution` (30 min) + - {doc}`version-control/practical-advice` (20 min) + - {doc}`version-control/sharing` (30 min) +- 13:45-15:00 - {doc}`documentation` -### Day 2 -- 09:00-10:30 - {ref}`collaboration` (1/2) - - {ref}`concepts` (10 min) - - {ref}`same-repository` (40 min) - - {ref}`code-review` (40 min) +### Tuesday -- 10:45-12:15 - {ref}`collaboration` (2/2) - - {ref}`forking-workflow` (50 min) - - {ref}`collaboration-demo-discussion` (40 min) +- 09:00-10:00 - {doc}`collaboration` (1/3) + - {doc}`collaboration/concepts` (15 min) + - {doc}`collaboration/same-repository` (45 min) -- 16:45-18:00 - **Debriefing and Q&A** +- 10:15-11:30 - {doc}`collaboration` (2/3) + - {doc}`collaboration/code-review` (35 min) + - {doc}`collaboration/forking-workflow` (35 min) + +- 11:30-12:15 - Lunch break + +- 12:15-13:00 - {doc}`collaboration` (3/3) + - {doc}`collaboration/demo-discussion` (45 min) + +- 13:15-14:00 - {doc}`dependencies` + +- 14:15-15:00 - Debriefing and Q&A - Participants work on their projects - Together we study actual codes that participants wrote or work on - Constructively we discuss possible improvements - Give individual feedback on code projects -### Day 3 +### Wednesday -- 09:00-10:30 - {ref}`testing` +- 09:00-10:00 - {doc}`testing` -- 10:45-12:15 - {doc}`dependencies` +- 10:15-11:30 - Code quality and good practices + - Tools (page coming up) + - {doc}`refactoring-concepts` (this will be re-worked) + - {doc}`refactoring-demo` (this will be re-worked) -- 13:00-14:45 - Code quality and good practices - - {ref}`refactoring-concepts` (15 min) - - {ref}`refactoring-demo` (90 min) +- 11:30-12:15 - Lunch break -- 15:00-16:30 - How to release and publish your code - - {ref}`software-licensing` (30 min) - - {ref}`publishing` (15 min) - - {ref}`packaging` (45 min) +- 12:15-14:00 - How to release and publish your code + - {doc}`software-licensing` (30 min) + - {doc}`publishing` (15 min) + - {doc}`packaging` (45 min) -- 16:45-18:00 - **Debriefing and Q&A** +- 14:15-15:00 - Debriefing and Q&A - Participants work on their projects - Together we study actual codes that participants wrote or work on - Constructively we discuss possible improvements - Give individual feedback on code projects -```{toctree} +### Thursday + +- 09:00-15:00 + - Moving from laptop to high-performance computing (demo/type-along) + - Introduction to the exam + + +:::{toctree} :maxdepth: 1 :caption: Software environment :hidden: installation.md -``` +::: + -```{toctree} +:::{toctree} :maxdepth: 1 :caption: Episodes :hidden: @@ -110,7 +128,8 @@ refactoring-demo software-licensing publishing packaging -``` +::: + :::{toctree} :maxdepth: 1 diff --git a/content/installation.md b/content/installation.md index 33552f5..d53ea68 100644 --- a/content/installation.md +++ b/content/installation.md @@ -1,5 +1,3 @@ -(installation)= - # Software install instructions [this page is adapted from ] diff --git a/content/packaging.md b/content/packaging.md index 154245c..1037354 100644 --- a/content/packaging.md +++ b/content/packaging.md @@ -1,5 +1,3 @@ -(packaging)= - # Creating a Python package and deploying it to PyPI :::{objectives} diff --git a/content/publishing.md b/content/publishing.md index 2f5ed18..de6517e 100644 --- a/content/publishing.md +++ b/content/publishing.md @@ -1,5 +1,3 @@ -(publishing)= - # How to publish your code :::{objectives} diff --git a/content/refactoring-concepts.md b/content/refactoring-concepts.md index 0ee0f3d..554d03b 100644 --- a/content/refactoring-concepts.md +++ b/content/refactoring-concepts.md @@ -1,5 +1,3 @@ -(refactoring-concepts)= - # Concepts in refactoring and modular code design diff --git a/content/refactoring-demo.md b/content/refactoring-demo.md index 0ce9a02..88e22c6 100644 --- a/content/refactoring-demo.md +++ b/content/refactoring-demo.md @@ -1,5 +1,3 @@ -(refactoring-demo)= - # Demo: From a script towards a workflow In this episode we will explore code quality and good practices in Python using diff --git a/content/software-licensing.md b/content/software-licensing.md index 80eac27..538bfc0 100644 --- a/content/software-licensing.md +++ b/content/software-licensing.md @@ -1,5 +1,3 @@ -(software-licensing)= - # Choosing a software license :::{objectives} diff --git a/content/testing.md b/content/testing.md index da43e9f..55c9bf3 100644 --- a/content/testing.md +++ b/content/testing.md @@ -1,5 +1,3 @@ -(testing)= - # Automated testing :::{objectives} diff --git a/content/version-control.md b/content/version-control.md index f3f012f..096f091 100644 --- a/content/version-control.md +++ b/content/version-control.md @@ -1,5 +1,3 @@ -(version-control)= - # Introduction to version control with Git and GitHub ```{toctree} diff --git a/content/version-control/branching-and-committing.md b/content/version-control/branching-and-committing.md index 6b98391..62702ae 100644 --- a/content/version-control/branching-and-committing.md +++ b/content/version-control/branching-and-committing.md @@ -1,5 +1,3 @@ -(branching-and-committing)= - # Creating branches and commits The first and most basic task to do in Git is **record changes** using @@ -334,6 +332,6 @@ can track several lines of work at once, and can compare their differences. - Not all files should be added to Git. For example, temporary files or files with sensitive information or files which are generated as part of the build process should not be added to Git. For this we use - `.gitignore` (more about this later: {ref}`practical-advice`). + `.gitignore` (more about this later: {doc}`practical-advice`). - Unsure on which branch you are or what state the repository is in? On the command line, use `git status` frequently to get a quick overview. diff --git a/content/version-control/browsing.md b/content/version-control/browsing.md index 18b7c51..0298206 100644 --- a/content/version-control/browsing.md +++ b/content/version-control/browsing.md @@ -1,5 +1,3 @@ -(browsing)= - # Forking, cloning, and browsing In this episode, we will look at an **existing repository** to understand how diff --git a/content/version-control/conflict-resolution.md b/content/version-control/conflict-resolution.md index 9a57cb9..a17b283 100644 --- a/content/version-control/conflict-resolution.md +++ b/content/version-control/conflict-resolution.md @@ -1,5 +1,3 @@ -(conflict-resolution)= - # Conflict resolution diff --git a/content/version-control/merging.md b/content/version-control/merging.md index ee0be68..6c95c08 100644 --- a/content/version-control/merging.md +++ b/content/version-control/merging.md @@ -1,5 +1,3 @@ -(merging)= - # Merging changes and contributing to the project Git allows us to have different development lines where we can try things out. @@ -136,8 +134,6 @@ $ git switch main ::::: -(create-pull-request)= - ### (2) Begin the pull request process In GitHub, the pull request is the way we propose to merge two diff --git a/content/version-control/motivation.md b/content/version-control/motivation.md index fa55674..719da0f 100644 --- a/content/version-control/motivation.md +++ b/content/version-control/motivation.md @@ -1,5 +1,3 @@ -(version-control-motivation)= - # Motivation :::{objectives} diff --git a/content/version-control/practical-advice.md b/content/version-control/practical-advice.md index 0e053dd..094ea50 100644 --- a/content/version-control/practical-advice.md +++ b/content/version-control/practical-advice.md @@ -1,5 +1,3 @@ -(practical-advice)= - # Practical advice: How much Git is necessary? diff --git a/content/version-control/sharing.md b/content/version-control/sharing.md index 5617372..c26cbe2 100644 --- a/content/version-control/sharing.md +++ b/content/version-control/sharing.md @@ -1,5 +1,3 @@ -(sharing-repositories)= - # Optional: How to turn your project to a Git repo and share it :::{objectives}