This content is from the fall 2016 version of this course. Please go here for the most recent version.

The final project will be an application of computational social science which incorporates concepts and methodological approachs from throughout the quarter. These projects are expected to tackle a relevant research question in the social sciences. Projects will be completed either individually or in a group of up to 3 students; the larger the group, the higher the expectations.

Rather than a traditional term paper, the end product will take the form of a website created using RMarkdown and Github Pages. This website will present your analysis and findings. Students are expected to present their results primarily using data visualizations, with supplementary text explaining your methodology, reporting other statistical findings, and providing additional information as needed to explain your results.

Your project must utilize skills and methods covered during the quarter. Project components include:

You do not need to incorporate all of these components, but should select a healthy number to demonstrate your computational skills. All projects are expected to include the components in bold, and include additional components based on your research question. For instance, if your seek to assess public attitudes towards the U.S. presidential candidates, you will need to use the Twitter API to collect your data and sentiment analysis to analyze the text. If you want to explore what factors influence a voter’s choice in presidential elections, you might munge and clean data from the American National Election Study and use statistical modeling or machine learning to determine factors relevant to vote choice.

Examples of websites built using RMarkdown

Evaluation criteria

Topic Excellent Satisfactory Needs work
Coding style Student has gone beyond what was expected and required, coding manual is followed, code is well commented Coding style lacks refinement and has some errors, but code is readable and has some comments Many errors in coding style, little attention paid to making the code human readable
Coding strategy Complicated problem broken down into sub-problems that are individually much simpler. Code is efficient, correct, and minimal. Code uses appropriate data structure (list, data frame, vector/matrix/array). Code checks for common errors Code is correct, but could be edited down to leaner code. Some “hacking” instead of using suitable data structure. Some checks for errors. Code tackles complicated problem in one big chunk. Code is repetitive and could easily be functionalized. No anticipation of errors.
Presentation: graphs Graph(s) carefully tuned for desired purpose. One graph illustrates one point Graph(s) well chosen, but with a few minor problems: inappropriate aspect ratios, poor labels. Graph(s) poorly chosen to support questions.
Presentation: tables Table(s) carefully constructed to make it easy to perform important comparisons. Careful styling highlights important features. Table(s) generally appropriate but possibly some minor formatting deficiencies. Table(s) with too many, or inconsistent, decimal places. Table(s) not appropriate for questions and findings. Major display problems.
Achievement, mastery, cleverness, creativity Student has gone beyond what was expected and required, e.g., extraordinary effort, additional tools not addressed by this course, unusually sophisticated application of tools from course. Tools and techniques from the course are applied very competently and, perhaps,somewhat creatively. Chosen task was acceptable, but fairly conservative in ambition. Student does not display the expected level of mastery of the tools and techniques in this course. Chosen task was too limited in scope.
Ease of access for instructor, compliance with course conventions for submitted work Access as easy as possible, code runs! Satisfactory Not an earnest effort to reduce friction and comply with conventions and/or code does not run

Project proposal

By the end of the third week of class (11:59pm on October 14th), students must submit to me their project proposal. The proposal should include:

Submit your proposal using this form. If you are proposing a group project, you only need to submit one proposal for the entire group.

Final submission

Your project must be complete by 12pm on Thursday, December 8. All code for your project will reside in a project-specific Git repository. Therefore your webpage will be publicly accessible at http://uc-cfss.github.io/fp-username (or http://uc-cfss.github.io/fp-groupname if you create a group project). Please also include a file called README.md that describes how to run your project, including any setup scripts that download data, etc. Finally, if you make any large data files in the course of running your website, please use a .gitignore file to exclude these from the repository or use the Git Large File Storage extension.

Evaluations

Students are required to peer-review two other final projects. At the end of the term I will post a list of all the final projects on this page. You need to pick two of these projects to evaluate (you can pick any that you want but please don’t evaluate a project that already has two peer-reviews). You can use this rubric to complete your evaluations, just open an issue on the project repo and copy and paste this into the comment field:

Evaluation of final project by XXX
----------------------------------------------------
| Topic                       | Excellent | Satisfactory | Needs Work |
|-----------------------------|-----------|--------------|------------|
| **Coding style**            |           |              |            |
| **Coding strategy**         |           |              |            |
| **Presentation: graphs**    |           |              |            |
| **Presentation: tables**    |           |              |            |
| **Achievement, creativity** |           |              |            |
| **Ease of access**          |           |              |            |

Remarks:

- *Elaborate on above, esp. for "needs work."*
- *Some specific praise?*
- *Something I learned?*
- *Specific constructive criticism?*
- *Something I know and that you, my peer, might like to know because it is relevant to something you struggled with.*

Your feedback should take a form similar to the comments you receive on your homework assignments. You may find it useful to clone the repo to your computer in order to test reproducibility and ease of access. Evaluations must be submitted by 12pm on Friday, December 9.

See here for a list of final projects completed in fall 2016.

Using Python?

See here for details on rendering Jupyter Notebooks natively in your website.

Acknowledgments

This work is licensed under the CC BY-NC 4.0 Creative Commons License.