Mini-project 2
Live-coding a visualization for improvement
For this mini-project, you will live-code a visualization that you have previously submitted in this course, but this time with the goal of improving it based on feedback you received and what you’ve learned since then. Your task is to record yourself building the visualization, explaining your process and decisions along the way, and then write a short blog post highlighting the main takeaways from your video and final product.
Before you start recording, take some time to review the feedback you received and brainstorm the improvements you want to make and the story you want to tell. You should have a general idea of your visualization goal before hitting record, but the actual coding should be done live.
Dataset
You will use the same dataset(s) you used for the visualization you’re improving.
Make sure you place the dataset(s) in the data/ directory of your project repository.
Deliverables
Video
Record yourself live-coding a visualization improvement in Positron. Your video should be 10-15 minutes long and include the following:
Introduction (~1-2 minutes): Briefly introduce the visualization you’re improving, the dataset you’re using, and the question you’re trying to answer with your visualization. Also, mention what feedback you received on your original visualization and what improvements you plan to make in this version and why
Live coding (~8-12 minutes): Build your improved visualization step by step, explaining your thought process as you go. You do not need to start from scratch – you can copy and paste your original code as a starting point, but make sure to narrate your decisions and changes as you make them. Address any challenges or errors you encounter (don’t edit these out – they’re valuable learning moments!)
Wrap-up (~1-2 minutes): Show your final visualization and summarize what it reveals about the data and what you learned from the process of improving it.
Your video should not exceed 20 minutes.
Recording tips:
You can use any screen recording software you like. Zoom is accessible to everyone via Duke’s Zoom account. Start a new meeting, share your screen, and click “Record” to begin. You can record to the cloud or locally on your computer. Alternatively, you can use QuickTime, OBS, Loom, or any other screen recording tool you’re comfortable with.
Make sure your font size in Positron is large enough to be readable in the recording.
Speak clearly and narrate your thought process – pretend you’re teaching someone who is following along.
It’s okay to make mistakes and fix them on video; this is part of the learning experience. Do not edit out errors or challenges – showing how you troubleshoot is not only valuablae for your own learning but also for others who watch your video.
Blog post
Write a short blog post (approximately a 5 minute read) that accompanies your video. Your blog post should include:
Introduction: A brief overview of the visualization you’re improving and why you chose to improve it.
The visualization: Your final polished visualization.
Process highlights: Key decisions you made during the live-coding session, interesting challenges you encountered, and how you solved them. You don’t need to rehash everything from the video – focus on the most interesting or instructive moments.
Takeaways: What did you learn from the data? What did you learn about the visualization process?
Reflection: What have you done differently now that you’ve had more experience with data visualization and a second chance for improvement?
The blog post should be written in index.qmd in your repository.
Code
Your polished visualization code should be included in your blog post (in index.qmd) with echo: true so readers can see and learn from your code.
Workflow
- Clone your
mini-project-2-GITHUB_NAMErepo from the course GitHub organization. - Spend a bit of time exploring the dataset and brainstorming what you want to visualize.
- Record your live-coding session as you build your visualization in Positron in the
index.qmdfile. - Record your video and upload it to Duke Box, Google Drive, or YouTube (unlisted is fine).
- Include the link to your video in your blog post.
- Write your blog post in
index.qmd. - Commit and push your changes regularly.
- Make sure the GitHub action that renders your document passes.
Requirements
- You must use R and ggplot2 (primarily) for your visualization.
- All work must be done in Positron.
- Your visualization should go beyond a basic default plot – put thought into customizing it to effectively communicate your findings.
- The video must show live coding (not a pre-recorded voiceover of already-written code).
Due date
Blog post and video link: Monday, February 16 at 5 pm.
Grading
| Component | Points |
|---|---|
| Video quality and content | 30 pts |
| Blog post | 30 pts |
| Visualization quality | 20 pts |
| Code style and reproducibility | 10 pts |
| Engagement and depth | 10 pts |
| Total | 100 pts |
Video (30 points)
- Clear introduction of the visualization being improved, the dataset, the question being answered, feedback received, and planned improvements (5 pts)
- Explanation of thought process while coding (10 pts)
- Appropriate pacing and clarity of narration (5 pts)
- Handling of challenges/errors constructively (5 pts)
- Professional presentation – good audio quality, readable code, and clear visuals, running into errors while coding is fine (and expected), but the video should not be difficult to follow due to technical issues (5 pts)
There are no points allocated to fancy editing, just a clear and engaging live-coding session!
Blog post (30 points)
- Well-written introduction (5 pts)
- Thoughtful discussion of the improvement process and decisions (10 pts)
- Clear takeaways from the data (10 pts)
- Meaningful reflection on what was done differently with more experience (5 pts)
Visualization (20 points)
- Improved plot for the data and question (5 pts)
- Improved use of aesthetics (color, size, shape, etc.) (5 pts)
- Improved labels, legends, and titles (5 pts)
- Improved overall visual appeal and polish (5 pts)
Code style and reproducibility (10 points)
- Code is readable and well-formatted (3 pts)
- Follows tidyverse style conventions (3 pts)
- Document renders without errors (2 pts)
- Code is properly organized (2 pts)
Engagement and depth (10 points)
- Demonstrates genuine engagement with the data and the improvement process (5 pts)
- Shows learning and growth in visualization skills (5 pts)