4  Introduction to workshop

Introduction slides

The slides contain speaking notes that you can view by pressing β€˜S’ on the keyboard.

4.1 πŸ“– Reading task: Learning design

This is the first time adding this, so mention that there is strong evidence that when learners are aware of and involved in why learning material is structured the way it is, they learn better. But we’d love feedback on this.

Briefly walk through some of these things, as they form the basis for the workshop.

Time: ~6 minutes.

This workshop is designed using the science of learning. Learning is when new content gets incorporated into long-term storage in the brain and in a way that it can be later retrieved from storage to be used again. Some of the best ways to enable learning is to do β€œactive learning” by engaging with the material, practicing retrieving what was just taught, repeatedly being exposed to and retrieve the content, linking the new information with what you already know, and explaining it to someone else.

We use a variety of activities to target the different pathways of learning. A big part of learning is being engaged in the process of learning, not just learning the content itself. So to help you be engaged in your own learning, we want to involve you in the reasons why we do the things we do. These are the things we do in this workshop that we’ve designed to enable optimal learning:

  • We have a clear learning goal with a strong narrative throughout the workshop that ties back to that goal. It’s much easier to learn when you have a better idea of where you are going, where you are at, and what to expect along the way.

  • The main activities are β€œcode-alongs”, where the teacher types on the computer and explains what it means while you type along. The connection between using the hands and doing something tangible helps reinforce learning. It also helps the teachers to go slower since we have to both explain and type things out, which helps you learn better. The phrase β€œless is more” applies strongly to learning.

  • We include several hands-on exercises that reinforce what was just taught through retrieval practice and repetition. It gives you a chance to engage with the material and the space to try it out on your own, so you start to get a real sense of how to do it yourself.

  • We have discussion activities to encourage linking the new information with what you already know and do in your work and how you can apply it. Since humans are social beings, we also tend to learn better when there is some social aspect to it. Explaining something to someone else is one of the best ways to learn! The quote β€œwhile we teach, we learn” from the Roman philosopher Seneca is true here.

  • We have minimal to no slides or lectures, as they are forms of information sharing with the lowest rates of learning. Instead we include reading tasks, so you can re-read things you may not understand, go at your pace, and take notes, all of which support learning. To help reinforce what you just read, the teacher will briefly summarise and emphasise key points after you’ve read it, which is another form of repetition and targets another part of the brain (the auditory pathway).

  • We include several breaks throughout the workshop to help you recharge and refocus. The brain is only able to effectively focus on one thing at a time in 30-50 minute blocks of time. That’s why we mix together code-alongs, exercises, discussions, and reading to give your brain something different to focus on. But having an explicit break, even 5 minutes, is enough for the brain to better process and store what was covered.

  • We put all the material online so that it is easy for you to go back to after the workshop, which builds the repetition and retrieval practice part of learning.

  • Our brains can get easily distracted, which is completely normal! So if you get distracted during the workshop, you can go to the material online to quickly get caught up with where we are. We also make sure to follow the material on the website closely, so that it is easier for you to follow along.

  • Being in a safe and supportive environment puts the brain into a more relaxed state that also happens to be optimal for learning. Hence why we try to explicitly create that space, for example with the use of our Code of Conduct.

  • Asking for help can be a hard thing to do, especially in settings where you are learning and might be confused or struggling with something being taught. You might feel vulnerable asking for help and showing that you don’t know something. To help reduce these feelings and to create a safer space, we regularly get you to put up little origami hats (or stickies) to assess how everyone is doing. If you need help or are struggling with something, you put up the β€œhelp” hat (usually orange) and a helper will come to you as soon as they can. We often have several helpers, so that you can get help quickly. Putting up a little hat is a low effort way of asking for help. You don’t need to raise your hand that everyone can see nor interrupt the teacher, and you can keep trying to follow along (or fix the issue) as you wait for a helper to come over. This means it will be easier for you to ask for help, which is what we want in a learning setting! 😁

Now you know a bit more about the thoughts behind how we’ve designed this workshop to really try to support and enable your learning! πŸŽ‰ 😁

Sticky/hat up!

When you’re ready to continue, place the sticky/paper hat on your computer to indicate this to the teacher πŸ‘’ 🎩

4.2 Other details

We collect feedback at the end of each session through the survey. It is extremely helpful and has greatly improved the workshop material over the years. So please, give us feedback!! We’re all in this together, learning and improving 😁

Since this is also a space to socialise and network, we strongly encourage you to sit besides someone you don’t know during lunch. This is also why we have you pick a piece of paper that has a table name on it every day, so that you can sit with different people each day.

4.3 πŸ“– Reading task: Our roadmap

Go over the text again and use the diagrams to reinforce what our roadmap is.

Time: ~15 minutes.

This section provides a bigger picture view and roadmap of what we will be doing, a bit on why we want to do it, and what it will look like in the end. The overall practical aim or β€œdestination” of this workshop is:

To apply a reproducible and programmatic approach to efficiently downloading a dataset that has multiple data files, then processing and cleaning them all, and saving them as a single data file to use for later analysis.

In our case, during the workshop we want to process the DIME data so that we have a single dataset to work with for later (hypothetical) analyses. We have one CGM file and one sleep file for each participant, as well as a single participant details file.

To get to a single dataset, let’s work backwards:

  1. To get one final dataset, we need to join the CGM, sleep, and participant data together and in a way that makes sense.
  2. To join all the datasets together, they all need to be in a format that can be joinable. So they need to be cleaned.
  3. We need to clean the participant details data.
  4. We need to clean the CGM and sleep data.
  5. To clean the CGM data, we need to have one single CGM data frame to be able to clean on, but we currently have many. So we need to join (β€˜bind’) all the CGM data into one. This also applies to the sleep data.
  6. To get one CGM or sleep data frame, we need to first import it from each raw file.

Breaking these steps down visually, let’s start with the final joining:

CGM
data frame

Sleep
data frame

Participant details
data frame

Join together

One data frame
ready for analysis

Figure 4.1: Roadmap for the workshop: Joining all the data into one.

Going backwards, to get to the single CGM data frame, we will need to import all the files, β€˜bind’ them together, and then clean them. The same applies to the sleep. Visualised below for both CGM and sleep data:

data-raw/dime/cgm/101.csv

data-raw/dime/cgm/*.csv

data-raw/dime/cgm/127.csv

CGM
data frame

Import then
'bind' together

Clean data

Figure 4.2: Roadmap for the workshop: Importing and cleaning all the CGM (or sleep) data files.

And for the participant details flow, it would be:

data-raw/dime/participant_details.csv

Import data

Clean data

Participant details
data frame

Figure 4.3: Roadmap for the workshop: Importing and cleaning the participant details data file.

We also want to make sure that whatever processing we do to the data is reproducible, so we’ll be writing the code in a way that enables and enforces reproducibility of the code.

So, how will we do this, specifically? At the highest level, everything revolves around files and folders. Below is what the project currently looks like and what it will look like at the end of the workshop. Notice, the only differences here are the addition of a new file in the data/ folder and a new HTML file in the docs/ folder. The new file in the data/ folder is the final dataset we will be creating, and the new HTML file in the docs/ folder is the rendered Quarto document that we will be creating.

Currently looks like:

LearnR3
β”œβ”€β”€ data/
β”‚   └── README.md
β”œβ”€β”€ data-raw/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ dime.zip
β”‚   β”œβ”€β”€ dime/
β”‚   β”‚  β”œβ”€β”€ cgm/
β”‚   β”‚  β”œβ”€β”€ sleep/
β”‚   β”‚  └── participant_details.csv
β”‚   └── dime.R
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ README.md
β”‚   └── learning.qmd
β”œβ”€β”€ R/
β”‚   β”œβ”€β”€ functions.R
β”‚   └── README.md
β”œβ”€β”€ .gitignore
β”œβ”€β”€ DESCRIPTION
β”œβ”€β”€ LearnR3.Rproj
β”œβ”€β”€ README.md
└── TODO.md

End of workshop:

LearnR3
β”œβ”€β”€ data/
β”‚   β”œβ”€β”€ README.md
β”‚   └── dime.csv <- Added
β”œβ”€β”€ data-raw/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ dime.zip
β”‚   β”œβ”€β”€ dime/
β”‚   β”‚  β”œβ”€β”€ cgm/
β”‚   β”‚  β”œβ”€β”€ sleep/
β”‚   β”‚  └── participant_details.csv
β”‚   └── dime.R
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ README.md
β”‚   β”œβ”€β”€ learning.html <- Added
β”‚   └── learning.qmd
β”œβ”€β”€ R/
β”‚   β”œβ”€β”€ functions.R
β”‚   └── README.md
β”œβ”€β”€ .gitignore
β”œβ”€β”€ DESCRIPTION
β”œβ”€β”€ LearnR3.Rproj
β”œβ”€β”€ README.md
└── TODO.md

This structure, particularly the use of the .Rproj file and the DESCRIPTION file (that we will cover in this workshop) are part of a β€œproject-based workflow” that is commonly used. We use this type of workflow because we want to follow some standard conventions in R, like having a DESCRIPTION metadata file, keeping raw data in the data-raw/ folder, and keeping (most) R scripts in the R/. We also want to keep things structured to make it easier for others and ourselves to reproduce the work.

Note

During the code-alongs, we will be working with the CGM and participant details data. For the exercises, you will practice what you’ve learned on the sleep data.

Sticky/hat up!

When you’re ready to continue, place the sticky/paper hat on your computer to indicate this to the teacher πŸ‘’ 🎩

4.4 πŸ’¬ Discussion activity: Warm-up questions!

Time: ~8 minutes.

A big part of learning is social. We are in a classroom and you are listening to and interacting with the teacher (at least in some way). But it also with your peers.

So, to help you feel more comfortable in this new physical and social space, for the next 4 minutes, get up and chat with your neighbour about the questions below:

  1. Who are you?
  2. Why are you here?
  3. What do you want to learn?

Make sure to share the time equally between each other. Then, after 4 minutes, chat with another neighbour at your table (or a table nearby) for another 4 minutes. This time, talk about these questions:

  1. How do you perceive your skill in R?
  2. How much time do you spend processing data in R?