Course Logistics and Policies
CS145 teaches you to build data systems that hold terabytes to petabytes and serve thousands of reads and writes per second, on the cloud. This page is how the class runs.
Before You Start
Python + Colab on day one. CS161 and CS111 help: CS145 studies problems roughly 100× bigger in data than those classes cover, so their algorithms (sort, hash, complexity) and systems concepts (filesystems, the memory hierarchy, scheduling) reappear here applied at 100× scale. Rusty? Catch up before the module hits: RAM · Filesystems & OS · Merge sort · Complexity.
How Grading Works
CS145 offers two flexible paths for your grade, and you automatically get whichever one scores higher. Most students find Path 1 easier.
-
Path 1 is the safety net: Keep up with the class pace and material. Answer the low-stakes nano-quizzes at lecture and section each week, do the PSets. The modules build on each other and compound, so keeping up is the easier path. By the final the thinking is mostly done; the final at 35% feels like review, with lower stakes.
-
Path 2: bet on the final. If you don't collect enough points from the lectures + sections, or if your quarter just got messy, the nano-quizzes' weight rolls into the final exam on its own. No paperwork, no decision. The final is reweighed at 50%.
| Component | Weight | Details |
|---|---|---|
| Project 1 | 10% | BigQuery SQL project |
| Project 2 | 25% | Data Science or Systems |
| PSets | 15% | Problem sets |
| Nano Quizzes | 15% (cap) | Nano-quizzes via Poll Everywhere, live during lecture or section. Lectures: 0.5 pt each (~20 of them). Sections: 0.75 pt each (10 of them). The 15% cap is built-in flexibility for missed quizzes. No makeups. |
| Final Exam | Path 1: 35% Path 2: 50% |
Comprehensive |
| Total | 100% |
Grade = Projects + PSets + max(Final @ 35% + Quizzes @ 15%, Final @ 50%)
Grade scale
-
≥ 97: A+, ≥ 93: A, ≥ 90: A−
-
≥ 87: B+, ≥ 83: B, ≥ 80: B−
-
≥ 77: C+, ≥ 73: C, ≥ 70: C−
-
≥ 60: D, < 60: F
P/NP: need at least a C− (≥ 70) to pass.
Final Exam
Exam conflict policy: no rescheduling of the final exam.
-
OAE accommodations: same day, extended hours, alternate location
-
Verify conflicts before enrolling in CS145
-
For illness or emergencies on exam day, see the "When life gets in the way" section below
When life gets in the way
CS145 is a large class, so we have built routine flexibility into the grading. Path 2 above (bet on the final) and the structure of the PSets absorb most weeks of bad luck without paperwork. Use those first.
For genuine emergencies that go beyond routine misses, please loop in your undergraduate advisor or your physician, and forward us their note or email through Gradescope. We trust their judgment rather than asking you for personal details, and at our class size this is the only way we can respond fairly and quickly to everyone who needs help.
Incompletes from a missed final resolve the next time CS145 runs (usually once a year). See Stanford's Incomplete policy and talk to your undergrad advisor.
Accessibility
Students with OAE needs are a valued part of Stanford. If you already have an Academic Accommodation Letter, upload it to Gradescope at the earliest opportunity so we can partner with you and OAE to identify any barriers to access in this course.
OAE accommodations apply to the final exam (extended time, alternate location, alternate timing) and to deadline accommodations on PSets and projects.
AI Policy: Learn Like You'll Work
The policy here is the rule that follows from how the field has changed.
The rule. Ship with AI; own the result.
-
On the projects: use any AI tool you like, and credit the ones you use. The skill we grade is whether you can verify correctness, fix the semantics, optimize the cost, and defend the design.
-
On the paper test and whiteboard interview: no AI mode. These measure the part that is now scarce: designing the system and finding the bug with your own understanding.
Experiment Freely
Use your favorite LLMs (GPT, Claude, Gemini). Try different prompting strategies. Compare their approaches. This is how modern engineers work at startups and big tech alike. Just credit the AI tools you use in your submissions.
Understand Deeply
Build real understanding of:
- Query semantics, what the SQL does
- Performance debugging, why queries are slow
- Index strategies, when they help or hurt
- Join algorithms, which one fits your data
- System tradeoffs, memory vs. disk, latency vs. throughput
Whiteboard interviews and paper tests assess full-stack understanding. Jobs require shipping with AI. Master both modes here.
Feedback
Anonymous course feedback goes to a short Google Form. Use it for pacing, content, what is working, what is not. Nothing is attributed.
Per-page bugs or typos are easier to fix when we know which page. Click the small feedback button in the bottom-right corner of any course page and tell us what is wrong. That one is signed in as you so we can follow up.