Skip to content

Commit

Permalink
deploy: 2578d99
Browse files Browse the repository at this point in the history
  • Loading branch information
linguist89 committed Aug 28, 2024
0 parents commit 622f2e7
Show file tree
Hide file tree
Showing 1,011 changed files with 193,430 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 2c513b0805f5f2845220e7a669544077
tags: d77d1c0d9ca2f4c8421862c7c5a0d620
Empty file added .nojekyll
Empty file.
Binary file added _images/BYOC.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/CR_workshop_setup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/community.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hackmd--controls.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hackmd--full-demo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/hackmd--questions2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/history-landscape-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/history-portrait-dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/history-portrait-light.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/history-portrait.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/history-rsh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/instructor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/landscape.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/learner-large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/learner-normal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/learner-small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/portrait.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/steps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/survey-impact1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/survey-impact2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/welcome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
110 changes: 110 additions & 0 deletions _sources/co-teaching.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
(co-teaching)=

# Co-teaching

:::{objectives}
- Get to know the principle of co-teaching: How we do it and how you can too.
- Learn the team teaching concept and how to tailor it to your situation.
:::

:::{instructor-note}
- Teaching: 15 min
- Exercises: 10 min
- Discussion: 5 min
:::


## Overview

CodeRefinery lessons benefit from the application of the concepts of **co-teaching**.

:::{admonition} Co-teaching
[Co-teaching](https://en.wikipedia.org/wiki/Co-teaching) can be defined as "the division of labor between educators to plan, organize, instruct and make assessments on the same group of students, generally in a common classroom, and often with a strong focus on those teaching as a team complementing one another's particular skills or other strengths".
:::

Co-teaching can be used in various forms, some of which are present in our workshops:
- **Teaching + support**, e.g. one of the teachers leading instruction while the other watches over and maintains the collaborative document (HackMD/HedgeDoc/...).
- Another similar example is **remote learning groups** that watch the streamed CodeRefinery lessons guided by the local instructors.
- Having open-source material and planning jointly allows **multiple instances** of a lesson to be held by multiple teachers:
- *parallel teaching*, to different audiences at the same time,
- *alternative teaching*, to different audiences at the same or different time, with potential content adjustments (for example, different installation procedures).
- **Team teaching**, where the lesson is presented by multiple (in most cases, two) teachers who actively engage in conversation with each other. The team-teaching concept is explained in more detail in the [CodeRefinery manual](https://coderefinery.github.io/manuals/team-teaching/).

In reality, different forms are very often mixed or fused together, even within a single lesson.

Co-teaching is not an online-only concept. However, it is very practical in online teaching due to larger number of instructors and learners potentially available to join a teaching session.


## Co-teaching and team teaching benefits

- It **saves preparation time**. Co-teachers can rely on each other's strengths while creating/ revising the material as well as in unexpected situations during the lesson.
- It **helps with onboarding new instructors**. One of the co-teachers can be learning at the same time, either the subtleties of the material taught (in this case literally being the "voice of the audience") or the teaching process itself.
- Team teaching **looks more interactive and engaging** to the audience in many cases, without forcing the learners to speak up if they can't or don't want to do so.
- It also **ensures responsive feedback and less workload** by having more active minds.


### Are there any downsides?

Not every learner and not every instructor might like the team-teaching approach.
- It might seem **less structured**, unprepared, and chaotic, even with preparation.
- It might create situations where instructors accidentally talk over each other or "interrupt" and change the flow of the lesson.
- For some instructors it can be stressful to not know in advance what questions they get asked from the co-instructor.
- Sometimes when an unexpected question is asked that throws the other instructor off, it can add to the feeling of chaos and unpreparedness.
- It can be interactive and engaging but it can also end up awkward if the co-teachers don't have a good synergy.
- Can sound awkward: Main instructor talking all the time and at the end asking co-instructor whether everything is clear and co-instructor only saying "yes".
- Possibly more engaging: Co-instructor asking questions which help with the flow and a common understanding of the material.


## Team teaching specifics

- For successful team teaching, additional **coordination** is needed, first of all to agree on the teaching model (see below) and the person in control (the **director**) for the lesson or its parts.
- It's useful to keep track of the **lecture plan**. The discussion is a good way to make lesson more interactive and adjust to the audience, but deviating too much will become disorienting (for example, if someone dropped their attention for a minute and now is trying to catch-up by reading lecture notes).
- Experienced solo teacher might have a habit to keep talking (lecturing), while the co-teacher might not want to "interrupt". Therefore, it is important for the leading presenter to anticipate and **allow for remarks/ questions**, and this can be different from one's previous teaching style at first.


## Team teaching models

We propose two basic models, but of course there is a constant continuum.


### Guide and demo-giver

One person serves the role of **guide**, explaining the big picture and context of the examples.

Another, the **demo-giver**,
- shows the typing and does the examples,
- might take the role of a learner who is asking about what is going on, to actually explain the details, or to comment occasionally.

Hands-on demos and exercises work especially well like this.


### Presenter and interviewer

In this case, one is the **presenter** who is mostly explaining (including demos or examples), and trying to move the forward through the material.

Another, the **interviewer**,
- serves as a learner or spotter,
- fills in gaps by asking relevant questions,
- tries to comment to the presenter when things are going off track.

This can be seen as closer to classical teaching, but with a dedicated and prepared "voice of the audience".


### Exercise

:::{exercise} Discuss the models of team teaching (10 min)
While in breakout rooms, discuss one of the basic team-teaching models presented here:
- Have you already tried this or similar model in your teaching?
- Does it seem natural to apply this model in your subject area (tell what it is)? How could it be adapted to fit best?

Write your comments in the collaborative document.
:::


## Summary

:::{keypoints}
- Co-teaching focuses on complementing individual skills and strengths in teaching process.
- Co-teaching may save time, reduce teachers' workload and make lessons more interactive/ engaging.
- Team teaching requires some adjustments in lesson preparation and delivery.
:::
116 changes: 116 additions & 0 deletions _sources/coderefinery-intro.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# About the CodeRefinery project and CodeRefinery workshops in general

:::{objectives}
- Discuss what CodeRefinery is and how we got here
- Understand about the challenges to define our target audience
:::

CodeRefinery is a
[Nordic e-Infrastructure Collaboration (NeIC)](https://neic.no/)
project that has started in October 2016 and is currently
funded until February 2025. We are working on the continuation plans.

The funding from 2022-2025 is designed to keep this project active
beyond 2025 by forming a support network and building a community of
instructors and contributors.


:::{discussion} History
The CodeRefinery project idea grew out of two [SeSE](http://sese.nu) courses given at KTH Stockholm in 2014 and 2016.
The project proposal itself was submitted to NeIC in 2015, accepted in 2015, and started in 2016.

We have started by porting own lessons to the Carpentries teaching style and
format, and collaboratively and iteratively grew and improved the material to
its present form.
:::


## Goals

- Develop and maintain **training material on good enough software development practices** for researchers that write code/scripts/notebooks.
- Our material addresses all academic disciplines and tries to be as programming language-independent as possible.
- Provide a [code repository hosting service](https://coderefinery.org/repository/) that is open and free
for all researchers based in universities and research institutes from Nordic countries.
- Provide **training opportunities** in the Nordics using (Carpentries and) CodeRefinery training materials.
- Evolve the project towards a **community-driven project** with a network of instructors and contributors.


## Community

```{figure} img/community.png
Image showing the key areas of the CodeRefinery community: Workshops, chat inlcuding help channel, online meetings and co-working,
other collaborative training, eg on High Performance Computing topics.
```

CodeRefinery is not just workshops, we are community and want you to be part of it!

There are many different levels of involvement, from the occasional commenter in chat,
CodeRefinery ambassador (people who like the project and workshops and help us spreading the word) or lesson issue creators and lesson contributors to
local host, co-instructor or co-organizer.

Best **first step** in any case is to join the [CodeRefinery Zulip chat](https://coderefinery.zulipchat.com)
or let us know about your interest at [email protected].


## Target audience

One common question we get is how do we relate to [the Carpentries](https://carpentries.org).
This section describes how we see it:


### Carpentries audience

The Carpentries aims to teach computational **competence** to learners through an applied approach,
avoiding the theoretical and general in favor of the practical and specific.

**Mostly, learners do not need to have any prior experience in programming.**
One major goal of a Carpentries workshop is to raise awareness on the tools researchers can learn/use to speed up their research.

By showing learners how to solve specific problems with specific tools and providing hands-on practice,
learners develops confidence for future learning.

:::{admonition} Novices
We often qualify Carpentries learners as **novices**: they do not know what they need to learn yet.
A typical example is the usage of version control: the Carpentries lesson
[Version Control with Git](https://swcarpentry.github.io/git-novice/)
aims to give a
very high level conceptual overview of Git but it does not explain how it can be used in research projects.
:::


### CodeRefinery audience

In that sense, CodeRefinery workshops differ from Carpentries workshops as we assume
our audience already writes code and scripts and we aim at teaching them **best software practices**.

Our learners usually do not have a good overview of **best software practices** but are aware of the need to learn them.
Very often, they know of the tools (Git, Jupyter, etc.) we are teaching
but have difficulties to make the best use of them in their software development workflow.

Whenever we can, we direct learners that do not have sufficient coding experience to Carpentries workshops.

:::{admonition} Competent practitioners
We often qualify CodeRefinery learners as **competent practitioners** because they already have an understanding of their needs.
:::

:::{discussion} Challenges related to defining our target audience
We often get the feedback "I wish I would have known X earlier!"
*Competent practitioners* have run into issues with **not** caring (or not fully understanding)
about version control, documentation, modularity, reproducibility before, so they are easily motivated to learn more.

For a *novice* these topics may seem unnecessary and "too much" and the workshop may feel too difficult to follow.
However, the materials are designed so that one can always revisit a topic, when needed.
The important part is that you know that "X" exists, and where to find more information, which is also beneficial for novices.
:::

---

:::{keypoints} Keypoints: CodeRefinery
- Teaches intermediate-level software development tool lessons
- It is difficult to define "best practices", we try to teach **"good enough" practices**
- Training network for other lessons
- Publicly-funded discrete projects (3 projects actually) transitioning towards an open community project
- We have online material, teaching, and exercise sessions
- Our main target audience are competent practitioners, but also novices and experts can get something out of the workshops
- We want more people to work with us, and to work with more people
:::
Loading

0 comments on commit 622f2e7

Please sign in to comment.