The Process

Here’s how to submit a homework assignment:

  1. Start a new project in RStudio homwork project. Open RStudio. Click File > New Project. Then click New Directory and New Project. Check the boxes for Create git repository and Open in new session. Name the directory hw** (replace ** with the assignment number, 01, 02, etc.). Create the project as a subdirectory of wherever you like (perhaps as a subdirectory of pos5737/homework/ for example), but be consistent.
  2. Initialize git. Open hw** in GitHub Desktop by clicking File > Add local repository and selecting hw** (remember, ** is the assignment number). You’ve just initialized everything, so type “Initialize project” in the summary. Stage both .gitignore and hw**.Rproj by checking the boxes next to those files. Commit these changes by clicking the blue Commit to master button near the bottom. That’s your first commit. Yay!
  3. Publish to GitHub. Click the Publish to GitHub button in the upper-right corner. In the Name box, type hw**-jane-doe, replacing ** with the homework number, jane with your first name and doe with your last name. Check the box to Keep this code private. For organization, choose pos5737. Click the blue Publish Repository button. You’ve just created a repo on GitHub and pushed your local files there. You should be able to find your files on GitHub now.
  4. Do the assignment. Use good version control practices along the way: complete small chucks of the assignment and commit the change with a good commit message. Remember to change-review-commit-push. Make sure you add all the necessary files along the way. For example, don’t forget to add the .md file created by knitr from the .Rmd file.
  5. Review your final product carefully on GitHub. Review your work on GitHub to make sure it seems complete and correct. Make sure that you can see all the files. Make sure that any documents render well. Make sure that any .Rmd output documents are not littered with unnecessary output, warnings, or error messages.
  6. Request reviews. Start an issue ticket on GitHub in your repo for this assignment: go to our POS 5737 GitHub organization, click your repo (hw**-jane-doe), click the Issues tab, and click the New Issue button. Title the issue ticket “Review Homework ** for Jane Doe.” The body should contain the (1) SHA of your latest commit (i.e., the long sequence of characters associated with your latest commit), (2) links to the file(s) you want others to review, and (3) tags for @carlislerainey, TA, and your assigned reviewer. See an example.

The Rubric

I borrowed this rubric below largely from the rubric for Jenny Bryan et al.’s UBC STAT 545 class.

Topic Excellent: exceeds expectations. Satisfactory: meets expectations Needs work: fails to meet expectations
Substantive claims Offers detailed comments about the political process they consider. References additional literature. References additional relevant literature. Clearly and creatively connects the data, the literature, and their substantive claims. Makes clear substantive claims. Connects their claims to the data and literature as expected. Makes vague substantive claims and/or fails to clearly or correctly connect their claims to the data or literature.
Coding style Follows style guide. Comments code clearly, carefully, and thoughtful. Makes code easy to read and understand. Uses a coding style lacks refinement and has some errors, but remains readable with has some comments Uses no apparent style. Seems to pay little attention to making the code human readable.
Coding strategy Breaks complicated problem into individually simpler sub-problems. Uses efficient, correct, and minimal code. Uses appropriate data structure (usually data frames). Uses correct code, misses obvious opportunities to simply. Uses some “hacking.” Tackles complicated problem in one big chunk. Uses code blocks repetitively.
Presentation: graphs Carefully tunes graph(s) for desired purpose. Uses one graph to illustrate one point. Designs graph(s) for desired purposes, but with some problem(s): inappropriate aspect ratios, poor labels, suboptimal comparisons, etc. Fails to design graph(s) for the desired purpose.
Presentation: tables Constructs table(s) carefully to make it easy to perform important comparisons. Styles table(s) carefully, perhaps with the kable and kableExtra package, to highlight important features. (Reviewers: Note that .tex documents offer more room for customization that .md documents.) Designs generally appropriate table(s) with some minor formatting deficiencies. Uses poorly-styled table(s). Uses table(s) that have a sloppy style, or do not facility relevant comparisons, and do not clearly connect to the substantive claims.
Achievement, mastery, cleverness, creativity Demonstrates extraordinary effort, uses additional tools not addressed by this course, or uses tools from course with unusual skill. Applies tools and techniques from the course competently and, perhaps, somewhat creatively. Accomplishes task. Fails to display the expected mastery of the tools and techniques in this course.
Ease of access for instructor, compliance with course conventions for submitted work Made access easy. Submitted code that runs. Made code available and followed conventions, but missed opportunities to make access easier. Submitted code that runs. Did not make an earnest effort to reduce friction and comply with conventions, or submitted code that does not run.

The Grading

To assign a score, the TA will use their judgment to aggregate the discussion from the three reviews (and any changes) into an overall score:

Points Descriptions
1.25 exceeds expectations
1 meets expectations
0.5 fails to meet expectations
0 unacceptable

Creative Commons License
Carlisle Rainey