Skip to main content
Stanford
Computer Science
5 credits

Stanford CS 103: Mathematical Foundations of Computing

CS 103 is Stanford's discrete math and theory gateway — proof techniques, set theory, induction, graph basics, then finite automata, regular languages, and the first look at computability and P vs NP. For most students it's the first course where the deliverable is a proof, not a program.

Fennie is independent and not affiliated with Stanford University. This is an unofficial study guide.

Build my CS 103 study plan

What makes it hard

Proof-writing is a different muscle: problem sets are graded on rigor and precision of language, and answers that 'have the right idea' lose most of their points. Induction and the pumping-lemma-style arguments are the classic walls. Students used to verifying their work by running it have no compiler here — the feedback loop is slower and the standards are exact.

What you'll cover

  • Proof techniques and mathematical logic
  • Set theory and functions
  • Induction in all its forms
  • Graphs and relations
  • Finite automata and regular languages
  • Computability and P vs NP

The CS 103 study guide

How to study for Stanford CS 103, step by step.

  1. 1

    Learn the proof formats as formats

    Direct proof, contrapositive, contradiction, induction — each has a shape with required sentences. Internalize the templates first; creativity comes after the scaffolding is automatic.

  2. 2

    Write proofs out fully, every time

    Sketching 'the idea' and moving on is the failure mode — points live in the precision. Write complete proofs for practice problems and compare them line by line against posted solutions.

  3. 3

    Give induction double reps

    Induction underwrites half the course and most students' first proofs of it are subtly broken. Practice until stating the hypothesis precisely and using it honestly is reflexive.

  4. 4

    Start problem sets early and revisit

    Proofs need incubation — the argument you can't find Tuesday often appears Thursday. A problem set started the night before gets your worst thinking on every problem.

  5. 5

    Translate definitions into your own words

    Automata, regular languages, decidability: exam questions test whether you can wield definitions, not recite them. Restate each one and construct your own examples and non-examples.

  6. 6

    Keep the proofs flowing with Fennie

    Upload your CS 103 syllabus and Fennie's Daily Plan schedules proof practice daily with problem sets started early by design, plus quizzes built from the actual course material to test your definitions. Free to start.

    Start my CS 103 plan free

How Fennie helps with CS 103

Fennie's Daily Plans schedule the daily proof reps CS 103 actually requires, with problem sets paced from release so arguments get incubation time. Chat through a proof's structure — what the hypothesis gives you, where the logic leaks — until rigor becomes habit, with your own course definitions as the source material.

FAQ

Is CS 103 hard?

It's a genuine gear-shift: the first Stanford CS course graded on proofs, where 'right idea, imprecise writing' loses most of the points. Students who practice writing complete proofs — not just reading them — handle it; everyone else gets recalibrated on problem set one.

Do I need CS 103 before CS 161?

Yes — CS 161 assumes the proof maturity and discrete-math toolkit CS 103 builds. The induction and graph fluency in particular get used constantly in algorithm analysis.

How do I get better at CS 103 proofs?

Volume plus comparison: write complete proofs for practice problems, then diff your writing against solutions line by line to see where rigor leaked. Office hours and the problem-set feedback are the fastest calibration loop — use both early in the quarter.

Pass CS 103 with a plan, not a cram

Upload your CS 103 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.

Get started free

More Stanford courses