36-614 · Two-Project Build and Handoff

Source. Project requirements are based on Professor McGovern's Data Engineering Assignment Instructions (July 6, 2026). The build/receive structure also adapts the paired handoff in Alex Reinhart's Project: Data Pipeline.

The course has two distinct projects. Each team builds one system, transfers it, and then operates the other system. They are only loosely related: both support location- aware infrastructure or risk decisions, but their clients, sources, schemas, and evidence are different.

Climate team ──build──► climate system ──KT──► EV team operates it
EV team      ──build──► EV system      ──KT──► climate team operates it

Project A · Climate Risk Analytics & P&C Insurance Underwriting

Decision-maker: an insurance underwriting or portfolio-risk team.
Database: PostgreSQL.

Core sources

Enrichment options

Questions the system should support

Project B · Predictive EV Fleet Siting & Grid Capacity Optimization

Decision-maker: a commercial fleet, charging-network planner, or utility partner.
Database: PostgreSQL or DuckDB; PostgreSQL is preferred for the shared course server.

Core sources

Enrichment options

Questions the system should support

Evidence boundary for the EV project

The listed public sources do not establish transformer or substation capacity. eGRID is an annual emissions/resource-mix dataset, not a real-time grid feed, and OSM building footprints are not parcel acreage. Unless authoritative client data are supplied, the project may rank candidates and identify data gaps, but must not claim that a substation is above a measured capacity threshold. Proxy variables must be named as proxies.

Timeline

Date Role Evidence due
Oct 19–28 Builder source inventory, driving questions, ER diagram, schema v1
Nov 2–4 Builder client query library, windows/index evidence
Nov 9 Builder refresh dry run, validation checks, known failures
Nov 11 Builder parameterized Python entry point and complete draft handoff pack
Nov 13 Handoff live KT, access transfer, receiver connection test
Nov 16–30 Receiver cold-start log, reproduction, new query, tested improvement
Dec 1 Both roles Professor McGovern Parts I and II due
Dec 2 Receiver acceptance test and presentation rehearsal
Finals week Both roles client readout
Dec 11 Optional statistical-analysis extra credit

Builder acceptance criteria

The receiving team must be able to find and run:

  1. a source inventory with license/access notes and update cadence;
  2. an ER diagram and data dictionary with grain, units, keys, and provenance;
  3. schema creation and ingestion commands;
  4. rerun-safe loading with validation, logging, and explicit transaction behavior;
  5. at least eight non-trivial, client-relevant SQL queries;
  6. at least one parameterized Python report or query command;
  7. a runbook covering connection, refresh, expected output, failure, and recovery;
  8. known issues, assumptions, proxy measures, and limitations; and
  9. no credentials committed to the repository.

Receiver acceptance criteria

Without private oral instructions after the KT session, the receiving team must:

  1. connect with the provided role and locate the documented entry points;
  2. reproduce one builder result and compare row counts/checksums or other evidence;
  3. answer a new client question with its own tested query;
  4. add one scoped improvement from the second-half course topics;
  5. document every blockage and the exact missing or misleading instruction; and
  6. explain what this experience changes about its own future handoffs.

Knowledge-transfer agenda · 20 minutes

  1. 3 min: client, decision, and system boundary
  2. 4 min: sources, schema, grain, and important caveats
  3. 5 min: connect and run the smallest successful workflow
  4. 4 min: refresh, validation, failure, and recovery
  5. 4 min: receiver performs the first cold-start step while builders observe

The recording is supporting evidence; it does not replace the runbook.

Project assessment

Component Points Full-credit evidence
Architecture and source reasoning 15 client question, feasible evidence, coherent schema
Database and ingestion 15 reproducible load, rerun safety, validation, transactions
Query/report layer 15 eight useful queries and a safe Python entry point
Documentation pack 20 a receiver can operate the system from it
Knowledge transfer 10 concise, accurate, receiver-centered session
Receiver cold start and extension 15 reproduction, new result, and tested improvement
Client readout 10 decisions, evidence, limits, and clear demo

Required final readout

The presentation must distinguish the two roles. First, show what the team built and how well it transferred. Then show what the team inherited, what it could reproduce cold, what it improved, and what remained uncertain. A polished demo is useful; an honest account of system boundaries and transfer failures is more important than theatrical certainty.