Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
diazrenata committed Sep 20, 2024
2 parents 4880584 + fb5681f commit 04f9f30
Show file tree
Hide file tree
Showing 20 changed files with 137 additions and 36 deletions.
8 changes: 3 additions & 5 deletions _freeze/index/execute-results/html.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion _freeze/site_libs/revealjs/dist/theme/quarto.css

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions colloquium.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: "Reproducibility Colloquium"
---

The [final session](index.qmd#schedule) of this workshop series is our ✨**Reproducibility Colloquium**✨, where you all get a chance to share what you've learned with each other and anyone you'd like to invite to attend.
You are invited to give a short (about 5min) talk with slides (about 5).
To make this as low stakes as possible, here is an outline you may follow when putting together your presentation.

::: callout-important
For each slide, you don't need to address **all** of the bullet points—focus on what is relevant for the specific aspects of your project you focused on!
:::

::: callout-note
Feel free to adapt this outline—add or remove slides as fits your project.
:::

- Slide 1: Super short description of your project for a ***general audience.***[^1]
- Slide 2: Describe the data and code components of your project.
- What data types/sources do you work with?
- Hand-collected field data? A data compilation? Instrument data?
- Data type (e.g., numeric, survey responses, DNA sequences, geospatial)?
- File types and sizes?
- What computational tools are you using, and what are you using them for?
- e.g. Excel for data entry; R for data cleaning and analysis; Illustrator for polishing figures
- Slide 3: Which aspects of the project did you focus on improving? What was the state of the project before the "makeover"?
- e.g. "I focused on transitioning to using git for version control; previously, I was saving my scripts with a new name each time I worked on them."
- Screen shots of the "before" are encouraged as visuals
- Slide 4: What changes did you make as part of the "makeover"?
- Why did you focus on these?
- How did you implement the changes?
- Screen shots of the "after" are encouraged as visuals
- Slide 5: Reflections
- What are you most proud of about this?
- Did you run into any challenges?
- What do you see as the next steps?

[^1]: This is a good opportunity to practice an elevator pitch!
Try to keep it to just a couple sentences—just enough background to give some context to your data and code.
The goal of the presentation is to focus on your project organization and reproducibility, *not* the details of your research topic.
3 changes: 1 addition & 2 deletions index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ Welcome to the syllabus for the CCT Data Science fall workshop series: **Reprodu

We'll meet on Tuesdays and Thursdays from 11am to 1pm via Zoom (link pinned in Slack channel)


<!-- Edit by editing schedule.csv. To add links, use markdown [text](url) separated by commas. This code turns that into a bulleted list.-->
<!-- Edit by editing schedule.csv. To add links, use markdown [text](url) separated by commas. This code turns that into a bulleted list. -->

```{r}
#| echo: false
Expand Down
4 changes: 3 additions & 1 deletion lessons/1-project-management/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Project Management and Documentation"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
4 changes: 3 additions & 1 deletion lessons/10-get-credit/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Getting Credit For Your Hard Work"
format: html
format:
html: default
typst: default
bibliography: references.bib
---

Expand Down
4 changes: 3 additions & 1 deletion lessons/11-getting-help/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Getting help"
format: html
format:
html: default
typst: default
---

[Slides](slides.qmd)
Expand Down
3 changes: 3 additions & 0 deletions lessons/12-drop-in/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: "Drop-in / Q&A"
format:
html: default
typst: default
---

We asked learners to vote on the following topics for a mini-lesson for the last session before the show-and-tell session:
Expand Down
4 changes: 3 additions & 1 deletion lessons/2-markdown-quarto/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Documentation and Literate Programming"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
4 changes: 3 additions & 1 deletion lessons/3-shell/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Using the Shell"
format: html
format:
html: default
typst: default
---

## Objectives
Expand Down
20 changes: 12 additions & 8 deletions lessons/4-git/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Version control with git"
format: html
format:
html: default
typst: default
---

## Objective
Expand All @@ -24,10 +26,10 @@ format: html
- SW Carpentry Git lesson 2 https://swcarpentry.github.io/git-novice/02-setup
- Setting up git using git config
- Make sure participants use their GH email/intended GH email
- `git` `verb` `options`
- `git config --global core.editor "vim"`
- `git` `verb` `--help`
- Live coding: git init
- `git` `verb` `options`
- `git config --global core.editor "vim"`
- `git` `verb` `--help`
- Live coding: git init
- SW Carpentry Git lesson 3 https://swcarpentry.github.io/git-novice/03-create.html
- Introduce the concept of a repository
- Go over 3 ways to init a git repo and when to use each
Expand All @@ -49,8 +51,8 @@ format: html
- Live coding: `.gitignore`
- SW Carpentry Git lesson 6https://swcarpentry.github.io/git-novice/06-ignore
- .gitignore:
- `DS_Store`
- Create a file and then ignore it.
- `DS_Store`
- Create a file and then ignore it.
- (Time permitting): SW Carpentry Git lesson 5
- https://swcarpentry.github.io/git-novice/05-history
- Navigating git history
Expand All @@ -67,6 +69,7 @@ format: html
5. [Software Carpentry Version Control with Git episode #6](https://swcarpentry.github.io/git-novice/06-ignore)
6. (optional) [Software Carpentry Version Control with Git episode #5](https://swcarpentry.github.io/git-novice/05-history)

```{=html}
<!---
## Notes from before
Expand Down Expand Up @@ -97,4 +100,5 @@ Warm up with the review question in slide deck.
Create a GitHub account if you don't already have one.
For an extra challenge, identify an existing folder and turn into a repository.
--->
--->
```
4 changes: 3 additions & 1 deletion lessons/5-github-basics/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Developing Code on Github"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
22 changes: 22 additions & 0 deletions lessons/5-github-basics/slides.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ bibliography: references.bib

The most common git commands can be used with the RStudio GUI.

::: notes
Demo save, add, commit cycle with Git pane AND git menu in RStudio
:::

## Sharing with GitHub

![](github-diagram-bryan.png){fig-align="center" width="671"}
Expand All @@ -57,11 +61,25 @@ Figure 2 from [@bryan2018]
- Connect your local git repo to a remote GitHub repo with `use_github()`
- Explore the GitHub interface

::: notes
Demo "starting from scratch" by running `gitcreds::gitcreds_delete()`.
Remember to delete the PAT you create and show on camera.\

\
Remind learners that repos can be private.
`use_github(private = TRUE)`
:::

## Work With RStudio and GitHub (Live Coding)

- Push local changes to GitHub
- Pull GitHub changes to local

::: notes
Demo save, add, commit, push and check GitHub for changes.
Then, edit README on github and pull changes.
:::

## Ignoring files {.smaller}

::: incremental
Expand Down Expand Up @@ -91,6 +109,10 @@ Can use .gitkeep to get git to track an empty folder.
- Put your research compendium on GitHub (e.g. with `use_github()`) and share the link in our Slack channel (if it can be made public)
- Explore other research compendia shared in Slack

::: notes
If there is extra time, encourage learners to use it to practice these new skills with a *real* project repo while you're all still there to help troubleshoot.
:::

## References

::: refs
Expand Down
5 changes: 4 additions & 1 deletion lessons/6-github-collab/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: "Collaborating with GitHub"
format: html
format:
typst:
output-file: "lesson-6-notes.pdf"
html: default
---

## Objective
Expand Down
29 changes: 22 additions & 7 deletions lessons/6-github-collab/slides.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Ask for a volunteer and give them permission to push to a repo

## Example repo

- Everyone practice cloning this example repo as a new RStudio project: <https://github.com/cct-datascience/repro-workshop-demo> [^1]
- Everyone practice cloning this example repo as a new RStudio project: <https://github.com/cct-datascience/demo-repo-2024> [^1]

- Need **one** volunteer to edit the README.md and practice commit + push

Expand Down Expand Up @@ -92,19 +92,19 @@ git config --global pull.rebase false

![](merge_conflict.png)

- Resolve the conflict however you want (i.e. keep one of the two sections)
1. Resolve the conflict however you want (i.e. keep one of the two sections)

- Delete all lines with `<<<<<<<`, `>>>>>>>`, or `=======`
2. Delete all lines with `<<<<<<<`, `>>>>>>>`, or `=======`

- Save and commit
3. Save and commit

::: notes
Let's have a round of applause for our volunteer!
:::

## Avoid merge conflicts by working on branches

Each person works on a "branch"---an independent series of commits that can be merged back into the "main" branch.
Each person works on a "branch"an independent series of commits that can be merged back into the "main" branch.

```{mermaid}
gitGraph
Expand All @@ -129,10 +129,25 @@ gitGraph

- Make a new branch using RStudio's Git pane (for this demo, use your name)

- Commit changes and push to your branch
- Make some edits (e.g. to README.md), save, add, commit.

- You can go back to the "main" version of your project at any time.

::: notes
Demonstrate how switching branches changes the files on their computer.
Hammer home that this is why it is a bad idea to use git for projects on shared drives.
:::

## Working on a Branch

- Push your branch to GitHub

- View changes on GitHub

::: notes
Show how to look at different branches on GitHub
:::

## Pull Requests

A request to merge changes into the main branch
Expand Down Expand Up @@ -187,7 +202,7 @@ Learn more, including handy `usethis` shortcuts: <https://happygitwithr.com/fork
::: callout-tip
## Exercise

In pairs, practice **forking** and **cloning** a demo repo you do *not* have permission to push to.
In pairs, practice **forking** and **cloning** a demo repo you do *not* have permission to push to: <https://github.com/cct-datascience/demo-repo-fork-2024>.\
Make a new branch, make commits, and make a pull request to the upstream repo.
:::

Expand Down
4 changes: 2 additions & 2 deletions lessons/7-data-manipulation/lesson_script.R
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ penguins_data <- penguins

write.csv(
penguins_data,
"lessons/7-data-manipulation/data_raw/penguins_data_raw.csv",
"penguins_data_raw.csv",
row.names = F
)

Expand Down Expand Up @@ -142,7 +142,7 @@ ggplot(penguins_coords, aes(longitude, body_mass_g, color = species)) +

#### Modify - add - commit ####

# adds penguins + penguins_long to repo
# adds penguins_data_raw repo
# commit and push

#### Palmer penguins citation ####
Expand Down
4 changes: 3 additions & 1 deletion lessons/7-data-manipulation/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Data manipulation"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
4 changes: 3 additions & 1 deletion lessons/8-intermediate-r-1/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Intermediate R programming I"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
4 changes: 3 additions & 1 deletion lessons/9-intermediate-r-2/notes.qmd
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
title: "Intermediate R programming II"
format: html
format:
html: default
typst: default
---

## Objective
Expand Down
2 changes: 1 addition & 1 deletion schedule.csv
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ Lesson,Date,Theme,Topic,Links,Notes
9,2024-10-01,Repeat & Reproduce,Intermediate R programming II,,iteration (and anonymous functions)
10,2024-10-03,Document & Publish,Getting credit for your hard work,,"renv, LICENSE, CITATION.cff, Zenodo, GitHub releases"
11,2024-10-08,Review,Drop-in co-working,,
12,2024-10-10,Reproducibility Colloquium,An opportunity for you to show off what you've learned,,
12,2024-10-10,Reproducibility Colloquium,An opportunity for you to show off what you've learned,[guidelines](colloquium.html),

0 comments on commit 04f9f30

Please sign in to comment.