This course covers key mathematical concepts used in computer science,
including: logic, proofs, counting, discrete probability,
graph theory, and boolean algebra. These topics all fall within the general
category of *discrete* mathematics as oppose to *continuous* mathematics
(see
here
for more
on this distinction.)
Throughout the course, I will use algorithmic analysis to provide motivating
examples,
so you will also learn algorithm basics.

The required textbook for this course is *Discrete Mathematics and its Applications, 7th Edition* by
Kenneth H. Rosen. Most of the topics and examples covered in this course will be adapted from this text.

Grades in the course will be based on weekly problem sets and two exams (a midterm and a final).
The problem set problems will be graded on the following scale: *check plus* (correct
answer
with at most minor issues), *check* (shows understanding but has
at least one major issue),
and *zero* (does not demonstrate a reasonable understanding of
the problem).

On the problem sets, each check plus earns you 4 points, each check 2 point, and each zero, of course, 0 points. There will be approximately 200 total possible points you can earn on the problem sets during the semester. The midterm and the final will each be made up of approximately 100 total points. Accordingly, the impact of the problem sets and exams on your grade works out to roughly the following:

Problem Sets | 50% |

Midterm | 25% |

Final | 25% |

At the end of the semester, I will convert your raw numerical score into a letter grade. To help you keep track of how you're doing, each problem set and exam sample solution will include a scale so you can covert your numerical score into an approximate letter grade. I am also happy to give you an update on your current grade at any point during the semester, just ask me if you're curious.

This course has two teaching assistants who will hold regular office hours in the student lounge (near the bathrooms) on the third floor of Saint Mary's Hall. Their contact information and office hour times are below.

- Tiffany Lam (tcl49@georgetown.edu)
*Office hours:*Wednesday,*3:45 to 5:45*- Elena Mehiel (ekm64@georgetown.edu)
*Office hours:*Monday, 6:20 to 8:20 pm

In addition to the teaching assistant office hours listed above, I will hold regular office hours from 12:30 to 2:00 on Tuesdays, in my office at 356 Saint Mary's Hall.

If these office hours conflict with your class schedule just let me know, we can find alternative times to meet as needed. I am also always happy to chat right after class if you have quick questions, or over email.

The following rules describe my expectations and grading policies for problem sets:

- You must work
**alone**on problem sets. You may only discuss problems with me or the teaching assistants. The only materials you can reference when working on these problems are your course notes and the assigned textbook. In particular, you**may not**reference online sources, solutions from previous classes, or talk to other students when working on problem set problems. - I will post each problem set on the below schedule by the beginning of class on the day it is assigned. For the most part, each problem set covers the material taught in class the week it is assigned as is due on the first class of the next week. There are some exceptions to this timing due to holidays and travel. Please check the assignment and due dates carefully for each problem set.
- Problem sets should be handed in at the beginning of class on the day they are due. That is, bring a physical copy of the problem set to class to give to me before the lecture begins.
- Problem sets not handed in by the beginning of lecture will be
considered late, and 10% of the points deducted.
Problem sets not handed until the day
*after*the deadline will have an additional 10% deducted (slide late problem sets under my door if I am not in my office). Beyond this point, problem sets will not be accepted. - You should expect to get your problem sets back within nine days. That is, problem sets handed in on Tuesday will come back Thursday of the next week, if not earlier. I will let you know if more time is needed for a grading a given problem set.

There will be two exams in the course: a midterm and a final.
The final exam is **not** cumulative; that is,
it covers material from the second half of the course starting with discrete
probability and ending with boolean algebra.

I take academic integrity seriously.
To repeat the problem set instructions from above:
You must work **alone** on problem sets.
You may only discuss problems with me.
The only materials you can reference when working on these problems are your course notes and the assigned textbook.
In particular, you **may not** reference online sources or talk to other students.

You may not bring any outside material into exams.

You may not reference any problem sets, exams, or solutions from prior teachings of this course.

When in doubt, ask me what is allowed.

Below is the current schedule for the course. I will add more detail regarding the topics covered (and corresponding textbook sections) as the semester continues. I will adjust this schedule if needed if our pace proves too fast or slow.

**Week 1** (8/29)

Introduction to the course and its topics; begin work on logic and proofs.

**Problem Set 1 Assigned (Due on Tue, 9/10):** [Download]

__Textbook Chapter(s):__ 1

**Week 2** (9/3 and 9/5)

Logic and proofs continued.

__Textbook Chapter(s):__ 1

**Week 3** (9/10 and 9/13)

Sets, functions, and sums.

**Problem Set 2 Assigned (Due on Thur, 9/19):** [Download]

__Textbook Chapter(s):__ 2

**Week 4** (9/17 and 9/19)

*No Class on Tuesday, 9/17*

Algorithms: their specification, correctness, and complexity.

**Problem Set 3 Assigned (Due on Thur, 9/26):**
[Download]

__Textbook Chapter(s):__ 3

**Week 5** (9/24 and 9/26)

Finish algorithms.

Begin induction.

**Problem Set 4 Assigned (Due on Tue, 10/8):** [Download]

__Textbook Chapter(s):__3,5

**Week 6** (10/1 and 10/3)

Finish induction; introduction to recursion.

__Textbook Chapter(s):__ 5

**Week 7** (10/8 and 10/10)

Basic Counting.

**Problem Set 5 Assigned (Due on Tue, 10/15):**
[Download]

__Textbook Chapter(s):__ 6

**Week 8** (10/15 to 10/17)

The first lecture this week be a review session for the midterm.
Your **midterm** is on Thursday, 10/17.

**Week 9** (10/22 and 10/24)

Discrete probability.

**Problem Set 6 Assigned (Due on Tue, 11/5):**
[Download]

__Textbook Chapter(s):__ 7

**Week 10** (10/29 and 10/31)

Discrete probability continued. Randomized algorithms.

__Textbook Chapter(s):__ 7

**Week 11** (11/5 and 11/7)

Solving recurrences. Begin graph theory.

**Problem Set 7 Assigned (Due on Tue, 11/19):**
[Download]

__Textbook Chapter(s):__ 8, 10 and 11

**Week 12** (11/12 and 11/14)

Graph theory continued.

__Textbook Chapter(s):__ 10 and 11

**Week 13** (11/19 and 11/21)

Circuits and boolean algebra.

**Problem Set 8 Assigned (Due on Tue, 11/26):**
[Download]

__Textbook Chapter(s):__ 12

**Week 14** (11/26)

Advanced topics.

**Week 15** (12/3 and 12/5)

Overflow and final exam review.

**Final Exam Period:** (12/12 to 12/20)