Tentative Schedule and Learning Goals

You should aim to complete all assigned readings in advance of the corresponding classroom sessions. This will facilitate a much deeper understanding of the material as we work through additional examples in class and it will also help you complete the assigned homework. Please follow the links (as they become available) in the Due column below to see all assigned exercises.

Class Topics Readings Due
9/4 Preliminaries; Propositional Logic 1; 2.1  
9/9 Logic: Statements; Arguments 2.2–2.3  
9/11 Application: Digital Circuits 2.4–2.5 Hw1
9/16 Quantified Statements 3.1–3.2  
9/18 Logical arguments with quantifiers 3.3–3.4 Hw2
9/23 Direct Proofs 4.1–4.4  
9/25 Indirect Proofs 4.5–4.7 Hw3
9/30 Sequences 5.1  
10/2 Induction 5.2–5.3 Hw4
10/7 Strong Induction 5.4  
10/9 Application: The GCD Algorithm 4.8; 5.5 Midterm 1
Fall Break
Oct 12–20
10/21 Recursive definitions of sequences 5.6  
10/23 Solving Recurrences 5.7–5.8 Hw5
10/28 Recursion & Induction 5.9  
10/30 Set theory 6 (all sections) Hw6
11/4 Functions 7.1–7.3  
11/6 Relations 8.1–8.3 Hw7
11/11 Application: Modular Arithmetic 8.4  
11/13 Counting: Product/Sum Rules 9.1–9.3 Hw8
11/18 Pigeonhole principle 9.4  
11/20 Combinations 9.5–9.6 Midterm 2
11/25 Binomial Theorem 9.7  
11/27 Probability basics 9.8 Hw9
Thanksgiving Break: Nov 27 (after classes) - Dec 1
12/2 Conditional Probability 9.9  
12/4 Graphs: Trails, Paths, Circuits 10.1–10.2 Hw10
12/9 Trees 10.5–10.6  
12/11 Application: Coloring Graphs Instructor Notes Hw11
Review Period: Dec 13-14; Exam Period: Dec 15-20

Learning Outcomes

By the end of this course, students will be able to:

  • construct logical statements from natural language descriptions, and vice versa.
  • develop proofs for mathematical statements and the correctness of simple computational procedures.
  • perform combinatorial and probability calculations by using techniques for counting.
  • reason about fundamental concepts and properties of discrete combinatorial structures like graphs and trees
  • develop basic computational thinking skills and an appreciation for the critical role played by discrete mathematics in computational applications.