--- tags: workshop title: CR 2021 Exercise overview --- # May '21 CR ## Planned Exercises (please check the ones you will want to include as Breakoutrooms, and note if you will aggregate multiple exercises into one BOR session) **Day 1 (May 10, Monday)** * 9:20 - 12:30 Introduction to version control - part 1/2 ("Motivation" to "Undoing") (Diana Iusan, Juho Lehtonen, and Sabry Razick) - [x] [In BO rooms: Record changes](https://coderefinery.github.io/git-intro/02-basics/#exercise-record-changes) - 09:55-10:25 - [ ] [Test your understanding](https://coderefinery.github.io/git-intro/02-basics/#test-your-understanding) - no BO room needed. Hackmd survey - [ ] [Discussion (no BO room needed)](https://coderefinery.github.io/git-intro/04-staging-area/#discussion) - [ ] [Type along: Interactive committing (no BO room needed)](https://coderefinery.github.io/git-intro/04-staging-area/#exercise-interactive-committing) - [x] Breakout room session, 15 min, 11:00 - 11:15 - [x] [Using git staging area](https://coderefinery.github.io/git-intro/04-staging-area/#exercise-using-the-staging-area) - [x] [Test your understanding](https://coderefinery.github.io/git-intro/04-staging-area/#test-your-understanding) - [ ] [Undoing](https://coderefinery.github.io/git-intro/05-undoing/#discussion-undoing) - [ ] [Revert a commit](https://coderefinery.github.io/git-intro/05-undoing/#exercise-revert-a-commit) - [ ] [Modify previous commit](https://coderefinery.github.io/git-intro/05-undoing/#exercise-modify-a-previous-commit) **Day 2 (May 11, Tuesday)** * 9:00 - 12:30 Introduction to version control - part 2/2 ("Branching and merging" to "Inspecting history") (Diana Iusan, Juho Lehtonen, and Sabry Razick) - [x] [Create and commit to branches](https://coderefinery.github.io/git-intro/06-branches/#exercise-create-and-commit-to-branches) breakout session, 15 min, 09:25-09:40 - [ ] [Encounter a fast-forward merge (type-along in the main room)](https://coderefinery.github.io/git-intro/06-branches/#exercise-encounter-a-fast-forward-merge) * Note: The 3 optional exercises below will not be done during the lesson. The are only kept as reference material so that the learners can try to solve them on their own at a later time. - [ ] [Optional: Moving commits to another branch](https://coderefinery.github.io/git-intro/06-branches/#optional-exercise-moving-commits-to-another-branch) - [ ] [Optional: Rebasing](https://coderefinery.github.io/git-intro/06-branches/#optional-exercise-rebasing) - [ ] [Optional: Squashing commits](https://coderefinery.github.io/git-intro/06-branches/#optional-exercise-squashing-commits) - [ ] [Demo: Create a conflict (learners just watching, they will recreate the steps in the exercise below)](https://coderefinery.github.io/git-intro/08-conflicts/#type-along-create-a-conflict) - [x] Breakout room session, 15 min, 10:15-10:30 - [x] [Recreate the conflict shown in the demo above and resolve](https://coderefinery.github.io/git-intro/08-conflicts/#exercise-create-another-conflict-and-resolve) - [x] [Optional: Conflicts and rebase](https://coderefinery.github.io/git-intro/08-conflicts/#optional-exercise-conflicts-and-rebase) - [x] [Optional: Resolution using mergetool](https://coderefinery.github.io/git-intro/08-conflicts/#optional-resolution-using-mergetool) * Note: The 2 optional exercises above are intended for fast learners only. * 11:30 - 12:15 ("Inspecting history") - [x] [In BO rooms: Basic archaeology commands](https://coderefinery.github.io/git-intro/10-archaeology/#exercise-basic-archaeology-commands) - [x] [In BO rooms: Git bisect](https://coderefinery.github.io/git-intro/10-archaeology/#exercise-git-bisect) **Day 3 (May 12, Wednesday)** * 9:00 - 12:30 Collaborative distributed version control (Diana Iusan, Juho Lehtonen, and Sabry Razick) - [X] [In Bo room]:[Centralized workflow exercise](https://coderefinery.github.io/git-collaborative/02-centralized/#centralized-workflow-exercise) - 10:00-10:45 - [x] [In BO rooms: Practice collaborative forking workflow](https://coderefinery.github.io/git-collaborative/03-distributed/#exercise-practice-collaborative-forking-workflow) - [x] [In BO rooms: (Optional) Try to send a conflicting pull request](https://coderefinery.github.io/git-collaborative/03-distributed/#optional-exercise-try-to-send-a-conflicting-pull-request) - [x] [In BO rooms: (Optional) Practice making changes to your pull request](https://coderefinery.github.io/git-collaborative/03-distributed/#optional-exercise-practice-making-changes-to-your-pull-request) **Day 4 (May 18, Tuesday)** * 9:00 - 11:15 Reproducible research and FAIR data (Johan Hellsvik) - [ ] [Conda](https://coderefinery.github.io/reproducible-research/03-dependencies/#exercise-creating-and-exporting-conda-environments) type along in main room (contents will be slighly modified) - [ ] break (10 min) - [x] [snakemake](https://coderefinery.github.io/reproducible-research/04-workflow-management/#exercise-using-snakemake) 15 min breakout session starting ~10:05 - [x] [Zenodo](https://coderefinery.github.io/reproducible-research/06-sharing/#exercise-get-a-doi-by-connecting-your-repository-to-zenodo) 15 min breakout session starting ~10:45 - [ ] break 11:05 - 11:15 * 11:15 - 12:30 Social coding and open software (Anne Fouilloux) - [x] [Make Recipe repository FAIR](https://coderefinery.github.io/social-coding/social_coding/) starting ~12.05 - [ ] other exercises/discussions on HackMD **Day 5 (May 19, Wednesday)** - 09:00-09:05 Intro and overview - 09:05-10:00 Jupyter (Radovan Bast, Anne Fouilloux) - Motivation and interface (15 min) - [x] First computational notebook: discussion (5 min) and [breakout room exercise (15 min)](https://coderefinery.github.io/jupyter/first-notebook/#exercise) - Notebooks and version control (demo, 10-15 min) - 10:00-10:10 **Break** - 10:10-10:30 More Jupyter - [x] Binder [Breakout room exercise (15 min)](https://coderefinery.github.io/jupyter/sharing/#sharing-dynamic-notebooks-on-binder) - Wrap-up - 10:30-10:45 **Break/buffer** - 10:45-11:30 Documentation (Samantha Wittke, Radovan Bast) - Motivation and tools (Samantha, 15 min) - [x] README-documentation (Radovan, 10 min) + [breakout room exercise 15 min](https://coderefinery.github.io/documentation/writing-readme-files/#exercises) (ELs, you can pre-select one of the 3 options for your room) - 11:30-11:40 **Break** - 11:40 - 12:30 More documentation - Sphinx exercise - Type-along: Part 1 (Samantha, 10 min) - [x] [Breakout room exercise: Part 2 (15 min)](https://coderefinery.github.io/documentation/sphinx/#group-exercise-build-sphinx-documentation-using-rst) - Demo: Read The Docs (Radovan, 15 min) - Summary - End 12:30 **Day 6 (May 20, Thursday)** * 9:00 - 10:45 Automated testing (Thor Wikfeldt) - [x] [Testing locally](https://coderefinery.github.io/testing/pytest/) - 15 minute breakout session - [ ] [Automated testing](https://coderefinery.github.io/testing/continuous-integration/) - will be done type-along in main room - [x] [Test design](https://coderefinery.github.io/testing/test-design/) - 25 minute breakout session, needs language-specific rooms! * 11:00 - 12:15 Modular code development (Anne Fouilloux) * all as demo in main room