Final Project
Goal
The goal of this project is for you to demonstrate proficiency in the areas of the data science lifecycle we’ve focused on:
- Acquire
- Wrangle
- Visualize
- Communicate
- Document
This project is intentionally open-ended. There is no limit on what tools or packages you may use, but you should demonstrate proficiency with the {tidyverse} tools that we’ve focused on in class. You should focus on data that was not accessible to you in previous stat classes.
Acquire
- Acquire data from at least 2 sources
- Acquire data using one of the advanced techniques discussed in class
- Consider the who, what, when, why, and how of your datasets, with particular attention given to the ethical considerations
- Work with a type of data that was not accessible to you as a Stat120 student (e.g. text, spatial, time series, network, etc.)
Wrangle
- Demonstrate proficiency with
joining data - Demonstrate proficiency with tidying data
- Demonstrate proficiency using non-numeric data types
- Geospatial data
- Text data
- Date/time data
- Factors
Visualize
- Create high-quality, customized graphics using R/ggplot
- Deliberately consider design choices, labelling, space, etc. - do not just use R/ggplot defaults
Communicate
You’ll communicate your findings through a final product produced in R:
- Website
- Interactive shiny app
- Slideshow
- etc.
Whatever product form you choose, I’ll be looking for a high degree of professionalism and polish.
Document
- All group members have a commit history on GitHub
- Code is well-documented and clean
- Project is organized and I can navigate your repo
Rubric
| Category | Criterion | Points | Point Breakdown |
|---|---|---|---|
| Acquire (15 pts) | Data Sources | 6 | 6 pts: Acquired data from at least 2 distinct and appropriately chosen sources. 3–5 pts: Data from only 1 source, or multiple sources that are not clearly distinct or well-integrated. 0–2 pts: No data acquisition or insufficient/inappropriate sources. |
| Data Context | 5 | 5 pts: Demonstrated thorough consideration of the “who, what, when, why, and how” for your chosen datasets, including data provenance (is it real from a verifiable source?). 3–4 pts: Consideration for most data context aspects, but some are unclear, missing, or not fully addressed. 0–2 pts: Little to no consideration of data context. |
|
| Advanced Techniques | 4 | 4 pts: Focused on a type of data not explicitly covered or easily accessible in Stat120, 230, or 250 (e.g., text, spatial, network, date/time beyond basic use) OR utilized one of the advanced acquisition techniques discussed in class (e.g., web scraping, API calls, database queries, iterating over files in a folder). 0 pts: Neither criterion met. |
|
| Wrangle (15 pts) | Joining/Combining Data | 5 | 5 pts: Demonstrated proficiency with complex joining/combining of multiple datasets where appropriate. 2–4 pts: Basic joining, minor issues, or limited demonstration of advanced proficiency. 0–1 pts: Joining/combining attempted but incorrect, or not performed when necessary. |
| Tidying Data | 5 | 5 pts: Demonstrated strong proficiency with effective and appropriate tidying data. 2–4 pts: Some tidying performed but not fully effective, inefficient, or has minor flaws. 0–1 pts: Tidying issues or did not demonstrate. |
|
| Data Wrangling | 5 | 5 pts: Demonstrated strong proficiency in using and manipulating data of multiple types (e.g., numeric, text, spatial, date/time, factor). 2–3 pts: Non-numeric data types present but their manipulation in wrangling is basic, has minor flaws, or not fully utilized. 0–1 pts: Non-numeric data types ignored or handled incorrectly. |
|
| Visualize (15 pts) | High-Quality, Customized Graphics | 10 | 10 pts: Created high-quality, professional, and customized graphics using ggplot2 that are clear, effective, and appropriate for the data and message. 6–9 pts: Graphics lack significant customization, have minor quality issues, or are not fully appropriate. 0–5 pts: Graphics are basic, unclear, incorrect, insufficient, or contain significant flaws. |
| Interactive Components / Shiny App | 5 | 5 pts: Graphs contain multiple effective and well-integrated interactive components (e.g., plotly, leaflet, etc.) OR the entire product is presented as a fully functional and interactive Shiny application. 2–4 pts: Attempted interactive components or a Shiny app, but they are limited in functionality, buggy, or not fully integrated into the project’s narrative. 0–1 pts: No interactive components or Shiny app included (unless an exception for static format was pre-approved by the instructor). |
|
| Communicate (15 pts) | Online Publication & Audience Pitch | 3 | 3 pts: The final product is successfully published online (Quarto Pub or ShinyApps) AND is clearly pitched toward a public audience. 1–2 pts: Published online but the pitch to a public audience is unclear, or there are minor issues with online publishing. 0 pts: Not published online, or major issues with pitching/accessibility. |
| Submission Quality Standards | 12 | 12 pts: No grammatical mistakes, spelling mistakes, or typos; all graphs are perfectly readable with appropriate, clear labels, titles, and legends; rendered document is clean (no unnecessary output); graphs are customized and aesthetically appropriate within the document’s theme. Extremely polished, highly customized, and demonstrates outstanding attention to detail. 5–11 pts: Minor errors or inconsistencies. Professional/well-presented but lacks significant customization or polish. 0–5 pts: Does not demonstrate a notably high level of polish and professionalism. |
|
| Document (10 pts) | GitHub Commit History | 3 | 3 pts: All group members have a repeated, substantial, and meaningful commit history on GitHub, clearly demonstrating collaborative contribution. 1–2 pts: Most members have commit history, but some contributions are minor/inconsistent. 0 pts: Significant lack of commit history for one or more group members. |
| Code Documentation & Cleanliness | 3 | 3 pts: The underlying R code follows style guidelines; is clean, readable, and follows good coding practices. 1–2 pts: Code is partially commented/clean, or has minor readability issues. 0 pts: Code is poorly documented, messy, or difficult to follow. |
|
| Project Organization | 2 | 2 pts: The overall project repository is exceptionally well-organized (e.g., logical folder structure, clear file names, all necessary files included and in correct locations). 1 pt: Organization is mostly logical but has minor inconsistencies, redundant files, or missing elements. 0 pts: Poorly organized, difficult to navigate, or essential files are missing/misplaced. |
|
| README Content | 2 | 2 pts: The README.md file contains a direct link to your published project, and a concise and informative technical summary. 1 pt: README.md is missing one or more required components, or components are incomplete/unclear. 0 pts: README.md is missing or contains very little information. |
|
| Project Demo (15 pts) | 15 | See Project progress demos section | |
| Peer Review (10 pts) | 10 | 10 pts: Completed thoughtful reviews for all groups on non-presentation day. 1-9 pts: Did not complete all reviews, or did not complete reviews with a minimal level of care. 0 pts: Submitted no reviews. |
|
| Forms (5 pts) | 5 | 5 pts: Completed project ranking form on time. 0 pts: Did not complete form on time. |
|
| Total | 100 | ||
| Excellent | 85+ | ||
| Successful | 70+ |
Final Project Submission
You should submit a link to your final GitHub repo to Gradescope by 9:30pm on the last day of the finals period (which is the end of finals period - by college policy I cannot take submissions after this point). I will start by looking at your README.md, which should contain:
- A link to your published project (rpubs or shinyapps)
- A technical overview of what you did for your project
- Please indicate to me what your primary accomplishments were for each of the “acquire”, “wrangle”, “visualize”, and “communicate” goals.
- If there are any specific features that you would like me to look at when grading, please tell me if it is not already clearly indicated in your app
- You can use the rubric for some ideas of what to mention
- How to navigate your repo (where is your data? where is your report file? do you have any other R scripts that you used?)
Milestones
- Week 10: Project progress demos and peer feedback
- Approximately 6 minute slideshow presentation or other demo (e.g. shiny app demo if interactive component already completed)
- Overview of data and research questions
- 2-3 static graphs or summary tables
- Outline of interactive component or additional technical work to be done
- Final project due: end of finals period
The progress demo and peer feedback components will make up part of your final grade. Your demo by no means needs to be perfect - I am (and you should be) looking for you all to make an honest, hard effort to have some parts of the project done so that you can actually get valuable feedback from your classmates. We should be able to see that you have already done meaningful work and have some plan of what to continue working on for the rest of the week, even if there are open questions about potential future paths.
Project progress demos
You should prepare a 6 minute presentation of your progress so far on the final projects. This presentation will make up 15% of your final project grade. Please focus on:
- The data you’ve gathered/will gather
- Your research questions
Your presentation should include:
-
- Are the sources trustworthy?
- Is the data real/accurate?
- Did you need to use any scraping/APIs/etc. to access the data?
-
- What are the variables? What are the cases?
- What is the level of detail/aggregation?
- Does the data contain non-standard formats discussed in class? (text, spatial, time, etc.)
-
- Why are these questions fun/interesting/important to answer?
- Is it clear that they are answerable with the data you have?
-
- These should provide more context to your data (e.g. distributions or comparisons)
- and/or begin to answer your research questions
- Should be polished and easy to read/understand
- If you have done a substantial amount of data gathering/cleaning work and would prefer to discuss that, it’s OK to include only 1-2 static graphs or tables.
-
- Are you adding interactivity?
- Do you have additional data gathering to do?
Each group has a 10 minute slot for the presentation (~6 minutes) questions (~2 minutes) and transitions (~2 minutes). I will cut presentations off at 8 minutes, leaving less time for questions and feedback.
I will circulate a peer feedback google form before the presentations. You will give each other feedback on what each project has done well, and what are some potential areas to focus on before the final version is submitted. The point is not to present a finished product, but to gather ideas and feedback before moving into the final stage of the project.
You are welcome to provide feedback to all of the groups, but are only required to complete the form for the groups presenting on your non-presentation day. I also expect everybody to ask at least one question during the Q&A period over the two days. These aspects of participation will be a part of your final project grade.
Project Demos schedule (TBD)
If your group would like to switch with another group, just let me know. If your group needs to present on the other day but you do not have a group to switch with, let me know ASAP.