Skip to main content
UVA
Computer Science
3 credits

UVA CS 2120: Discrete Mathematics and Theory 1

CS 2120 is the discrete math course of UVA's CS core — logic, proofs, sets, functions, induction, and basic graph and number theory — the mathematical foundation for algorithms and theory courses later in the major. It's most students' first proof-based course.

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

Build my CS 2120 study plan

What makes it hard

Writing proofs is a different activity from computing answers, and the adjustment is the whole course: students who've succeeded on procedure-following suddenly face problems with no procedure. Induction is the famous wall — the template is easy to memorize and hard to genuinely wield — and grading rewards precise logical writing, which feels brutal until the standard clicks.

What you'll cover

  • Propositional and predicate logic
  • Proof techniques (direct, contrapositive, contradiction)
  • Mathematical induction
  • Sets, relations, and functions
  • Basic number theory
  • Intro graph theory

The CS 2120 study guide

How to study for UVA CS 2120, step by step.

  1. 1

    Accept that this is a writing course

    CS 2120 grades the precision of your logical writing, not just the idea. Study finished proofs as writing samples — what gets stated, what gets justified, what order — before producing your own.

  2. 2

    Do proofs from scratch, not from solutions

    Reading proofs feels like learning and transfers almost nothing. Attempt every practice problem cold, struggle properly, and only then compare against the solution to find the move you missed.

  3. 3

    Drill induction past the template

    Memorizing base-case-and-inductive-step is easy; knowing what to do inside the inductive step is the skill. Work many inductions on different structures until choosing what to manipulate feels natural.

  4. 4

    Translate between English and logic daily

    Quantifiers and implications are where exam points quietly die. Practice converting statements both directions — especially negating quantified statements — until it's mechanical.

  5. 5

    Rework every lost point from problem sets

    The graders are showing you the precision standard. Rewrite each docked proof until it would earn full credit; that calibration is the most exam-relevant studying available.

  6. 6

    Keep the practice spaced with Fennie

    Upload your CS 2120 syllabus and Fennie's Daily Plan schedules proof practice in steady daily doses paced to problem sets and exams — the only way proof skill actually accumulates — with quizzes built from your actual course material. Free to start.

    Start my CS 2120 plan free

How Fennie helps with CS 2120

Fennie's Daily Plans turn CS 2120's proof skill into a daily accumulation problem instead of a pre-exam panic, paced to problem-set and exam dates. Chat works through proofs step by step — why this technique, why that justification — so you build the reasoning rather than memorizing templates, and practice questions from your actual materials rehearse the precision the graders demand.

FAQ

Is CS 2120 at UVA hard?

It's the course where procedure-followers hit problems with no procedure. The math is light; the difficulty is learning to construct and write proofs precisely, which most students have never done. Steady practice from week one handles it — cramming proof skill does not work.

Why do I need discrete math for computer science?

It's the foundation under the rest of the major: algorithm correctness and runtime arguments are induction, logic underpins everything from circuits to verification, and graph theory shows up across CS 3100 and beyond. Weak 2120 fundamentals surface again in every theory-adjacent course.

How do I get better at proofs in CS 2120?

Volume, done honestly: attempt problems cold before looking at solutions, rework every docked point from problem sets until it would earn full credit, and drill induction on varied structures past the memorized template. Proof skill is trained, not absorbed.

Pass CS 2120 with a plan, not a cram

Upload your CS 2120 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 UVA courses