carpentries-incubator / cwl-novice-tutorial

Introduction to Workflows with Common Workflow Language
https://carpentries-incubator.github.io/cwl-novice-tutorial/
Other
11 stars 20 forks source link

Add motivation to introduction #73

Open gcapes opened 2 years ago

gcapes commented 2 years ago

The only objectives form the index page which aren't already covered in episodes or the intermediate tutorial are these:

convert a shell script into a CWL workflow (lesson-level objective)

  • explain the difference between control flow and data flow
  • identify the inputs and outputs, tasks, and links in a script
  • (recognize and remove details and configuration in a script that are specific to particular infrastructure)
  • (remove loops for moment, these will be covered in intermediate lesson with scatter)

I've tidied up the index page in #72, but I think it would be very useful to cover at least the first two objectives above in an episode. Indeed the file name of episode 2 02-shell_to_cwl.md suggests this was once the plan. Currently the introduction hints at why you might choose to use CWL over shell scripts. But I always like it when the motivation is clear, like in the make and git lessons. e.g. without this tool, this is what you have to do. That's not ideal because x, y, z - this tool fixes those problems. This currently sticks out as an omission

http://swcarpentry.github.io/make-novice/01-intro/index.html http://gcapes.github.io/git-course/01-introduction/index.html

mr-c commented 2 years ago

Thanks @gcapes ; you might find motivation for "why use workflows" in https://arxiv.org/abs/2105.07028

melibleq commented 2 years ago

Preview of the new website: https://deploy-preview-75--cwl-website.netlify.app/ - the "Features" content might be especially relevant here

gcapes commented 2 years ago

I didn't find either resource gave enough detail for me to be able to answer this, but a recent discussion I had was quite illuminating. Here's some things which weren't clear to me

douglowe commented 2 years ago

I've added an example docker run to the start of our first lesson, to give students some experience of running containerised tools directly on the command line. See this PR: https://github.com/carpentries-incubator/cwl-novice-tutorial/pull/78

I think this might help with some of our motivation points above.

mr-c commented 2 years ago

Why workflows vs bash/Make?

use the above with examples, also mention these below