Course Logistics and Policies
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
Build skills for the AI-augmented future of engineering.
The new reality. Modern engineering requires mastering both AI tools and fundamentals. Here is why:
-
Your future job: You will ship fast with every AI tool available. But you will need fundamentals to verify correctness, ensure the right semantics, optimize performance, and ask the right design questions.
-
CS145 paper tests and whiteboard interviews: No AI mode. We test whether you can design solutions and debug problems using pure understanding. This is what separates engineers from copy-pasters.
Use the projects to prepare for both. Use AI to accelerate your learning, but bring your brain to every problem. Jobs do not need highly trained copy-pasters.
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.