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. It is the mathematical foundation for algorithms and theory courses later in the major, and it's most students' first proof-based course.

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

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.

Today's CS 2120 plan

Sample
65 min

What a Fennie Daily Plan looks like for CS 2120. Yours is built from your syllabus and adapts every day to your deadlines and progress.

  • Review: Propositional and predicate logicReview · 25 min

    Work back through the CS 2120 material on propositional and predicate logic. In the app, Fennie builds this from your own notes and syllabus.

  • Practice: Proof techniques (direct, contrapositive, contradiction)Practice · 20 min

    Targeted problems on proof techniques (direct, contrapositive, contradiction), the kind CS 2120 actually tests.

  • Quick quiz: Mathematical inductionQuiz · 10 min

    Five generated questions to expose weak spots on mathematical induction before the exam does.

  • Preview: Sets, relations, and functionsPreview · 10 min

    A first pass over sets, relations, and functions so the next session starts from familiar ground.

Get my real CS 2120 plan free

First plan free, no card required. Fennie is independent and unaffiliated with your school.

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.

More UVA courses