coderefinery / reproducible-research

Reproducible research - Preparing code to be usable by you and others in the future
https://coderefinery.github.io/reproducible-research/
Creative Commons Attribution 4.0 International
24 stars 39 forks source link

Update detailed schedule in instructor notes #236

Closed bast closed 12 months ago

bast commented 1 year ago

This was the schedule from March 2023:

samumantha commented 12 months ago

A suggestion: 08:50 - 09:00 Soft start and icebreaker question 09:00 - 09:10 Overview of CR and how it all fits together 09:10 - 11:15 Reproducible research 09:15 - 09:25 Motivation 09:25 - 09:35 Organizing your projects 09:35 - 09:40 Recording computational steps - discussion 09:40 - 10:05 Snakemake exercise (25 min) 10:05 - 10:15 Break
10:15 - 10:20 Summary of workflows and the exercise 10:20 - 10:35 Recording dependencies 10:35 - 10:50 Recording environments 10:50 - 11:05 Sharing code and data demo (15 min)

What do you think @eglerean ? Adaption to only one bit longer exercise. Part of the exercise time will be to introduce it. Time taken away from dependencies and time given to containers, which means that there is no dependencies exercise but we can discuss containers a bit more. We could still move 5 min more to containers? For me also the order, workflows > dependencies > containers makes more sense than having workflows between dependencies and container, (Materials to be adapted), what do you think? Sharing code and data has always felt a bit out of place in this session, but it is so inmportant, and no other session has time or space for it either, so maybe better to leave it here with the demo?

bast commented 12 months ago

One thing to consider: if we remove one exercise, we have only one exercise left for the entire day 4 (https://coderefinery.github.io/2023-09-19-workshop/exercises/) and exercises are the only moment when classrooms and teams can really interact instead of silently listening.

bast commented 12 months ago

So my point is that now that we have added a bit more time, we should try to not reduce the number of exercises.

samumantha commented 12 months ago

I do not like removing exercise sessions either, but we do not really have anything exercise worthy to do for containers (and realisticly do not have time to create anything new), or do we have something proven to be useful? And squeezing in the dependencies exercise just for the sake of exercise instead of talking about containers feels wrong too.

Could "sharing code and data" be moved to social coding lesson? Then I could imagine the dependencies exercise to still fit in maybe?

bast commented 12 months ago

Whether the exercise Containers-1 is successful, I don't know. Container-2 is not really doable during the workshop. Just that we remove the time pressure part of this. Let's say we had lots of time (I can help preparing), what container exercise would you like to have there? Maybe it is enough now if we just describe it.

It is also OK to have 1-2 days in the schedule that are less interactive for local team leaders.

bast commented 12 months ago

Sharing code and data can be moved to social coding lesson. It is anyway on the same day. The latter lesson did not get more time but we can use it to focus more on essence and highlight the most important aspects.

EDIT: Maybe the second session did get more time so it would make sense to move it there.

samumantha commented 12 months ago

Hmm or another idea: Can we / do we want to move containers out of the workshop and offer a separate session later? Eg a RSH session where we talk about it for a whole hour with examples? Or even offer an exercise session there?

samumantha commented 12 months ago

They are so very useful but can feel like a little bit too much for "the non-computational" or beginner computational researcher.

samumantha commented 12 months ago

Just also looking at where container sessions are offered and where there is still people that have never used them: Supercomputing conference, RSE conference , ... Maybe it is "out of scope" for the CR workshop?

bast commented 12 months ago

Creating a separate session is a good idea but realistically it means removing it from the workshop until we do a separate event. For me understanding what it is and when it can be useful can be a good enough learning outcome. But maybe this is an unrealistic learning outcome. If I had to choose between discussing how to share data (a bit out of scope, very location specific) and what the point is of containers, I would discuss containers. But you decide and your decision will be a good one. We haven't taught containers in this workshop in years.

bast commented 12 months ago

Yes, maybe it is out of scope. For many it is not the first thing they will need. It is OK for me to remove it.

bast commented 12 months ago

My recommendation for removing is not to actually delete that episode but to simply skip the episode or to turn it into an optional episode and skip it there also. This allows somebody to move it out into some new lesson before it gets lost and forgotten. It might still be useful for somebody who wants to read about it later.

samumantha commented 12 months ago

I don't know if I agree with myself here though. I do think it is very good to know about them, but also think it is complicated for beginners in "computing". It can easily fill a whole day course. "do something" exercises are definitely out-of-scope for this workshop, just because of the installation. And not sure if we can/should leave out something else from the lesson instead.

bast commented 12 months ago

Fully agree that doing something with containers exercises are 100% not doable in this workshop. Containers-1 exercise was a thinking/discussing exercise one.

samumantha commented 12 months ago

Working on new timetable suggestion based on discussion...

samumantha commented 12 months ago

Maybe like this:

Edit: since snakemake exercise is right before break could also go back down to 20 min to give more time for intro to snakemake; have to go through it with Enrico to check what of the first stuff could be shorter and what needs more time. But approximately it could be like this:

08:50 - 09:00 Soft start and icebreaker question 09:00 - 09:10 Overview of CR and how it all fits together 09:10 - 09:20 Reproducible research, Motivation 09:20 - 09:27 Organizing your projects 09:27 - 09:35 Recording computational steps - discussion 09:35 - 10:00 Snakemake exercise (25 min) 10:00 - 10:10 Break 10:10 - 10:15 Summary of workflows and the exercise 10:15 - 10:30 Recording dependencies 10:30 - 10:40 Recording environments 10:40 - 11:00 Container-1 exercise (20 min) 11:00 - 11.05 Wrapup

bast commented 12 months ago

Moving data to social coding lesson makes sense to me. It stays on the same day but topically fits even closer together in the other lesson.

samumantha commented 12 months ago

Ok, great, to me as well :) Hope it does not bring the social coding lesson into big trouble with timing though

bast commented 12 months ago

No trouble there. That lesson gets a tiny bit more time this time and time constraints help with prioritizing.

samumantha commented 12 months ago

So let's see what @eglerean says to the latest schedule suggestion.

Is these then the things that need to be updated?:

And I would then also change the order of the lesson material to fit the schedule, so

Anything else?

eglerean commented 12 months ago

I read everything and I agree with the final choices. I don't have any further comments. Thank you both of you!