36-614 · Data Engineering and Distributed Environments

October 19–December 2, 2026 · Mondays and Wednesdays · 9:30–10:50 a.m. · Baker Hall 140A
Tools: PostgreSQL on Azure, Python, psycopg, VS Code, Git, and Quarto (.qmd)
Projects: two distinct client systems, followed by a formal knowledge handoff and receiver sprint

Course source and credit. The course builds on Alex Reinhart's MADS Computing course, especially its ten-part data-engineering sequence. The Fall 2026 version updates the tooling, reorganizes the SQL material, and connects the exercises to two client projects supplied by Professor McGovern in Data Engineering Assignment Instructions (July 6, 2026).

Course goals

By the end of the mini-course, students should be able to:

Class meetings

Preparation takes no more than 10 minutes. In class, short explanations alternate with two or three checkpoints where students predict, write, run, and explain code using the current project database. Some homework work begins during these checkpoints.

Schedule

Date Reinhart backbone Meeting focus Project movement
Mon Oct 19 1 Data Pipeline, 2 Database Fundamentals, 3 SQL Basics Basic SQL 1: why pipelines need databases; SELECT, WHERE, NULL, sorting Connect to Azure; inventory the assigned client sources
Wed Oct 21 3 SQL Basics Basic SQL 2: aggregation, GROUP BY, HAVING, honest denominators Write first client metric
Mon Oct 26 3 SQL Basics Basic SQL 3: keys, joins, join grain, missing matches Join two project tables without row explosion
Wed Oct 28 2 Database Fundamentals Entities, relationships, normalization, constraints, ER diagrams Freeze schema v1 and source-to-table map
Mon Nov 2 4 Advanced SQL Advanced SQL 1: CASE, subqueries, CTEs, set operations Compose one client decision query
Wed Nov 4 4 Advanced SQL Advanced SQL 2: windows, indexes, EXPLAIN Add a window query and justify an index
Mon Nov 9 1 Data Pipeline End-to-end flow, idempotency, data quality, monitoring Dry-run refresh; begin handoff pack
Wed Nov 11 5 Using SQL from Code psycopg, parameters, transactions, batching, failure handling Make one report/query runnable from Python
Fri Nov 13 Formal knowledge handoff (outside the regular meeting) Builder demo, access transfer, receiver cold start
Mon Nov 16 6 Full Text Search normalization, LIKE, regex, tsvector, GIN, ranking Add a useful search feature to the inherited system
Wed Nov 18 7 Cloud Computing managed services, shared responsibility, access, backups, cost Audit inherited Azure design and recovery story
Mon Nov 23 8 Distributed Data and Computation scale-up vs scale-out, partitions, object storage, MapReduce/Spark ideas Identify the inherited pipeline's real scaling boundary
Wed Nov 25 No class — Thanksgiving break
Mon Nov 30 9 Packaging Code modules, src/ layout, pyproject.toml, CLI, build and install Package the inherited refresh/query workflow
Tue Dec 1 Professor McGovern project brief Parts I and II due Architecture/source and reporting deliverables
Wed Dec 2 10 Project: Data Pipeline acceptance test, receiver readout, demo rehearsal Prove that the inherited system is operable
Finals week Client presentations Builder/receiver readout
Fri Dec 11 Professor McGovern project brief Optional statistical analysis due Extra credit

The two projects and the handoff

The class runs two loosely related client projects, not one shared weather database. Each team builds one project through November 11. On November 13, teams exchange systems. The second stint begins from the receiver's point of view: students must connect, verify, extend, and explain a system they did not design.

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

Project B · Predictive EV Fleet Siting & Grid Capacity Optimization

Feasibility note: the listed public data do not establish transformer or substation capacity, eGRID is not a real-time grid feed, and OSM footprints are not parcel acreage. Unless the client supplies authoritative capacity data, teams should label proxy measures clearly and must not claim to have measured unavailable capacity.

Assignments

The homework exercises adapt Reinhart's problems to the active project system. Work begun at an in-class checkpoint may be reused.

  1. SQL foundations and schema audit — opens Oct 25; due Nov 3. Six tested queries, a result-grain statement, and a short schema/source audit on the builder database, plus one small comparison with an AI-drafted join.
  2. Builder query library and handoff readiness — opens Nov 1; due Nov 12. Four client-facing queries, one safe Python entry point, rerun and failure tests, the first complete handoff pack, and one small AI documentation check.
  3. Receiver cold start and operations audit — opens Nov 15; due Nov 24. Reproduce one documented result from the different inherited system, test a text query, and audit its cloud operations story.
  4. Receiver extension and acceptance test — opens Nov 29; due Dec 8. Make one measured improvement, run the system from a clean-start condition, and record the remaining risks. PDF

Receiver assignments are submitted as pointers into the Professor McGovern project deliverables, not as duplicated copies of the same work.

Detailed prompts are released through the course website homework section.

Project evidence

Builder pack

Receiver pack

Assessment

Component Weight
In-class checkpoints and participation 10%
Assignment 1 10%
Assignment 2 10%
Assignment 3 10%
Assignment 4 10%
Professor McGovern project Parts I and II 35%
Knowledge transfer and receiver readout 15%

Checkpoint participation is credit for making the work visible: submitting a prediction, query, test result, question, or explanation. Students are not graded on being the first to answer, and an absence can be made up with the checkpoint file.

Submission conventions