---
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