Skip to content

Commit

Permalink
docs: update project assignment to be clearer and simpler.
Browse files Browse the repository at this point in the history
Closes #17
  • Loading branch information
lwjohnst86 committed Jan 1, 2024
1 parent 942918c commit 655cd61
Showing 1 changed file with 56 additions and 67 deletions.
123 changes: 56 additions & 67 deletions appendix/assignment.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ group will take what you learn in the course and apply it to create a
reproducible project. This project, based on a simple data analysis of a
dataset of your choice, will have a GitHub repository and an HTML
document as a report to demonstrate the reproducibility of the analysis.
The dataset **cannot be the same** as the one we used in class, and it
must be an open dataset obtained from an online archive. We list several
that are tidy enough to start working from.
The dataset **cannot be the same** as the one we used in class and must
be one of the ones listed below. The datasets we've selected are tidy
enough to start working on without too much wrangling.

During the last session of the course you will work on this assignment.
In the last \~20 minutes of this session, the lead instructor will
Expand All @@ -16,16 +16,11 @@ that it is reproducible.

## Specific tasks

Throughout the course, there are a few activities and exercises that you
will work on together as a group. However, it is during the last session
where you will work together to complete this assignment by applying the
skills taught during the course.

It is important to note that you will be using Git and GitHub to manage
your group assignment. We will set up the project with Git and GitHub
for you so you can get right to collaborating together on the project.
You will be pushing and pulling a lot of content, so you will need to
maintain regular and open communication with your team members.
You will be collaborating as a team using Git and GitHub to manage your
group assignment. We will set up the project with Git and GitHub for you
so you can quickly start collaborating together on the project. You will
be pushing and pulling a lot of content, so you will need to maintain
regular and open communication with your team members.

Your specific tasks are:

Expand Down Expand Up @@ -57,9 +52,9 @@ Your specific tasks are:
3. Assign one team member to **download the dataset** and put it into
the `data-raw/` folder of your project.

- For the GitHub-linked datasets above, you should be able to
click on the "Raw" or "Download" buttons, then use the keyboard
shortcut (`Ctrl-S`) to save the page (as a `.csv` file).
- Create this `data-raw/` folder by running
`usethis::use_directory("data-raw")` in the Console while in
your group's R Project.
- If there is any documentation on the dataset, e.g. variable
definitions, put those files in the `data-raw/` folder as well.
- This team member should then add and commit the new file(s) in
Expand All @@ -68,66 +63,62 @@ Your specific tasks are:
- Next, have all team members pull the new changes to their own
computers.

4. **Use the created `data-raw/original-data.R` script to clean up and
prepare the raw dataset** (as covered in @sec-wrangling). A
(strongly) suggested way of working here is to assign one team
member as the "coder" and as a group discuss and decide on how to
clean up the data by telling the "coder" what to do. After you've
cleaned it up enough that you as a group are satisfied, save the new
dataset in a folder called `data/` with `readr::write_csv()`. The
coder should eventually add and comment these changes to the data
before pushing to the team GitHub repository so the other members
can access the data too. *Reminder*: You load in data with
`read_csv()` like we've done in the `setup` code chunk in the Quarto
file.

5. **Create a Quarto file** named `report-YOURNAME.qmd` (replacing
`YOURNAME` with your actual name) in the `doc/` folder of your
project (covered in @sec-reproducible-documents). This means that
each team member will have their own document to work in without
conflicting with the other team members. **Note**, if there are
several members with the same name, make sure your `qmd` documents
are unique (for instance, by using your full name). Distribute the
tasks (listed below) so each team member is (mostly) doing something
different, like doing some simple analyses of the dataset, making
figures (as covered in @sec-visualization), and so on. Keep using
the "Git workflow" by adding to the staged area, commit, push, and
pull the changes you've made. You may end up with some merge
conflicts (described in @sec-merge-conflicts), ask instructors or
helpers for support to resolving them.
4. **Each team member creates a Quarto file** named
`report-YOURNAME.qmd` (replacing `YOURNAME` with your actual name)
in the `doc/` folder of your project (covered in
@sec-reproducible-documents). This means that each team member will
have their own document to work in without conflicting with the
other team members. **Note**, if there are several members with the
same name, make sure your `qmd` documents are unique (for instance,
by using your full name).

- Create section headers (e.g. `# Results`, `## Tables`,
`## Figures`, and `# Discussion`).
- Create at least one table in the report that is generated from
the data.
- Create several different figures of your data.
- Try to "render" your document to HTML often, to make sure the
analysis is reproducible.
- **Note**: For now, *do not* add and commit the HTML output file.
- For each team member's `.qmd` file, include a `setup` code chunk
at the top that lists the packages used. Include code to import
your data here.

- Create a few figures of the data. Discuss with your team what
figures to create and divide which figures to make between your
team members.

- Create at least one table. Discuss with your team what table to
make, if you want to create more than one, and assign who will
create it.

- When making both the figures and the tables, make sure to
incorporate some data wrangling code from `{dplyr}`.

6. Once you as a group are happy with the results, each team member
should **write in the "Discussion" section of their report file** a
few sentences on some things you liked about doing the project with
the tools you learned and a few sentences on some challenges you
experienced. Add any thoughts that you as a group came up with as
well.
- Use the "Git workflow" by adding to the staged area, commit,
push, and pull the changes you've made.

7. Assign one team member as the "report coordinator" and have them
- Make sure to "render" your document to HTML often to ensure it
is always reproducible.

- **Note**: For now, *do not* add and commit the HTML output file.

5. Assign one team member as the "report coordinator" and have them
**merge all the individual `report-YOURNAME.qmd` into one
`report.qmd`** file on their computer (after having everyone push,
and the coordinator will pull). They do this by copying and pasting
the content of the reports into the appropriate sections of the
the content of the reports into section headers (using `##`) in the
report. After they are done, add and commit the `report.qmd`.
Lastly, delete all the report files *except* the `report.qmd` and
add and commit these deleted files to the Git history. There should
only be the `report.qmd` file in the repository.

- Create section headers (e.g. `# Results`, `## Tables`,
`## Figures`, and `# Discussion`).

- As the report coordinator merges the report file, assign another
team member to update the `README.md` file with some details
about the project and about who was on the team. Save, add,
commit, and push these changes to the GitHub repository.

8. **Generate an HTML of the report** and commit it to Git, then push
- Once there is one report, as a group discuss and write a few
sentences in the "Discussion" section of their report file on
some things you liked about doing the project with the tools you
learned and a few sentences on some challenges you experienced.

6. **Generate an HTML of the report** and commit it to Git, then push
it up to GitHub. Include all the updated code and files on GitHub
for the presentation.

Expand All @@ -144,13 +135,11 @@ them on the screen for each team to present on.
## Quick "checklist" for a good project

- Project used Git and is on GitHub.
- Included a good README describing the project and the team.
- Separated "raw data" from "cleaned data".
- Used scripts to clean the data.
- Included R code within a Quarto file to show results and make
figures.
- Went over challenges and general experiences.
- Generated an HTML file from a Quarto file.
- Included a README with some basic details.
- Used Quarto for making figures and tables.
- Added some basic challenges and general experiences in the
discussion section.
- Generated a final HTML file from a single `report.qmd` Quarto file.

## Expectations for the project

Expand Down

0 comments on commit 655cd61

Please sign in to comment.