CS 145 · Modern Data Systems

Projects

Late days

  • You have 2 project late days for the quarter, shared across Project 1 and the final Project 2 submission.
  • Each late day adds exactly 24 hours to the posted 11:59 pm Pacific deadline, including weekends and holidays. Late days are not business days. Use one day on each project, or both days on one project. (Project 2 is due November 20; using both late days extends it to November 22 at 11:59 pm Pacific, not November 27. Thanksgiving does not pause the clock.)
  • No late days are allowed for the proposal. The Project 2 proposal is due October 30. This gives the CA team time to provide feedback and you time to course-correct if needed before the November 20 project deadline.
  • PSET late days cannot be used for projects.
  • Project 1: Submissions beyond your available project late days receive no credit.

Project 2 final: Submit once per team. Each late day uses one day from both partners, so your team can use only as many days as the partner with fewer remaining.

For example, if you have two days left and your partner has one, your team can use one late day without penalty. Both partners spend one day. Solo students use their own remaining balance.

After your team’s late days run out:

  • Within the next 24 hours: receive 80% of your earned final-submission score.
  • After that: receive no credit for the final submission.

Proposal points are unaffected. Each day is 24 hours, including weekends and holidays.

In case of extenuating circumstances, only the head CA can grant additional extensions. Please reach out through a private Ed post before the deadline, or as soon as you can if circumstances prevent that.

Project deadlines

All deadlines are at 11:59 pm Pacific.

Project 1
Project 2 proposal: Science · Systems
Project 2: Science · Systems

No late days are allowed for the proposal. Missing the deadline forfeits 10 points.

The project path: Project 1, then one of two Project 2 options Everyone does Project 1 (BigQuery's First Heist, solo, Sep 25 to Oct 16, 16 to 20 hours, blue) and builds decision-worthy SQL and scalable cloud analytics, then picks one Project 2 (Oct 16 to Nov 20, pairs by default with solo optional, about 40 hours per person for a Tier 93 project (about 8 hours a week over five weeks), with the Tier 100 capstone adding about 8 more): Science (NanoQuery, violet, SQL, semantic search, and text-to-SQL evaluation, an analysis combining tabular data with a knowledge base) or Systems (NanoMem, green, a search engine giving AI coding agents persistent memory that races real production tools). Each card lists focus, skills you build, and the portfolio story. Blue is the SQL foundation, violet is data science, green is systems. PROJECT 1 · SOLO Sep 25 – Oct 16 BigQuery's First Heist FOCUS Write decision-worthy SQL on a 500 MB+ public dataset. SKILLS YOU BUILD CTEs, subqueries, window functions, debug tables, cloud analytics PORTFOLIO 3 decision-worthy SQL answers on real cloud-scale data. 16–20 hrs THEN PICK ONE P2 · SCIENCE Oct 16 – Nov 20 NanoQuery FOCUS Connect tables and documents, query them, and visualize findings. SKILLS YOU BUILD SQL, semantic search, embeddings, and text-to-SQL evaluation PORTFOLIO An analysis combining tabular data with a knowledge base. ≈40 hrs/person (Tier 93) or solo OR P2 · SYSTEMS Oct 16 – Nov 20 NanoMem FOCUS Build a search engine that gives AI coding agents persistent memory. SKILLS YOU BUILD Inverted index + BM25, LSH vectors, hybrid retrieval, query planner PORTFOLIO A memory engine that races real production tools. ≈40 hrs/person (Tier 93) or solo

What you'll build

The big picture for each project. Click a title for the full spec.

Project 1 · BigQuery's First Heist →

Project 1 architecture: a read-only public BigQuery dataset queried with SQL (CTEs, a RANK window function, joins) into decision-worthy answers, verified with paper debug tables.

The whole project in one flow: pick a big public dataset, ask three decision-worthy questions, answer them with real SQL (joins, CTEs, subqueries, window functions), and hand-trace two debug tables to prove you know how it runs.

Project 2: choose your track

NanoMemSystemsNanoQueryData Science
Industry use caseA coding assistant finds relevant functions and documentation.
Case study: coding-agent memory · Why memory matters
A music assistant combines a catalog with artist background to answer a listener’s question.
Case study: Anthropic’s analytics stack (≤21% → >95% on its internal evaluations).
What you buildA keyword and vector retrieval engine, benchmarked against SQLite.An analysis combining tabular data with a knowledge base, using SQL, semantic search, and visualizations.
Technical skillsInverted indexes and BM25; LSH and cosine similarity; rank fusion and query routing; disk partitioning and memory profiling.Spark for data preparation; BigQuery for SQL analytics; MiniLM embeddings and semantic search; visualizations, tested SQL libraries, and text-to-SQL evaluation.
Higher tiersScale the engine through disk partitioning and bounded-memory execution.Build a tested SQL library and evaluate how its context affects text-to-SQL results.