6120a Discrete Mathematics And Proof For Computer Science Fix Official

  • Cardinality – finite vs. countably infinite vs. uncountable.
  • The grading schema is designed to weigh theoretical understanding equally with practical application.

    | Component | Weight | Description | | :--- | :--- | :--- | | Homework Sets | 30% | Weekly problem sets focusing on proof construction and logic puzzles. | | Midterm Exam | 25% | Covers Logic, Proofs, and Sets/Functions. | | **Programming Projects


    Four main types cause trouble:

    | Proof Type | Strategy | Typical Mistake | Fix | |------------|----------|----------------|-----| | Direct | Assume P, derive Q | Circular reasoning | Start with given facts, use definitions | | Contrapositive | Prove ¬Q → ¬P | Confusing with contradiction | State contrapositive explicitly | | Contradiction | Assume P ∧ ¬Q, reach impossible | Not reaching a clear contradiction | End with “this contradicts X” | | Induction | Base case + inductive step | Forgetting base case or assuming what you’re proving | Write inductive hypothesis clearly | Cardinality – finite vs

    Fix for induction: Always show P(k) → P(k+1) without assuming P(k+1).

    Find one other student in 6120a. Exchange one proof each. Do not talk. Simply write: "I don't understand line 4" or "You assumed the conclusion." This external feedback fixes blind spots faster than solo study.


    Unlike pure math courses, 6.120A focuses on proofs that directly serve computer science: The grading schema is designed to weigh theoretical

    | CS Concept | Mathematical Proof Technique | |------------|-------------------------------| | Loop invariants | Induction | | Recursive functions | Structural induction | | Correctness of sorting | Invariants + induction | | Graph algorithm (e.g., DFS) | Induction on graph size | | Cryptography security | Contradiction / reduction proofs | | Finite automaton minimization | Equivalence relations |

    Example proof in CS context:
    Prove that a binary tree with n nodes has exactly n+1 null children.
    Proof by induction on n using tree structure.

    | Error | Symptom | The Fix | | :--- | :--- | :--- | | Error 1: Mistaking examples for proofs | "It works for n=1, 2, 3, so it's true." | Induction or counterexample search. | | Error 2: Ambiguous variable binding | "Let x be a number. If x is even, then..." (What is x?) | Quantifier discipline (∀ vs ∃). | | Error 3: Off-by-one in invariants | Loop invariants fail after the 1st iteration. | Precondition strengthening. | Four main types cause trouble: | Proof Type

    Let’s fix each one in detail.


    | Topic | Direct CS application | |----------------------|------------------------------------------------| | Logic & proof | Program verification, SAT solvers | | Set theory | Database queries, SQL, type theory | | Relations | Relational algebra, entity‑relationship models | | Functions | Hash functions, functional programming | | Number theory | Cryptography (RSA), checksums, hashing | | Combinatorics | Algorithm complexity, probabilistic analysis | | Graph theory | Networks, compilers (DAGs), scheduling, routing| | Recurrences | Divide‑and‑conquer runtime analysis | | Loop invariants | Proving iterative code correct |


    Discrete mathematics is the language of computation. Unlike continuous mathematics (calculus, real analysis), discrete structures model the finite, countable, and step‑by‑step nature of digital computers. This course fixes common gaps in traditional discrete math teaching by:

    Key outcomes:
    By the end, a student should be able to read, write, and critique formal proofs; model computational problems using discrete structures; and recognize the mathematical underpinnings of program correctness, complexity, and logic.