This course covers the key mathematical concepts used in computer science, including: logic, proofs, counting, discrete probability, graph theory, and boolean algebra. Throughout the course, I will use algorithmic analysis to provide many of the motivating examples for these technqiues.
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 drawn 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 problem). Each check plus earns you 2 points, each check 1 point, and each zero, of course, 0 points. At the end of the semester, I add up all the points you earned, and this is your raw problem set score. I will then translate that raw score into a letter grade.
As the semester continues, I can provide updates on how to approximately map your raw score into a letter grade. This mapping will evolve as I observe the relative difficulty of the problems assigned. Roughly speaking, however, if you want an A you should be aiming to get a check plus on most problems.
In determining your final grade, I will average your problem set grade with your midterm and final grades according to the below weights.
Problem Sets | 50% |
Midterm | 20% |
Final | 30% |
This course has two teaching assistants who will hold regular office hours in Room 330 in Saint Mary's Hall. Their contact information and office hour times are as follows:
In addition to the teaching assistant office hours listed above, I will hold regular office hours from 1:00 to 2:30 pm on Thursdays, in my office at 334 Saint Mary's Hall.
If you have a question for me about the material or course logistics, my preference is that you ask me immediately before or after class, or during my office hours. If you instead e-mail me, I cannot guarantee a timely response (I am a bad e-mail correspondant). Therefore, if you have a last minute question (e.g., about a problem set), you will likely be better served e-mailing one of the teaching assistants.
The following rules describe my expectations and grading policies for problem sets:
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. Notice that this is a change from earlier versions of this syllabus on which the final was listed as cumulative.
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 if needed if our pace proves too fast or slow.
Week 1 (9/3)
Introduction to the course and its topic; begin work on logic and proofs.
Problem Set 1 Assigned (Due on 9/15): [Download]
Textbook Chapter(s): 1
Week 2 (9/8 and 9/10)
Logic and proofs continued.
Textbook Chapter(s): 1
Week 3 (9/15 and 9/17)
Sets, functions, and sums.
Problem Set 2 Assigned (Due on 9/22): [Download]
Textbook Chapter(s): 2
Week 4 (9/22 and 9/24)
Algorithms: their specification, correctness, and complexity.
Problem Set 3 Assigned (Due on 9/29): [Download]
Textbook Chapter(s): 3
Week 5 (9/29 and 10/1)
Induction.
Problem Set 4 Assigned (Due on 10/6): [Download]
Textbook Chapter(s): 5
Week 6 (10/6 and 10/8)
Recursion.
Problem Set 5 Assigned (Due on 10/13 10/15): [Download]
Textbook Chapter(s): 5
Week 7 (10/13 and 10/15)
Basic Counting
Problem Set 6 Assigned (Due on 10/22; notice this is a Thursday due date): [Download]
Textbook Chapter(s): 6
Week 8 (10/20 to 10/22)
The first lecture this week will continue our discussion of counting. The second lecture will be an optional review session for the midterm. Notice, the problem set is due on Thursday this week and will cover material from Tuesday's lecture.
Textbook Chapter(s): 6
Week 9 (10/27 and 10/29)
Your midterm is on 10/27. The second lecture of the week will begin our study of discrete probability.
Problem Set 7 Assigned (Due on 11/10): [Download]
Textbook Chapter(s): 7
Week 10 (11/3 and 11/5)
Discrete probability continued.
Textbook Chapter(s): 7
Week 11 (11/10 and 11/12)
Advanced counting (recurrence relations, the Master Theorem).
Problem Set 8 Assigned (Due on 11/17): [Download]
Textbook Chapter(s): 8
Week 12 (11/17 and 11/19)
Graphs and graph algorithms.
Problem Set 9 Assigned (Due on 12/3; notice this is a Thursday due date): [Download]
Textbook Chapter(s): 10 and 11
Week 13 (11/24 and 11/26)
Graphs and graph algorithms continued (notice: we only have one class this week due to the Thanksgiving holiday).
Textbook Chapter(s): 10 and 11
Week 14 (12/1 and 12/3)
In the first lecture we conclude graphs and graph algorithms. In the second lecture we tackle boolean algebra. Notice, the problem set is due on Thursday this week and will cover material from Tuesday's lecture.
Textbook Chapter(s): 10, 11, and 12
Week 15 (12/8)
Overflow material, wrap-up and exam review.
Textbook Chapter(s): N/A
Final Exam: Monday, 12/21 from 4:00 to 6:00 pm, in ICC 103.