Skip to content

Commit

Permalink
update template after sep 2023 workshop; closes #74
Browse files Browse the repository at this point in the history
  • Loading branch information
bast committed Sep 28, 2023
1 parent bed306a commit 1cc5a35
Show file tree
Hide file tree
Showing 9 changed files with 117 additions and 44 deletions.
1 change: 1 addition & 0 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ logos = [
# adapt this
registration_link = "https://example.org"
source_repo = "https://github.com/coderefinery/template-workshop-webpage"
how_to_join_video = "https://youtu.be/QUAZELOioUY"

# uncomment as soon as registration opens
# registration_is_open = true
Expand Down
22 changes: 20 additions & 2 deletions content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,34 @@ We collect here the exercise groups that we know:

## Instructors

- Radovan Bast
- ...


## Workshop organizers

- Radovan Bast
- ...


## On-boarding

- ...


## Recording and broadcasting

- ...


## Outreach

- ...


## Expert helpers

- ...


## Collaborative notes editors

- ...
69 changes: 42 additions & 27 deletions content/exercises.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,52 +9,67 @@ lesson material. We often change the material before each workshop and in this
page we list also any ongoing or planned changes to avoid surprises.


### Day 1 (Git intro)
### Day 1 (Introduction to version control with Git)

- [Recording changes](https://coderefinery.github.io/git-intro/basics/#exercise-record-changes) (20 min). There are also optional exercises.
- [Branching and merging](https://coderefinery.github.io/git-intro/branches/#exercise-create-and-commit-to-branches) (20 min). There are also optional exercises.
- [Conflict resolution](https://coderefinery.github.io/git-intro/conflicts/#exercise-create-and-resolve-a-conflict) (20 min).
- [Recording changes](https://coderefinery.github.io/git-intro/basics/#exercise-record-changes) (20 min).
- Record changes
- Optional exercises
- [Optional exercises](https://coderefinery.github.io/git-intro/basics/#optional-exercises-comparing-changes) (20 min).
- One or all optional exercises
- [Branching and merging](https://coderefinery.github.io/git-intro/branches/#exercise-create-and-commit-to-branches) (20 min).
- Branch-1
- Branch-2
- There are also optional exercises


### Day 2 (Git intro)
### Day 2 (Introduction to version control with Git)

- [Pushing to GitHub](https://coderefinery.github.io/git-intro/remotes/#pushing-our-guacamole-recipe-repository-to-github) (20 min). We push the recipe from day 1 to GitHub.
- [Inspecting history](https://coderefinery.github.io/git-intro/archaeology/#exercise-basic-archaeology-commands) (30 min). The part with `git bisect` is optional.
- [Undoing and recovering](https://coderefinery.github.io/git-intro/recovering/) (20 min). We let participants/groups choose among:
- Revert a commit
- Modify a previous commit
- Git reset
- [Pushing to GitHub](https://coderefinery.github.io/git-intro/remotes/) (20 min).
- Set up SSH keys
- Pushing our guacamole recipe repository to GitHub
- Clone repository
- [Inspecting history](https://coderefinery.github.io/git-intro/archaeology/) (30 min).
- History-1
- History-2 is optional
- [Undoing and recovering](https://coderefinery.github.io/git-intro/recovering/) (25 min). We let participants/groups choose among:
- Undoing-1
- Undoing-2
- Undoing-3


### Day 3 (collaborative Git)
### Day 3 (Collaborative distributed version control)

- [Create a pull request](https://coderefinery.github.io/git-collaborative/centralized/#exercise-preparation) (30 min):
- [Create a pull request](https://coderefinery.github.io/git-collaborative/centralized/#exercise-preparation) (30 min).
Creating a branch and commit, pushing the branch, creating a pull request, and reviewing pull requests.
- [Working with forks](https://coderefinery.github.io/git-collaborative/distributed/#exercise-preparation) (30 min).


### Day 4 (reproducible research and social coding)
### Day 4 (Reproducible research and Social coding and open software)

- [Dependencies-1 and Dependencies-2](https://coderefinery.github.io/reproducible-research/dependencies/#exercises) (20 min).
- [Workflow-1 and Workflow-2](https://coderefinery.github.io/reproducible-research/workflow-management/#exercise) (20 min).
- [Workflow-1 and Workflow-2](https://coderefinery.github.io/reproducible-research/workflow-management/#exercise) (25 min).
- [Containers-1](https://coderefinery.github.io/reproducible-research/environments/#exercises) (20 min).
- Rest is collaborative "discussion" in collaborative document and demo.
- No individual/group exercise in the social coding part. We will all participate via collaborative document.
In other words nothing to prepare for team leaders.
- **Episode "Sharing code and data" will move to the "Social coding and open software" lesson**.
- No individual/group exercise in the "Social coding and open software" part. We will all participate via collaborative document.
Nothing to prepare for team leaders.


### Day 5 (Jupyter and documentation)
### Day 5 (How to document your research software and Jupyter notebooks)

- [Writing good README files](https://coderefinery.github.io/documentation/writing-readme-files/) (20 min).
- README-1 or README-2 or README-3
- [Sphinx and Markdown](https://coderefinery.github.io/documentation/sphinx/) and
[Deploying Sphinx documentation to GitHub Pages](https://coderefinery.github.io/documentation/gh_workflow/) (20 min).
- Sphinx-2
- Sphinx-3 (optional)
- GH-Pages-1
- [First computational notebook](https://coderefinery.github.io/jupyter/first-notebook/#an-example-computational-notebook) (20 min).
- [Sharing a notebook using Binder](https://coderefinery.github.io/jupyter/sharing/) (20 min).
- [Writing good README files](https://coderefinery.github.io/documentation/writing-readme-files/) (15 min). Learners/groups can choose 1 of the 3 exercises there.
- [Sphinx and Markdown](https://coderefinery.github.io/documentation/sphinx/#exercise-sphinx-content) (20 min). There are optional exercises.


### Day 6 (testing and modular code development)
### Day 6 (Automated testing and Modular code development)

- **Instead of practicing testing locally** the first exercise will be about
setting up [automated testing](https://coderefinery.github.io/testing/continuous-integration/) (20 min).
We also plan to offer an R exercise for those who prefer R over Python.
- [Test design](https://coderefinery.github.io/testing/test-design/) (20 min). No significant changes planned.
- No individual/group exercise in modular code development. Learners will
- [Testing locally](https://coderefinery.github.io/testing/pytest/) (20 min).
- [Test design](https://coderefinery.github.io/testing/test-design/) (20 min). We will add an end-to-end test exercise here as option.
- No individual/group exercise in the "Modular code development" part. Learners will
participate all via collaborative document and ask and advice instructors.
2 changes: 1 addition & 1 deletion content/join.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ template = "join.html"

Anyone may watch the livestream (<https://twitch.tv/coderefinery>).
You are free to attend just those days or sessions you want!
Read more about [how to attend a livestream course](https://coderefinery.github.io/manuals/how-to-attend-stream/).
Read more about [how to attend a livestream course](https://coderefinery.github.io/manuals/how-to-attend-stream/) or [watch the video on YouTube!](https://youtu.be/QUAZELOioUY).
Some partners host own video- or in-person exercise rooms.


Expand Down
5 changes: 4 additions & 1 deletion content/requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ title = "Prerequisites and software requirements"
languages (but it is a process and not all material is completely generic
yet).
- Read [how to attend a livestream course](https://coderefinery.github.io/manuals/how-to-attend-stream/).
- Printing [this Git
cheatsheet](https://aaltoscicomp.github.io/cheatsheets/git-the-way-you-need-it-cheatsheet.pdf)
would be helpful - it was made by us and we'll refer to it.


## Preparation (software installation)
Expand All @@ -32,7 +35,7 @@ We offer install help sessions (see schedule). Please use one of these. It will
improve the workshop experience for you and others.

We now also provide a [verification
script](https://coderefinery.github.io/installation/#step-1-go-through-the-checklist-and-make-sure-all-items-are-ready)
script](https://coderefinery.github.io/installation/#overall-verification)
to help you check software and configuration with one command.


Expand Down
42 changes: 33 additions & 9 deletions content/schedule.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,30 @@ schedule:
- starts: 9:30
ends: 10:30
title: On-boarding for team leaders leading groups over video
url: https://coderefinery.github.io/manuals/team-leaders/
- starts: 11:00
ends: 12:00
title: On-boarding for team leaders leading in-person teams
url: https://coderefinery.github.io/manuals/team-leaders/
- starts: 12:30
ends: 14:00
title: Installation help for everybody
url: https://coderefinery.github.io/installation/
- title: "Installation help and on-boarding (you don't need to attend both days, choose the day that is better for you)"
date: "2023-09-13"
sessions:
- starts: 9:30
ends: 10:30
title: On-boarding for team leaders leading groups over video
url: https://coderefinery.github.io/manuals/team-leaders/
- starts: 11:00
ends: 12:00
title: On-boarding for team leaders leading in-person teams
url: https://coderefinery.github.io/manuals/team-leaders/
- starts: 12:30
ends: 14:00
title: Installation help for everybody
url: https://coderefinery.github.io/installation/
- title: "Day 1"
date: "2023-09-19"
sessions:
Expand All @@ -35,25 +41,26 @@ schedule:
presenters: TBA
- starts: 7:20
ends: 9:00
title: Introduction to version control - part 1/4
title: Introduction to version control with Git - part 1/4
subtitle: Why we want to track versions and how to go back in time to a working version
url: https://coderefinery.github.io/git-intro/
presenters: TBA
- starts: 10:00
ends: 11:30
title: Introduction to version control - part 2/4
title: Introduction to version control with Git - part 2/4
url: https://coderefinery.github.io/git-intro/
presenters: TBA
- title: "Day 2"
date: "2023-09-20"
sessions:
- starts: 7:00
ends: 9:00
title: Introduction to version control - part 3/4
title: Introduction to version control with Git - part 3/4
url: https://coderefinery.github.io/git-intro/
presenters: TBA
- starts: 10:00
ends: 11:30
title: Introduction to version control - part 4/4
title: Introduction to version control with Git - part 4/4
url: https://coderefinery.github.io/git-intro/
presenters: TBA
- title: "Day 3"
Expand All @@ -74,42 +81,59 @@ schedule:
sessions:
- starts: 7:00
ends: 9:00
title: Reproducible research and FAIR data
title: Reproducible research
subtitle: Preparing code to be usable by you and others in the future
url: https://coderefinery.github.io/reproducible-research/
presenters: TBA
- starts: 10:00
ends: 11:30
title: Social coding and open software
subtitle: What can you do to get credit for your code and to allow reuse
url: https://coderefinery.github.io/social-coding/
presenters: TBA
- title: "Day 5"
date: "2023-09-27"
sessions:
- starts: 7:00
ends: 9:00
title: Documentation
title: How to document your research software
url: https://coderefinery.github.io/documentation/
presenters: TBA
- starts: 10:00
ends: 11:30
title: Jupyter
title: Jupyter notebooks
subtitle: A tool to write and share executable notebooks and data visualization
url: https://coderefinery.github.io/jupyter/
presenters: TBA
- title: "Day 6"
date: "2023-09-28"
sessions:
- starts: 7:00
ends: 9:00
title: Software testing
title: Automated testing
subtitle: Preventing yourself and others from breaking your functioning code
url: https://coderefinery.github.io/testing/
presenters: TBA
- starts: 10:00
ends: 11:30
title: Modular code development
subtitle: Making reusing parts of your code easier
url: https://coderefinery.github.io/modular-type-along/
presenters: TBA
- starts: 11:30
ends: 12:00
title: Concluding remarks and where to go from here
title: "Concluding remarks, general Q&A, and where to go from here"
url: https://github.com/coderefinery/workshop-outro/blob/master/README.md
presenters: TBA
- title: "Optional: Bring your own code session"
date: "2023-10-02"
sessions:
- starts: 13:00
ends: 14:30
title: Bring your own code and discuss and ask
- title: "Optional: Bring your own code session"
date: "2023-10-09"
sessions:
- starts: 13:00
ends: 14:30
title: Bring your own code and discuss and ask
6 changes: 3 additions & 3 deletions templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- uikit -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.16.22/dist/css/uikit.min.css">
<script src="https://cdn.jsdelivr.net/npm/uikit@3.16.22/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.16.22/dist/js/uikit-icons.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.17.0/dist/css/uikit.min.css">
<script src="https://cdn.jsdelivr.net/npm/uikit@3.17.0/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.17.0/dist/js/uikit-icons.min.js"></script>

<!-- time zone localization -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dayjs.min.js" integrity="sha256-EfJOqCcshFS/2TxhArURu3Wn8b/XDA4fbPWKSwZ+1B8=" crossorigin="anonymous"></script>
Expand Down
5 changes: 5 additions & 0 deletions templates/registration.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ <h2>Registration</h2>
<a class="uk-button uk-button-primary uk-button-large" href="{{ config.extra.registration_link }}" target="_blank">
Register here
</a>
{% if config.extra.how_to_join_video %}
<a class="uk-button uk-button-secondary uk-button-large" href="{{ config.extra.how_to_join_video }}" target="_blank">
Video: How to join
</a>
{% endif %}
{% endif %}

{% if config.extra.registration_is_closed %}
Expand Down
9 changes: 8 additions & 1 deletion templates/schedule.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,15 @@ <h2>Schedule</h2>
{% else %}
{{ session.title }}
{% endif %}
{% if session.subtitle %}
<div class="uk-text-small">
{{ session.subtitle }}
</div>
{% endif %}
{% if session.presenters %}
({{ session.presenters }})
<div class="uk-text-small">
Presenters: {{ session.presenters }}
</div>
{% endif %}
</td>
</tr>
Expand Down

0 comments on commit 1cc5a35

Please sign in to comment.