Giter Club home page Giter Club logo

2021-05-10-workshop's People

Contributors

bast avatar dianaiusan avatar hackmd-deploy avatar johanhellsvik avatar juholehtonen avatar naoe-tatara avatar rkdarst avatar sabryr avatar samumantha avatar wikfeldt avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

naoe-tatara

2021-05-10-workshop's Issues

Schedule update: a soft deadline, helper onboarding and installation help

Zulip Workshop stream "2021 spring workshop", Mar 12 6:19 PM

Can we set a (soft) registration deadline to the end of 28th CET so that we can work on how many individual learners we can accept on 29th Mon and can start to send acceptance emails?

Helper onboarding and installation help following
April Wed 7th 13:00-14:00 CET (tbd), Thu 8th 13:30-14:30 CET? And installation help following?

communication to learners, helpers, and instructors - day 5 follow-up

Dear {first_name},

[Learners:]
Thank you again for the great questions and feedback on today's lessons on Jupyter and documentation. You may find the archived Q&A here: https://coderefinery.github.io/2021-05-10-workshop/questions/.

[EL/Hs:]
Thank you again for the help with the exercises and the suggestions on how to improve our lesson material. As usual, you may find the archived Q&As here: https://coderefinery.github.io/2021-05-10-workshop/questions/.

For the complete list of planned exercises please visit the HackMD: https://hackmd.io/@coderefinery/CR_May21_Exercises.

[Instructors/Staff]
Thank you for another great workshop day. Once again, good flow discussion among today's instructors: Radovan, Anne, and Samantha.

[All:]

Tomorrow we will resume with software testing (https://coderefinery.github.io/testing/) and modular code development (https://coderefinery.github.io/modular-type-along/). We'll be using the Conda environment coderefinery again. The installation instructions may be found here: https://coderefinery.github.io/installation/conda-environment/

For the software testing lesson, we will have extra breakout rooms for Python, C/C++, and Fortran users. You should join those rooms whenever you have language-specific questions. More details will be provided during the lesson tomorrow.

Planned schedule:
Day 6 (May 20, Thursday)

  • 08:50-09:00 Soft start and icebreaker questions
  • 09:00-10:45 Software testing (Thor Wikfeldt, Johan Hellsvik)
    • 9:00-9:05 Short info about today's breakout rooms and possible questions from yesterday
    • 09:05-09:10 Motivation
    • 09:10-09:20 Concepts
    • 09:20-09:40 Testing locally
      • 15 minute breakout session, normal rooms
    • 09:40-09:50 Break
    • 09:50-10:20 Automated testing
      • type-along session
    • 10:20-10:45 Test design
      • 25 minute breakout session, normal rooms plus a few language-specific rooms with (language) expert helpers
    • 10:45-11:00 Break
  • 11:00 - 12:15 Modular code development (Anne Fouilloux, Radovan Bast)
    • all as demo in main room
  • 12:15 - 12:30 Summary and where to go from here

For the final exercise of the software testing lesson you will need to set up a testing framework for the language you wish to work in:

If you want to use Python, you should already have the pytest package installed if you followed the regular installation instructions (https://coderefinery.github.io/installation/)
If you want to use C++, we recommend you install Catch2
If you want to use R, we recommend you install testthat
If you want to use Fortran, we recommend you install pFUnit
If you want to use Julia, you should already have the Test package as part of the standard library.
Instructions for installing these frameworks can be found in the lesson quick reference: https://coderefinery.github.io/testing/quick-reference/

HackMD link: https://hackmd.io/@coderefinery/2021-may-workshop
Zoom link: ...
Zoom meeting ID/password: ...
Please remember to turn off your video while in the main room.
Twitch stream: https://www.twitch.tv/coderefinery

See you tomorrow!
/Your CodeRefinery team

PS: If you no longer wish to receive information related to this workshop, you can unsubscribe from this link: {link}

Watch through recordings for participant audio/video

Before uploading recorded lessons to YouTube, we want to verify the privacy of the participants, by making sure that none of their audio/video appear in the recordings. Therefore, we have to watch through all the recorded lessons and mark down any time point where any participant audio/video appears, so that we can edit it out.

Furthermore, we want to record any start/stop timepoints where the relevant content starts, as well as key points. This is done here:
https://hackmd.io/8isZtUvETj6ootVsTxlPcw

The progress so far:

  • Day 1 Video
  • Day 2 Video
  • Day 3 Video
  • Day 4 Video
  • Day 5 Video
  • Day 6 Video

communication to CR staff and learners - day 6 follow-up & thank you

To CR staff:

Dear {first_name},

What a great workshop! Thanks again to all instructors and helpers! :CR:
Great team effort!

We can discuss further impressions from the workshop at the CR staff meeting on Tuesday.
Until then, have a nice end of the week, and if in Norway, enjoy the extra holiday!

You may find below a copy of the email sent to the learners.
/Diana

To learners:

Dear {first_name},

Thank you for participating in this online workshop!
So many good questions and suggestions once again today. A great way to end our workshop.
You may find all links presented during the outro today here: https://github.com/coderefinery/workshop-outro.

I hope that you learned many helpful tools these two weeks. We sure learned something new as well.
It is normal if not everything is clear. You may always refer to our lessons material or the archived Q&A, links available from the main workshop page:
https://coderefinery.github.io/2021-05-10-workshop/.
You may also re-watch the lessons on Twitch https://www.twitch.tv/coderefinery. They will be made available on YouTube as well after some post-processing.

If you require a certificate of participation, please email us at [email protected] (or just reply to this email).

It has been a great experience for us to have you on this mega online workshop.
We hope to see you in future workshops as well. Why not join as an exercise leader next time?

If you'd like to continue being in touch with us, please consider:

Best regards,
Diana, on behalf of the CodeRefinery team

PS: The Research Software Hour today will focus on the top 10 questions from the workshop HackMD!
When: 20:30 CEST via Twitch https://researchsoftwarehour.github.io (link to Twitch in the top right of the page).

day 3 follow-up: email communication to learners (Zoom & Twitch), expert helpers, and exercise leaders

Dear {first_name},

Thank you for all your support during the 3rd day of the workshop.
Appologies for the confusion about the exercises. I hope it did not stress you too much.

Link to the HackMD of the planned exercises: https://hackmd.io/@coderefinery/CR_May21_Exercises

A copy of the email sent to the learners may be found further below.

Have a great rest of the week and see you on Tuesday!

/Diana


Dear all,

We have now gone through the first week of the CodeRefinery workshop. I hope that we could help you get a good introduction to Git and collaborative version control.
Thank you for all the questions and the very useful feedback on our lessons.

It was nice to see that many of you answered our icebreaker questions. We have added some additional feedback based on your answers. You may find it together with the Q&As from today here:
https://coderefinery.github.io/2021-05-10-workshop/questions/day3/.
If you'd like to look through the Q&As from the previous days, please visit the Q&As archive of the workshop at https://coderefinery.github.io/2021-05-10-workshop/questions/. You may re-watch parts of the course on Twitch (https://www.twitch.tv/coderefinery), available for 14 days after the upload.

We continue on Tuesday next week with "Reproducible research and FAIR data" https://coderefinery.github.io/reproducible-research/ and "Social coding and open software" https://coderefinery.github.io/social-coding/. A detailed program will be sent out on Monday.

Please remember to have your conda environment coderefinery set up. In case you have not done so already you may follow the instructions here: https://coderefinery.github.io/installation/conda-environment/

For the final exercise of the software testing lesson on day 6 (May 20) you will need to set up a testing framework for the language you wish to work in:

If you want to use Python, you should already have the pytest package installed if you followed the regular installation instructions (https://coderefinery.github.io/installation/)
If you want to use C++, we recommend you install Catch2
If you want to use R, we recommend you install testthat
If you want to use Fortran, we recommend you install pFUnit
If you want to use Julia, you should already have the Test package as part of the standard library.
Instructions for installing these frameworks can be found in the lesson quick reference: https://coderefinery.github.io/testing/quick-reference/

HackMD link: https://hackmd.io/@coderefinery/2021-may-workshop
Zoom link: ...
Zoom meeting ID/password: ...
Twitch stream: https://www.twitch.tv/coderefinery

Have a great rest of the week and see you on Tuesday!

/Your CodeRefinery team

PS: If you don't want to get these emails anymore, you can unsubscribe from this link: {link}

Communication to everyone in participant list (state completed, pending)

Dear all,

Thank you for participating the first day of the CodeRefinery workshop! It was great to see a lot of interesting questions (that hopefully got satisfactorily answered) and the interaction happening in the breakout rooms. Special thanks to all the exercise leaders! Also thank you for the feedback, we will try to implement it for the upcoming days, let us know how we did in the next feedback round :)

Please do not get discouraged if not everything was 100% clear to you. As with everything, learning new things takes time and repetition. You may re-watch parts of the course on twitch (https://www.twitch.tv/videos/1017579131) for the next two weeks.

If you for any reason missed the session today; you are more than welcome to join from Day 2! Today we learned from "Motivation" to "Undoing things" in Introduction to version control with Git lesson. Please refer to the lesson material (https://coderefinery.github.io/git-intro/) and the archived HackMD (https://coderefinery.github.io/2021-05-10-workshop/questions/day1/) for your review .

Tomorrow, we continue with git (starting https://coderefinery.github.io/git-intro/06-branches/), and do branching, merging, and history inspection. You'll start to see the power of a version control system, as we prepare for truly collaborative work on day 3.

Planned schedule day 2 (with Q&A buffer at end of each episode, all times in CEST):

  • 08:50 Soft start
  • 09:00-09:15 Welcome and Summary of day 1
  • 09:15-09:55 Branching and merging, one Exercise session at ~09:25
  • 09:55-10:05 Break
  • 10:05-10:40 Conflict resolution, one Exercise session at ~10:15
  • 10:40-11:05 Sharing repositories online
  • 11:05-11:15 Break
  • 11:15-12:00 Inspecting history, one Exercise session at ~ 11.30
  • 12:00-12:10 Break
  • 12:10-12:30 Summary, Q&A, next day preparations
  • 12:30 End

Upon request we will leave the breakoutrooms open during breaks for you to chat with your colleagues or further discuss the exercises. However, we strongly advice everyone to also take a screen break during that time!

We are very sorry for any technical issues that made it hard to follow for some of you (screenshare freeze, breakoutroom trouble, HackMD freeze etc). We will try to minimize these as much as possible from our side. In case you missed parts of the course, please refer to the recordings and use the HackMD to ask for clarifications. We want you to get the most out of this workshop. No question is too basic/stupid!

For those of you that are overwhelmed with the flood of information and number of tabs/windows:
We suggest to follow the instructors screenshare (half screen) and following type along in own terminal. HackMD and lesson material can be in the background, to refer to if there is questions/when exercises are announced. HackMD, lesson material and recordings of all sessions will also be available after the workshop.

Please be aware that we may need to rearrange breakout room teams (due to exercise leader/participant unavailability) to make sure we always have at least one exercise leader in each room and have a minimum of 3 people per room to encourage discussions. Sorry for any inconvenice that may arise from this.

See you tomorrow (Zoom and HackMD link stays the same!)
Best regards,
your CodeRefinery team

PS: If you don't want to get these emails anymore, you can unsubscribe from this link: {link}

communication to learners, helpers, and instructors - day 4 follow-up

Some minor shifts of paragraphs depending on the recipient, but the core of the email is:

Dear {first_name},

[Learners:]
Thank you for the great questions and feedback on today's lessons on reproducible research and social coding. You really helped us make the lessons interactive. You may find the archived Q&A here: https://coderefinery.github.io/2021-05-10-workshop/questions/.

[EL/Hs:]
Thank you for your feedback and constructive issues to today's lessons on reproducible research and social coding. Archived Q&A: https://coderefinery.github.io/2021-05-10-workshop/questions/.

For the README documentation exercise tomorrow (~11:00 CEST), you can preselect one of the 3 options from this exercise for your group.
For the complete list of planned exercises please visit the HackMD: https://hackmd.io/@coderefinery/CR_May21_Exercises.

[Instructors/Staff]
Thank you to today's instructors and co-instructors for two very enjoyable lessons! It was nice to see the dialogue between the two. Great interaction at the HackMD level as well, which was rolling with questions and reflections.
And thank you to everyone else for keeping this workshop running smoothly.

[All:]

Tomorrow we will continue with Jupyter (https://coderefinery.github.io/jupyter/) and documentation (https://coderefinery.github.io/documentation/). We'll be using the Conda environment coderefinery again. The installation instructions may be found here: https://coderefinery.github.io/installation/conda-environment/

Planned schedule:
Day 5 (May 19, Wednesday)

  • 8:50 - 9:00 Soft start and icebreaker question
  • 9:00 - 9:05 Intro and overview
  • 9:05 - 11:00 Jupyter (Radovan Bast, Anne Fouilloux)
    • Motivation and interface (15 min)
    • First computational notebook: discussion (5 min) and breakout room exercise (15 min)
    • Notebooks and version control (demo, 10-15 min)
  • 11:00 - 11:10 Break
  • 11:05 - 11:30 More Jupyter
  • 10:30 - 10:35 Break/buffer
  • 10:45 - 11:30 Documentation (Samantha Wittke, Radovan Bast)
    • Motivation and tools (Samantha, 15 min)
    • README-documentation (Radovan, 10 min) + breakout room exercise 15 min (ELs, you can pre-select one of the 3 options for your room)
  • 11:30 - 11:40 Break
  • 11:40 - 12:30 More documentation

For the final exercise of the software testing lesson on day 6 (May 20th) you will need to set up a testing framework for the language you wish to work in:

If you want to use Python, you should already have the pytest package installed if you followed the regular installation instructions (https://coderefinery.github.io/installation/)
If you want to use C++, we recommend you install Catch2
If you want to use R, we recommend you install testthat
If you want to use Fortran, we recommend you install pFUnit
If you want to use Julia, you should already have the Test package as part of the standard library.
Instructions for installing these frameworks can be found in the lesson quick reference: https://coderefinery.github.io/testing/quick-reference/

HackMD link: https://hackmd.io/@coderefinery/2021-may-workshop
Zoom link: ...
Zoom meeting ID/password: ...
Please remember to turn off your video while in the main room.
Twitch stream: https://www.twitch.tv/coderefinery

See you tomorrow!
/Your CodeRefinery team

PS: If you no longer wish to receive information related to this workshop, you can unsubscribe from this link: {link}

Communication to staff/observers

Subject: CodeRefinery: Connection details and practical info

Dear {first_name},

This is some of the last practical information for CodeRefinery starting next week (Monday, 8:50 CEST, 9:50 EEST, see time zone converter on workshop page):
https://coderefinery.github.io/2021-05-10-workshop/

Zoom connection details:

  • link: (link)
  • room ID: (id)
  • passcode: (passcode)

Once you connect via Zoom, please rename your Zoom name to make exercise room management easier for us:

  • If you are staff, your Zoom name is "(CR) {first_name} {last_name}"
  • If you are observer, your Zoom name is "(OB) {first_name} {last_name}"
  • If you can't figure out how to, we can help once you join.

Collaborative document for questions and notes (you will learn more about it on Monday):
(hackmd-link)

This workshop will be streamed (https://www.twitch.tv/coderefinery) and recorded. We have it set up so that you should not appear in the stream, however, to remove any chance of this happening you should leave your video off in the main room. However, any audio in the main room will be streamed to the world and recorded. If you prefer for this to not happen, the HackMD link (above) can be used to ask questions and interact. The breakout rooms are never recorded or streamed (and we encourage video and audio on there to be interactive). To learn about the streams, please see:
https://coderefinery.github.io/2021-05-10-workshop/join/

Our Code of Conduct: https://coderefinery.org/about/code-of-conduct/

If you don't wish to get emails about this workshop anymore, withdraw your registration using the modification link: {link}

Very much looking forward,
Radovan Bast on behalf of CodeRefinery

communication to learners and instructors: week 2 - before day 4

Dear {first_name},

Tomorrow, May 18th, we will be resuming our workshop with "Reproducible research and FAIR data" and "Social coding and open software".

Planned schedule:

There are some small changes to the lesson material. Please reload the webpage of the lesson if you have it up already.

Please remember to have your conda environment coderefinery set up. In case you have not done so already you may follow the instructions here: https://coderefinery.github.io/installation/conda-environment/

For the Snakemake exercise in the Reproducibility lesson, you may prepare in advance for doing the exercise on your own computer by following the steps on
https://coderefinery.github.io/reproducible-research/04-workflow-management/#exercise-preparation

For the final exercise of the software testing lesson on day 6 (May 20th) you will need to set up a testing framework for the language you wish to work in:

If you want to use Python, you should already have the pytest package installed if you followed the regular installation instructions (https://coderefinery.github.io/installation/)
If you want to use C++, we recommend you install Catch2
If you want to use R, we recommend you install testthat
If you want to use Fortran, we recommend you install pFUnit
If you want to use Julia, you should already have the Test package as part of the standard library.
Instructions for installing these frameworks can be found in the lesson quick reference: https://coderefinery.github.io/testing/quick-reference/

HackMD link: https://hackmd.io/@coderefinery/2021-may-workshop
Zoom link: ...
Zoom meeting ID/password: ...
Please remember to turn off your video while in the main room.
Twitch stream: https://www.twitch.tv/coderefinery

See you tomorrow!
/Your CodeRefinery team

PS: If you no longer wish to receive information related to this workshop, you can unsubscribe from this link: {link}

question about top-down and bottom-up from day 6

@bast and @annefou,

There was a question in the Q&A from day 6 which I did not answer.
Someone was asking: "What does top-down and bottom-up means here?" (in the context of modular code development).

I was thinking I could add this answer:

"
Top-down and bottom-up are two strategies for approching software development. In the top-down approach, also referred to as stepwise refinement, one starts with the overview of the code, in this case it would be drafting a main file which calls different subroutines and functions. One then builds from there and implements different subroutines or functions, typically in different files. The disadvantage of this approach is that the code is not easily testable and usable until the entire implementation is complete.

In the bottom-up approach, one puts together different codes or scripts that may be used on their own as well. External libraries can also be viewed as a piece of this software "puzzle". The advantage of this approach is that it is easily testable at the early stage of the programming process. On the other hand, it may be harder to link these different parts and produce a coherent code.
"

Any suggestions or comments? I can PR if we agree upon this.
/Diana

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.