Learning Objectives

The overall goal of this course is to develop a workflow for producing scientific manuscripts using RStudio and GitHub.

The following is a reference list of the assessed and unassessed learning objectives you will work to demonstrate in the mini-projects and research project. Refer to the grading policy and alternative assessment overview for information about how these objectives are used to determine your grade.

Assessed objectives

These 30 objectives are assessed in the mini-projects and research project. Each objective is worth 1 point toward your final grade. All 30 must be demonstrated in the final project. At least 20 unique objectives must be demonstrated in mini-projects.

GitHub and RStudio

  1. Create and maintain a repo with sensible organization and naming conventions
  2. Maintain an informative and up-to-date README.md
  3. Integrate a GitHub repo with an R studio project, including .gitignore file
  4. Effectively use version control

R programming

  1. Find, install, require, and load R packages
  2. Use arithmetic, comparison, and logical operators
  3. Parse and define functions and arguments
  4. Parse and write conditional statements and/or loops

Tidyverse

  1. Use readr functions to read in and write out data
  2. Use dplyr and tidyr functions to transform data
  3. Use stringr functions to work with string variables
  4. Use forcats functions to work with factor variables

Data visualization with ggplot2

  1. Produce 1- and 2-variable plots with geom_* layers
  2. Use dynamic aesthetics to group data
  3. Use facets to create parallel plots
  4. Create publication-quality plots using theme and labs layers

Data analysis

  1. Perform simple descriptive analyses with multiple data types
  2. Perform simple hypothesis testing analyses for multiple data types
  3. Present and interpret statistics in manuscript narrative

BibTeX

  1. Render APA7 in-text citations with BibTeX syntax for multiple citation forms
  2. Render an APA7 references page from a .bib file

Notebooks and code chunks

  1. Create and effectively use code chunks following best practices
  2. Use code chunks to set up a quarto document
  3. Render publication-quality tables, figures, and images from code chunks
  4. Execute descriptive analyses and/or hypothesis testing in code chunks

R Markdown and Quarto

  1. Create and maintain a quarto document YAML header
  2. Use quarto R Markdown to compose an academic manuscript
  3. Use inline R variables to replace static text
  4. Run inline R functions to render dynamic data-dependent text
  5. Use knitr and quarto to produce an APA7 formatted 1-click PDF manuscript

Unassessed learning objectives

The following learning objectives are not required for the course grade but are important for your development as a researcher. They may be demonstrated in the mini-projects as part of the additional 20 points earned beyond the 20 for unique, assessed objectives.

You are not required to demonstrate these objectives in your research project, but incorporating them can enhance the overall quality of your project and add to the engagement component of the project grade.

Troubleshooting, debugging, and best practices

  1. use frequent, informative comments in code and markdown
  2. find and understand documentation for R packages and functions
  3. follow a debugging workflow with independent and collaborative strategies
  4. parse and investigate error messages
  5. follow a coding style guide

RStudio & R

  1. customize RStudio
  2. use BibTeX with citr and Zotero integration
  3. parse and write for and while loops
  4. create and use intermediate datasets
  5. source .R scripts

Conceptual skills

  1. explain and apply the “grammar of graphics”
  2. name and differentiate R data types
  3. name and differentiate R objects
  4. define “tidy” data and explain its advantages and disadvantages
  5. recognize and interpret common data visualizations
  6. determine most appropriate visualizations and analyses for specific research questions and data