CodeRefinery
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # OpenHouse Dec'24 - CodeRefinery workshop format - Zoom connection details: https://cscfi.zoom.us/j/66165768646 [TOC] ## Welcome This is the notes document for the OpenHouse session on the workshop format, please use it to check in, share your ideas and take notes during disucssions. For this event, let's disregards week 1 (git and github), that seems to work well now and **focus on topics currently taught in week 2**. Example workshop setup for week 2 from our last workshop, see Day 4-6: https://coderefinery.github.io/2024-09-10-workshop/#schedule Links to lesson materials from week 2 (in order of current schedule): - [**Reproducible research**](https://coderefinery.github.io/reproducible-research/) - [**Social coding**](https://coderefinery.github.io/social-coding/) - [**Documentation**](https://coderefinery.github.io/documentation/) - [**Jupyter**](https://coderefinery.github.io/jupyter/) - [**Automated testing**](https://coderefinery.github.io/testing/) - [**Modular Code Development**](https://coderefinery.github.io/modular-type-along/) Goal for today is: **Collecting ideas and opinions**, which will be continued via chat and potentially social media and will be taken into account when planning the next workshop. If you want to support this discussion by working on specific tasks, please see the task list below. ## Useful references for discussion - [CodeRefinery: Possible workshop formats](https://coderefinery.org/blog/workshop-plan/) - [CodeRefinery: Asynchronous vs live teaching blogpost](https://coderefinery.org/blog/2024/04/18/in-person-asynchronous-versus-live-online-teaching/) - [CodeRefinery: collection of blog posts on the future of teaching](https://coderefinery.org/blog/2022/10/17/future-of-teaching/) - [CodeRefinery: Post workshop survey results](https://coderefinery.org/blog/2024/08/10/post-workshop-survey/) ## Check in Name, affiliation, topics taught/of interest, time today; CodeRefinery connection | Name | Affiliation | time today | topics taught/of interest | CodeRefinery connection | | -------- | -------- | -------- |-------- |-------- | | Samantha Wittke | CSC (FI) | will join 10-12 CET | reproducible research, documentation | community manager for the project | | Radovan Bast | UiT (NO) | 9-11 CET | all | project manager | | Richard Darst | | | | | | Diana Iusan | UU (SE) | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## Idea and opinion collection ### Workshop format Add your ideas for the workshop format for week 2. You can also vote (add your :+1:) to the ideas you like, or add comments to already existing ideas - Keep as is (3 half days, 2 topics per day, mostly demo and discussion in notes document) - Bring back exercise sessions (needs adjusted timetable and/or content) - ... - Different format: - Flipped classroom (materials, videos provided beforehand) and CodeRefinery provided support and/or discussion sessions - DI: this is an interesting format that we should work towards but we need to make sure that enough people who know the topic are present at the hackathon/help sessions - RB: I like this. The challenge will be to make the discussion session an interesting event. I don't think we would need a commercial platform to make it work. And we need quiz/puzzles a la Advent of Code. - Self-learning platform + support sessions - Hackathon (eg one topic per day, spread over multiple weeks, CodeRefinery provides introduction to topic and then support for implementing the topic for own work) - ... - BYOC sessions: split it out of workshop and make it a stand-alone (monthly?) thing to reduce scheduling complexity :+1: ### Workshop content Add a `o` (keep as is) or `r` (remove) or `u` (keep but update) to each lesson, depending on your thoughts, add additional comments (especially on `o` votes) under each lesson - **Reproducible research** : u - Make reproducible research shorter info episode, separate dependency management and workflows into separate sessions - **Social coding** : o - **Jupyter** : r - consider to replace with terminal/command line and/or VS Code (see discussion below) :+1: - iPython could also be interesting - if we remove it, Modular Code Development is affected (typically starts in Jupyter) - **Documentation** : o - **Modular Code Development** : oo - **Automated testing** : o ## Discussions - one thing that was tricky Sep 2024 was to reach out to local groups for somebody who maybe did not have prior context with them - key in flipped classroom will be to provide interactivity during events and also in-between events. events could be advertized as having direct access to knowledge/instructors. - we could "flip" also only one lesson and see how it works and if it works, we convert more of the workshop so that we don't take a too huge tasks that might not work. - should we replace Jupyter with terminal? Paradoxically we might need the terminal more. We particularly need it to activate environment and install dependencies. - Also file structure. Many learners don't know where they are on their computer. - This is needed but terminal and file structure lesson should be a separate lesson/doc outside of the CodeRefinery workshop? - This could be the flipped classroom lesson/event that we could try before deciding about converting the rest - Conda installation becomes part of the workshop (beginning of week 2?) - it's not enough to ask learners to install before workshop and come to help sessions - for many learners it's a completely new thing, especially Miniforge - organize them by operating system - 1h warm-up before stream starts or the day before could be dedicated to installing/activating/navigating on file system - if one day before, we need to advertize it as part of the workshop. If it's advertized as "bonus", then many won't be there who might need it. It could happen the day before, 1 h on stream and later we go to Zoom to help out, not recorded. - If somebody struggles with navigating the file system, will they benefit from the workshop? - might still benefit (example: someone working inside R Studio or Jupyter) - analogy of file system on phones and why a hierarchy of files can be useful - VS code can also manage environments, run Jupyter, with Git (see DI's comments below) - Maybe VS code could simplify the number of terminal that we require to install and navigate (could we not require Git Bash?) - Consider advertising VSCodium (truly open source) instead of VS Code (Microsoft, telemetry) - it seems we would not lose access to extensions - For data support staff (who would like to attend workshops) the workshops start too technically so we will need to bring people up to speed - data support staff (who might not program themselves) second week is too much and they need an overview session at the beginning of week 2 (big picture session) - this session could be pre-recorded - this might also help ambassadors who want to get an overview or communicate an overview - "what can CR workshop help you with?" - Let's try to schedule also the autumn workshop at the same time? Maybe this simplifies scheduling. - Maybe helpful: "what changes would simplify scheduling?" - e.g.: week 1 and 2 separate events? BYOC session separate event series? installation is part of the event - we schedule for 2 weeks but in reality it's 4-5 weeks currently - Getting/updating recordings on how we work with Conda and terminal to improve pre-requisites - In-person class rooms: many registrations but only very few people show up so it might not be best use of resources. On the other hand, CSC might offer an in-person classroom next time. - Stream but no recordings or unprocessed recordings could also simplify things - Manuals could be the place to start simplifying - Use existing channels/networks to reach out, eg CSC scicomp ambassadors - UNITE alliance (Aalto is part with KTH, Montpellier, Torino etc) - Online MOOC request, CodeRefinery planned to be promoted there - ECTS provision discussion - fast track (people submit early and get credits fast) - slow track - not a human resource bottleneck atm; Aalto knows how to do it, Mira in addition to Enrico can do - repository generating certificates (private repo): https://github.com/coderefinery/generate-certificates - at Aalto: via student numbers they get credits directly - others: get certificate and need to talk to supervisor to get credits - Amsterdam: own homework with own check and direct credits - CodeRefinery: info on what is behind credits more visible (currently on workshop page), also info for other universities on how to do their own - Idea: Advent-of-code-ify the tasks - towards self learning - could also be used for prerequisites - remember: capture flag thingy by Marijn - in future could also suggest which sessions to attend - making it fun and lightweight is important - its work, but we have people who enjoy working on such stuff :) - back to Jupyter/VSCode/CommandLine: - interaction with CL: skill, needs to be practiced - feedback from advanced git: many don't comfortable in CL, can short session help? - people also do not necessarily know about filesystem etc anymore; not a skill but info - having seen it may increase confidence - we need to find out what is it that people need and present it in a way suitable for every level - gamification nice idea to get people work with the command line after crash course - discoverability of skills - Softwarecarpentry should be the entry point, after that should be a phase where they practice before coming to CodeRefinery - unknown how much these exist in Nordics, some use materials from there - pedagogically it would be cool to teach CR without command line, but researchers may have good use for it, should be somehwat included to also show what it can be useful for ## Propoasal based on discussions - Bring your own code sessions separate from workshop with own registration - Give support people something to plan - Give learners possibility to ask before meeting - Give us possibility to remind the target audience - Pre-workshop shell crash course - have part of the workshop somehow, "join if needed", also have self-learning ready - Monday before workshop or week before - Jan/Feb event for (data)- support people - CodeRefinery in an hour targeted at people who don't necessarily need to use the tools themselves but work in some advisory role - Lecture and discussion - Keep the usual 2 week (6 half day) workshop format - Gamified prerequisite quiz - Replace Jupyter with VSCode - Add shell crash course in beginning - Have installation session as part of Conda lesson - Other lesson updates up to co-instructors ## Tasks - Simplify and update install instructions (to Miniforge) - define python version - Shell crash course: prepare (record or material & live) - registration to send reminder - Monday before workshop (same week or week before?) - CodeRefinery in an hour before the workshop for data support? - In February/January, doodle for data networks - Ask for bringing cases, what would they like to get from it - Collect relevant points from workshop notes documents (findable per [past workshop](https://coderefinery.org/workshops/past/) > Q&A > Bottom of each days document) - Collect relevant points for discussion from participant feedback (https://coderefinery.org/blog/2024/08/10/post-workshop-survey/) - ![image](https://hackmd.io/_uploads/ryaD40p4yg.png) - ![image](https://hackmd.io/_uploads/B18jNRTV1x.png) - [Which topic should we add](https://coderefinery.org/blog/2024/08/10/post-workshop-survey/#what-topic-s-should-we-add-to-our-workshops) - [Which topic should we remove](https://coderefinery.org/blog/2024/08/10/post-workshop-survey/#what-topic-s-should-we-remove) ## Long idea collection Feel free to add your thoughts also in free form to below collection, can also be non thought through ideas: **EG's proposal of restructuring:** Just a wild idea for now, details need to be figured out (i.e. how much the usual week 2 can be fully independent from git lessons) - Week 1 (old week 2): - day 1: reproducible research + social coding - motivational lesson to get started - day 2: linux terminal (replaces jupyter) + github pages 1 (replaces and extends documentation) - full hands on with the terminal including creating conda environments and running simple python scripts in the terminal - full hands on generating sphinx book/website/documentation on own computer - day 3 automated testing + modular code - With hands on terminal-based exercises - Week 2 (old week 1): - git as the old week 1 but having one new session that pushes local website to github pages --- **RB:** - Devil's advocate question not to doubt/question but to create good arguments and motivation: Will github pages and automated testing (week 1) not require git/github knowledge (week 2)? But many of week 2 lessons currently could be taught without Git so I find this an interesting idea. - My main recommendation for the 2025 workshop is to **simplify** and **subtract** (workshop complexity, not content). Over the years we have been adding complexity and copying from 6 months ago and adding more without considering that we might not have the resources for it. Example: when we schedule it we look for 2 weeks but right now, in reality it is a 4-5 week committment and every edition we are then surprised that we have difficulty finding people who can be at e.g. bring-your-own-code session or similar. - Since lesson development is so important for these topics (since they change so rapidly) and since we never have time for lesson development and since continuous work "over the next months" is unrealistic since our work weeks are so fragmented into meetings, can we think about making lesson development somehow part of the event? Or will monthly open house events solve this? How can we restructure the workshop and solve the last minute stress at the same time? --- **DI:** - I am unsure about the linux terminal lesson. Some may need it, no doubt, but I would not have it as part of the worksop. Possibly as a link to reading material. Also, many of the lessons do not need the command line, IMO. But it would be nice to have an intermediate-advanced lesson on linux added to our portofolio. - Instead of Jupyter we could have VSCode. One can integrate it with Git, and use with diff. programming languages. Surely, Jupyter can too, VSCode is just an alternative. - I am not sure of we should keep the Bring Your Own Code under the tools workshop or have it separate. I am more inclined to have it separate so that one can register for it, and thus have an idea for how many will show up and coordinate the mentors. At the same time, this adds an additional barrier and maybe people would not be inclined to join. But a plus for having it separate is that we can advertise it separatly via the usual channels. --- **SW: Thinking out "loud" -> "written down":** - Bring your own classroom currently does not work for Week 2, some are sad about that - I like week 1 as it is and would not touch it other than maybe add an optional first day for linux/computers for non-computer people - We previously got a lot of feedback that time is too short for having discussions and support with all new tools in week 2 - Its already long "half days", i don't think we should do longer days - Some topics are more beginner friendly than others just based on what they are for, some have just too many tools for being beginner friendly (reproducible research) - Testing once had a full workhsop/hackathon on its own, which seemed to work well - Snakemake/Nextflow too - There is many courses/videos/tutorials out there teaching Jupyter; do we have something they do not have? - I wonder if we could do two week 2, advanced and beginners, instead of having twice a year same workshop - Beginners could be documentation, Dependencies, Workflows and Containers (but each of the latter 3 get their own lesson + one shorter lesson on intro to reproducible research and why care), social coding and modular code development. Maybe one of the lessons per day with exercises (make a bit longer) and the other as demo (make a bit shorter) - Advanced could be more in depth and for example testing instead of modular code development - Or it could be spring: Only the current morning topics and Autum: Only the current afternoon topics - In any case I think it would be great if we could give more time to the reproducible research topics that are currently all in one lesson. Not sure what is a good way to do it. - I also like the idea of **really rethinking week 2 and trying something more along the lines of flipped classroom**. We prepare materials to read/videos to watch this coudl be done using MOOC platform, but so far I havent seen one that I would enjoy using personally. No matter the platform, we would then invite people for exercise sessions. The sessions could start with a demo of the exercise and then open for questions . - About Bring your own code: Agree with Diana that it would be good to separate in some way that makes it possible for us to plan and advertize and for participants to be as easy as possible to join. Maybe "garage times" in some way?

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully