Goals
The final project for EDS 214 is to create an analytical workflow to reproduce figure 3 of Schaefer et al. (2000). This project is your opportunity to gain and demonstrate competency in the learning goals of this course.
Milestones
Monday August 25th
Draft a flowchart that visually describes the plan for your analysis
Write spaghetti code that accomplishes some of the steps in your analysis
Tuesday August 26th
Draft documentation for your data and code
Cause a merge conflict
Wednesday August 27th
Resolve a merge conflict
Create GitHub Issues to describe and organize tasks
Merge changes using Pull requests
Thursday August 28th
Finish drafting your reproducible workflow
Perform a self-assessment and peer review to critique workflows
Friday August 26th
Submit your final project for instructor feedback
Incorporate feedback to refine your workflow
Celebrate completing EDS 214!
Specifications
Your final project will be assessed according to specifications spread across the five learning objectives. I will give you feedback on each specification and assess your work as Not yet or Meets spec. A few specifications (indicated in bold below) offer opportunities for Exceeds spec. You will have an opportunity to incorporate my feedback and move your assessments up a category.
What’s the difference between Meets and Exceeds spec? In brief, professionalism. To meet a spec, you have to demonstrate your competency. To exceed a spec, you have to demonstrate that competency as you would in the workplace. The difference is subjective and beauty is, admittedly, in the eye of the beholder. I suggest keeping the following in mind as you complete your final project:
You will have multiple opportunities to receive and incorporate feedback.
The bar for an A is exceeding two (2) specs in different learning objectives.
Learning the subjective difference between “good enough” and “professional quality” is an important outcome of this program!
Automate
[ ] Running the entire analysis requires rendering one Quarto document
[ ] The analysis runs without errors
[ ] The analysis produces the expected output
[ ] Data import/cleaning is handled in its own script(s)
Organize
[ ] Raw data is contained in its own folder
[ ] Intermediate outputs are created and saved to a separate folder from raw data
[ ] At least one piece of functionality has been refactored into a function in its own file
Document
[ ] The repo has a README that explains where to find (1) data, (2) analysis script, (3) supporting code, and (4) outputs
[ ] The README includes a flowchart and text explaining how the analysis works
[ ] The code is appropriately commented
[ ] Variable and function names are descriptive and follow a consistent naming convention
Scale
After cloning the repo on Workbench:
[ ] Running the environment initialization script installs all required packages
[ ] The analysis script runs without errors
Collaborate
[ ] The student has provided attentive, constructive feedback in a peer review
[ ] The student has contributed to a peer’s repo by opening an issue and creating a pull request
[ ] The repo has at least three closed GitHub issues
[ ] The commit history includes at least one merged branch and a resolved merge conflict
[ ] The rendered analysis is accessible via GitHub Pages