Schedule

This schedule is tentative and subject to change.

Warmups are due every class day, even if they are not listed under the “Due” column.

Week 1

M
Sep. 09
Welcome!
We discuss the structure of the course and the role of mathematics in modern computation.
Learning Objectives
Getting Oriented
In Class
Welcome!
Due
Join EdStem and Gradescope.
W
Sep. 11
Mathematics and Me
We discuss our relationship to math and how we've learned what we've learned.
Learning Objectives
Getting Oriented
Prep
Math Autobiography
In Class
Mathematics and Me
F
Sep. 13
Lab 1: Technical Writing and Truth Tables
We review truth tables for describing logical operations and begin our first lab assignment in Google Colab.
Prep
Statements and Truth Tables
In Class
Lab 1: Technical Writing and Truth Tables

Week 2

M
Sep. 16
More Logic: Equivalence, Conditionals, and Biconditionals
We introduce formal manipulations of logical expressions and work with the many ways to manipulate conditional statements.
Prep
More Logic: Equivalence, Conditionals, and Biconditionals
In Class
Logic Practice
W
Sep. 18
Introducing Set Theory
We introduce sets, set-builder notation, and operations for combining and measuring sets.
Learning Objectives
S1, S2
Prep
Introducing Set Theory
In Class
Practice with Sets
F
Sep. 20
Lab 2: Inclusion-Exclusion
We use the inclusion-exclusion formula and its generalizations to compute the cardinality of unions of sets. Along the way, we practice writing mathematical computations and performing computational experiments.
Learning Objectives
S2
Prep
Cardinality and Complements
In Class
Lab 2: Inclusion-Exclusion
Due
Lab 1: Technical Writing and Truth Tables

Week 3

M
Sep. 23
Quantifiers and Predicate Logic
We discuss quantification of propositions over sets and how to apply logical operations to symbolic quantifiers.
Learning Objectives
L1, L2
Prep
Quantifiers and Predicate Logic
W
Sep. 25
Logical Deduction
We introduce logical deduction as a formal method for drawing conclusions from a set of premises.
Learning Objectives
L3
Prep
Logical Deduction
F
Sep. 27
Quiz 1
The first of four quizzes in which students have an opportunity to complete Learning Targets.
Due
Lab 2: Inclusion-Exclusion

Week 4

M
Sep. 30
Direct Proof and the Element Method
We introduce direct proofs, our first general technique for proving statements about mathematics and algorithms. We then focus on the element method, which is used for proving that one set is a subset of another set.
Learning Objectives
PF1
Prep
Direct Proof and the Element Method
W
Oct. 02
Cases, Contradictions, and Counterexamples
We introduce several additional proof techniques, as well as the practice of counterexamples for disproving incorrect implications.
Learning Objectives
PF2
Prep
Cases, Contradictions, and Counterexamples
F
Oct. 04
Lab 3: Proof Practice
We practice proving mathematical statements using a variety of techniques.
Learning Objectives
PF1, PF2
Prep
Modular Congruence and Proofs as Writing
In Class
Lab 3: Proof Practice

Week 5

M
Oct. 07
Relations
We introduce relations, with a special focus on equivalence relations on sets.
Learning Objectives
FR1
Prep
Relations and Equivalence Relations
W
Oct. 09
Induction
We introduce mathematical induction, a powerful proof technique for demonstrating that a claim is true for infinitely many cases.
Learning Objectives
PF3, PF4, PF5
Prep
Introduction to Induction
F
Oct. 11
No Class: Midterm Recess
Due
Lab 3: Proof Practice

Week 6

M
Oct. 14
More Induction
We broaden our usage of induction to prove inequalities and write inductive proofs for the correctness of functions.
Learning Objectives
PF3, PF4, PF5, PF6
Prep
More Induction
W
Oct. 16
Strong Induction
We introduce strong induction as an additional tool for proving mathematical theorems.
Learning Objectives
PF7
Prep
Strong Induction
F
Oct. 18
Quiz 2
The second of four quizzes in which students have an opportunity to complete Learning Targets.
Due
Lab 3: Proof Practice

Week 7

M
Oct. 21
Counting
We use the principles of addition, multiplication, and inclusion-exclusion to solve counting problems.
Learning Objectives
C1
Prep
Counting
In Class
Counting at Noonies
W
Oct. 23
Permutations and Combinations
We use permutations and combinations to count possibilities in situations involving rearrangement and subset-selection.
Learning Objectives
C2
Prep
Permutations and Combinations
F
Oct. 25
Lab 4: Counting Lattice Paths
We use binomial coefficients and Python programming to efficiently compute the number of paths through grids.
Learning Objectives
C1, C2
Prep
Counting Lattice Paths
In Class
Lab 4: Counting Lattice Paths

Week 8

M
Oct. 28
Recursion and Recurrence Relations
We introduce recurrence relations and simple methods for solving them.
Learning Objectives
R1
Prep
Recursion and Recurrence Relations
In Class
Tower of Hanoi
W
Oct. 30
Recursion and Recurrence Relations
We practice writing recurrence relations to describe quantities of interest and develop further techniques to solve them.
Learning Objectives
R1
Prep
More Recursion and Recurrence Relations
In Class
Parking Spaces
F
Nov. 01
Lab 5: Analyzing Gradient Descent
We use recurrence relations to analyze the runtime of an algorithm for minimizing a function.
Learning Objectives
R1
Prep
Numerical Algorithms
In Class
Lab 5: Analyzing Gradient Descent
Due
Lab 4: Counting Lattice Paths

Week 9

M
Nov. 04
Asymptotics and Big-Oh
We formally define big-oh notation and prove asymptotic descriptions of various functions.
Learning Objectives
R2
Prep
Asymptotics and Big-Oh Notation
W
Nov. 06
Analyzing Algorithms: The Tree Method
We use the tree method and other methods to estimate asymptotic runtimes of common algorithms.
Learning Objectives
R2
Prep
Analyzing Algorithms
F
Nov. 08
Quiz 3
The third of four quizzes in which students have an opportunity to complete Learning Targets.
Due
Lab 5: Gradient Descent

Week 10

M
Nov. 11
Graphs
We introduce graphs as models of data structures and connected systems.
Learning Objectives
G1
Prep
Graphs and Graph Theory
W
Nov. 13
Graphs
We continue our discussion of graphs with a focus on trees.
Learning Objectives
G1
Prep
More Graph Theory
F
Nov. 15
Lab 6: Triangle-Counting
We study the adjacency matrix of a graph and use it to count the number of triangles in real and synthetic graph data sets.
Learning Objectives
G1
Prep
Network Science
In Class
Lab 6: Introduction to Network Science

Week 11

M
Nov. 18
Introducing Discrete Probability
We introduce discrete probability through a discussion of a famous problem.
Learning Objectives
PR1
Prep
Introducing Discrete Probability
W
Nov. 20
Sample Spaces and Conditional Probability
We introduce formal discrete probability theory via sample spaces. We also introduce conditional probability.
Learning Objectives
PR1, PR2
Prep
Sample Spaces, Conditional Probability
In Class
Sample Spaces, Conditional Probability
F
Nov. 22
Lab 7: TBD
Learning Objectives
Probability
Due
Lab 6: TBD

Week 12

M
Nov. 25
No Class: Thanksgiving Break
W
Nov. 27
No Class: Thanksgiving Break
F
Nov. 29
No Class: Thanksgiving Break

Week 13

M
Dec. 02
Bayes' Theorem
We continue our discussion of conditional probability and introduce Bayes' Theorem.
Learning Objectives
PR2
Prep
Conditional Probability and Bayes' Theorem
In Class
Bayes' Rule and DNA Testing
W
Dec. 04
Random Variables and Expectation
We define random variables and compute the expected value of simple random variables.
Learning Objectives
PR3
Prep
Random variables and expectation
In Class
TBD
F
Dec. 06
TBD

Week 14

M
Dec. 09
Quiz 4
Due
Lab 7: TBD
No matching items

Final Exam

Our final exam will be another quiz covering all twenty Learning Targets. So, it’s just like Quiz 4, except you’ll have 3 hours instead of 50 minutes.



© Phil Chodrow, 2024