Project Midterm

Submission Deadline: Nov. 2nd, 12:00 PM

There is no midterm exam. Instead, you will turn in a report explaining your current work on your final project.

The midterm submission has three parts: a written report (PDF), your code and data, and early visualizations — at least one map plus three to five charts, which may still be static images at this stage. Both tracks cover similar report sections, but the balance differs: Track A writes a longer report (4–5 pages) with more weight on interpretation and visualization, Track B writes a shorter report (2–3 pages) with more weight on code structure and reproducibility.

By this point you should have cleaned data, a notebook/script that runs end to end for cleaning your data, and enough early results to see whether the question you proposed is actually answerable with the data you have. What we are checking is that the foundation is sound, because everything in the final builds directly on it. You will also document what has changed since the proposal and what remains to be done.

See the GitHub Folder Structure page for additional information on organizing your project files.

This is the last point at which we can redirect a project that is drifting, so treat the feedback you get here as the plan for the remaining of the semester.


Minimum Requirements (All Groups)

Every project, in either track, must include all of the following by the midterm:

  • A written report that describes the current state of your project.
  • At least one spatial join that your results depend on.
  • A documented cleaning process: what you removed, filtered, or fixed, and how many rows that affected.
  • A notebook or script that runs top to bottom (Kernel → Restart & Run All) without errors, using only relative file paths.
  • At least 1 map and 3–5 charts, each with a title, labeled axes or legend, units, and a one-sentence caption saying what it shows.

Written Report (Track A: 4-5 pages | Track B: 2-3 pages)

Research Question

Restate your research question (including the geography, population, and time frame it covers) and explain what has changed since your proposal and why. Changes might include a narrower scope, a different dataset, or a reformulated question.

Data

Summarize your data cleaning process and describe what you removed, filtered, or fixed, and how many records were affected. For example: “We dropped 1,204 parcels with missing geometry, about 3% of rows.” There should also be a justification for every cleaning step.

Methods

Walk us through your current workflow step by step, naming the core operations you rely on (e.g., spatial joins, buffers, aggregations) and the projected CRS you use, with its EPSG code.

Early Results

What patterns do you notice in your analysis so far? Are you surprised by what you’ve found? Why or why not?

Plan to Finish

Lay out the work remaining between now and the final deadline, with who is responsible for each step and a target date. Identify the biggest risks to finishing, such as missing data, slow processing, or a method that isn’t working, and address how you can adapt your project as needed. Close with 1–3 specific challenges your team is facing or aspects of your project you would like feedback on.


Additional Requirements for Track A and Track B

Track A

Start shaping the story you are trying to tell: why the project matters, who is affected, and what you want the reader to take away. Be specific about the decision, debate, or problem your findings speak to, and name the audience you’re writing for.

Your midterm should include an outline of your StoryMap’s structure with the main sections listed in order, and a brief description of the map or chart that will be used for each section. Describe in a sentence or two what the reader should understand after reading that section.

Take a look at previous final project examples that used a StoryMap for inspiration and an idea of the structure.

Track B

In addition to your ZIP file with the code and data, share a link to your team’s GitHub repository, which should also include:

  • A README that explains how to run your analysis and where someone else would get your data, whether that’s a download script, an API call, or a note about any manual steps needed.
  • Code organized so repeated steps are written as functions, either in a .py module or in clearly separated notebook sections.
  • A requirements.txt file that lists the Python packages your analysis uses.

The midterm requirements are different for Track A and Track B, so make sure you understand what is expected for your project type!

Submission

Submit on Gradescope using the Midterm submission link. One submission per group.

Submit one ZIP file named Group_<group_number>_Track<AorB>_midterm.zip containing:

  1. A written report PDF (4–5 pages for Track A, 2–3 pages for Track B)
  2. Your code and data, organized as shown on the GitHub Folder Structure page. Your data cleaning steps must run from top to bottom without errors from one notebook or script (e.g. data_processing.py or data_processing.ipynb), which may import functions from your own .py files.
  3. Your early visualizations: at least 1 map and 3–5 charts (static images are fine)

Check your group number in CP101-F26- FP Groups.

Extension tokens: if you are using one, add a comment to your submission saying so.