Final Exam/Project
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Final Exam/Project
Option 1: Final Exam
Exam Date: Registrar-scheduled exam time in Finals Week (Tuesday, 5/27, 3-5pm; 1155, Rm 295)
During our registrar-scheduled exam time in Finals Week, you have the option to complete a cumulative final exam (on paper). The exam will involve both code interpretation and conceptual prompts -- similar to the types of questions asked in the homework assignments and in-class activity prompts throughout the quarter.
In order to prepare for the exam, we recommend reviewing all of your previous homework assignments and in-class activity prompt responses to ensure that you understand both "how" to make your programs more scalable and performant using the techniques covered in the class as well as "why" these approaches work the way that they do. If there are portions of the homework assignments or activity prompts that you are still unsure about or don't fully understand, please come talk with the course staff -- we're happy to clarify and help consolidate your knowledge.
You can also review the questions that were asked in past years' exams. These are the same types of questions that will be asked in this year's exam as well.
Option 2: Final Project
If you choose the final project option, you will write large-scale computing code that solves a social science research problem of your choosing. You may work alone or in a group of up to four students.
For instance, you might perform a series of computationally intensive demographic simulations, or you might choose to collect, analyze, and visualize large social media data, or do something else that employs large-scale computing strategies. It is recommended that you run your final project idea by the TA and/or instructor by the end of Week 7 to ensure that it is feasible and adequately complex. We'd encourage you to communicate with students on our Ed Discussion Forum if you are looking for teammates.
Ideally, this should be a topic related to your graduate school research interests. However, consult with your TA or instructor if you have any questions about picking a final project topic or finding/collecting relevant data. If you are have trouble finding large data sources, you might consider looking in the AWS Open Data Registry (https://registry.opendata.aws/) (a small selection of which is listed below), which features datasets that are already located in S3 storage and would be easy to work with from within the AWS cloud ecosystem.
Your project will be graded based on the following rubric:
Criteria Points
1000-word README (minimum) describing a social science research problem, justification of the importance of using scalable computing methods to solve it, as well as a description of the scalable computing methods you employ in the project.
6 points
Quality of Python code and integration of scalable computing strategies
12 Points
Complexity and Level of Difficulty of Project
12 points
Each member of your group (if you are working in a team) should contribute equally to the project code and you should clearly state the responsibilities of each group member in your README. Likewise, to receive full credit for the "Level of Difficulty" portion of the rubric above, you should ensure that the product of your group is proportional to your group size (i.e. a group of 3 should produce a project of ~3x larger scope than a student working on a project alone). For instance, in a group of three, each group member could be in charge of significant portions of a data pipeline: one group member might be in charge of engineering a scalable data collection pipeline, another may be responsible for processing and analyzing that data, and a final member could work on producing a dashboard or public API that displays processed data (or makes predictions based on a trained machine learning model) in a scalable fashion.
As a final note, we expect all projects to involve a significant expansion beyond the content directly covered in the course (e.g. you should not simply replicate the exact analytical workflow you completed in one of the assignments, or that we walked through in live coding exercise in class). You should apply the concepts of the class in a new way to your problem of interest. Consult with a member of the course staff if you have any questions about whether your project is of an adequate scope/difficulty.
2025-05-22