Skip to content

Commit

Permalink
Merge pull request #488 from datacarpentry/instructor-notes
Browse files Browse the repository at this point in the history
Instructor notes
  • Loading branch information
jessesadler authored Oct 16, 2023
2 parents 42624f0 + d1d0d8b commit c479d93
Show file tree
Hide file tree
Showing 9 changed files with 94 additions and 48 deletions.
12 changes: 12 additions & 0 deletions episodes/00-intro.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,18 @@ source: Rmd
source("data/download_data.R")
```

::: instructor

- The main goal here is to help the learners be comfortable with the RStudio
interface.
- Go very slowly in the "Getting set up" section. Make sure everyone is following
along (remind learners to use the stickies). Plan with the helpers at this
point to go around the room, and be available to help. It's important to make
sure that learners are in the correct working directory, and that they create
a `data` (all lowercase) subfolder.

::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Install latest version of R.
Expand Down
10 changes: 10 additions & 0 deletions episodes/01-intro-to-r.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,16 @@ source: Rmd
source("data/download_data.R")
```

:::: instructor

- The main goal is to introduce users to the various objects in R, from atomic types
to creating your own objects.
- While this epsiode is foundational, be careful not to get caught in the weeds as the
variety of types and operations can be overwhelming for new users, especially before
they understand how this fits into their own "workflow."

::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Define the following terms as they relate to R: object, assign, call, function, arguments, options.
Expand Down
14 changes: 14 additions & 0 deletions episodes/02-starting-with-data.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ source: Rmd
source("data/download_data.R")
```

:::: instructor

The two main goals for this lessons are:

- To make sure that learners are comfortable with working with data frames, and
can use the bracket notation to select slices/columns.
- To expose learners to factors. Their behavior is not necessarily intuitive,
and so it is important that they are guided through it the first time they are
exposed to it. The content of the lesson should be enough for learners to
avoid common mistakes with them.


::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Describe what a data frame is.
Expand Down
10 changes: 10 additions & 0 deletions episodes/03-dplyr.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,16 @@ source: Rmd
```{r setup, include=FALSE}
source("data/download_data.R")
```
:::: instructor

- This lesson works better if you have graphics demonstrating dplyr commands.
You can modify [this Google Slides deck](https://docs.google.com/presentation/d/1A9abypFdFp8urAe9z7GCMjFr4aPeIb8mZAtJA2F7H0w/edit#slide=id.g652714585f_0_114) and use it for your workshop.
- For this lesson make sure that learners are comfortable using pipes.
- There is also sometimes some confusion on what the arguments of `group_by`
should be, and when to use `filter()` and `select()`.

::::::::::::


::::::::::::::::::::::::::::::::::::::: objectives

Expand Down
8 changes: 8 additions & 0 deletions episodes/05-ggplot2.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ source: Rmd
source("data/download_data.R")
```

:::: instructor

- This lesson is a broad overview of ggplot2 and focuses on (1) getting familiar
with the layering system of ggplot2, (2) using the argument `group` in the
`aes()` function, (3) basic customization of the plots.

::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Produce scatter plots, boxplots, and barplots using ggplot.
Expand Down
8 changes: 8 additions & 0 deletions episodes/06-rmarkdown.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ source: Rmd
source("data/download_data.R")
```

:::: instructor

- This is an optional lesson intended to introduce learners to R Markdown.
- While it is listed after the core lessons, some instructors may prefer to teach it early
in the workshop, depending on the audience.

::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Create a .Rmd document containing R code, text, and plots
Expand Down
9 changes: 9 additions & 0 deletions episodes/07-json.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,15 @@ source("data/download_data.R")
library(tidyverse)
```

:::: instructor

- This is an optional lessons intended to introduce learners to JSON data, as well as how to
read JSON data into R and how to convert the data into a data frame or array.
- Note that his lesson was community-contributed and remains a work in progress. As such, it could
benefit from feedback from instructors and/or workshop participants.

::::::::::::

::::::::::::::::::::::::::::::::::::::: objectives

- Describe the JSON data format
Expand Down
10 changes: 7 additions & 3 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,11 @@ less time, and with less pain. The lessons below were designed for
those interested in working with social sciences data in R.

This is an introduction to R designed for participants with no
programming experience. These lessons can be taught in a day (~ 6
hours). They start with some basic information about R syntax, the
programming experience. These lessons can be taught in a half-day,
full-day, or over a two-day workshop (see
[Instructor Notes](https://datacarpentry.org/r-socialsci/instructor/instructor-notes.html)
for suggested lesson plans).
They start with some basic information about R syntax, the
RStudio interface, and move through how to import CSV files, the
structure of data frames, how to deal with factors, how to add/remove
rows and columns, how to calculate summary statistics from a data
Expand Down Expand Up @@ -42,7 +45,8 @@ everything *before* working through this lesson.
## For Instructors

If you are teaching this lesson in a workshop, please see the
[Instructor notes](https://datacarpentry.org/r-socialsci/instructor/instructor-notes.html)https://datacarpentry.org/r-socialsci/instructor/instructor-notes.html).
[Instructor notes](https://datacarpentry.org/r-socialsci/instructor/instructor-notes.html)
for helpful tips.


::::::::::::::::::::::::::::::::::::::::::::::::::
Expand Down
61 changes: 16 additions & 45 deletions instructors/instructor-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,57 +11,28 @@ SAFI Survey Results available on GitHub. The original data is on
This lesson uses `SAFI_clean.csv`. The direct download link for the data file is:
[https://raw.githubusercontent.com/datacarpentry/r-socialsci/main/episodes/data/SAFI_clean.csv](https://raw.githubusercontent.com/datacarpentry/r-socialsci/main/episodes/data/SAFI_clean.csv).

## Narrative
## Lesson Plans

### Before we start
The lesson contains much more material than can be taught in a day. Instructors will
need to pick an appropriate subset of episodes to use in a standard one day course.

- The main goal here is to help the learners be comfortable with the RStudio
interface.
- Go very slowly in the "Getting set up" section. Make sure everyone is following
along (remind learners to use the stickies). Plan with the helpers at this
point to go around the room, and be available to help. It's important to make
sure that learners are in the correct working directory, and that they create
a `data` (all lowercase) subfolder.
Suggested path for half-day course:

### Intro to R
- Before we Start
- Introduction to R
- Starting with Data

### Starting with data
Suggested path for full-day course:

The two main goals for this lessons are:
- Before we Start
- Introduction to R
- Starting with Data
- Data Wranging with dplyr
- (OPTIONAL) Data Wrangling with tidyr
- Data Visualisation with ggplot2

- To make sure that learners are comfortable with working with data frames, and
can use the bracket notation to select slices/columns.
- To expose learners to factors. Their behavior is not necessarily intuitive,
and so it is important that they are guided through it the first time they are
exposed to it. The content of the lesson should be enough for learners to
avoid common mistakes with them.

### Data wrangling with dplyr and tidyr

- This lesson works better if you have graphics demonstrating dplyr commands.
You can modify [this Google Slides deck](https://docs.google.com/presentation/d/1A9abypFdFp8urAe9z7GCMjFr4aPeIb8mZAtJA2F7H0w/edit#slide=id.g652714585f_0_114) and use it for your workshop.
- For this lesson make sure that learners are comfortable using pipes.
- There is also sometimes some confusion on what the arguments of `group_by`
should be, and when to use `filter()` and `select()`.

### Visualizing data with ggplot2

- This lesson is a broad overview of ggplot2 and focuses on (1) getting familiar
with the layering system of ggplot2, (2) using the argument `group` in the
`aes()` function, (3) basic customization of the plots.

### Getting started with R Markdown (Optional)

- This is an optional lesson intended to introduce learners to R Markdown.
- While it is listed after the core lessons, some instructors may prefer to teach it early
in the workshop, depending on the audience.

### Processing JSON data (Optional)

- This is an optional lessons intended to introduce learners to JSON data, as well as how to
read JSON data into R and how to convert the data into a data frame or array.
- Note that his lesson was community-contributed and remains a work in progress. As such, it could
benefit from feedback from instructors and/or workshop participants.
For a two-day workshop, it may be possible to cover all of the episodes. Feedback from
the community on successful lesson plans is always appreciated!

## Technical Tips and Tricks

Expand Down

0 comments on commit c479d93

Please sign in to comment.