Instructor: Alex Steiger (asteiger AT cs.duke.edu), LSRC D312
Teaching Associate: Violet Pang (tong.pang AT duke.edu)
Lecture: Tu/Th 3:05-4:20 at Griffith Theater in Bryan Center
Discussion: Fridays at various times and locations—check DukeHub for your section and location!
Office Hours: To be announced soon. If you need to reach Alex beforehand, please send an email to the address above.
Graduate Teaching Assistants (GTAs):
- Qinyang Yu (qinyang.yu AT duke.edu)
- Vaibhav Sharma (vaibhav.sharma AT duke.edu)
- Vincent Li (vincent.l.li AT duke.edu)
- Zini Yang (zini.yang AT duke.edu)
Undergraduate Teaching Assistants (UTAs):
- Aditya Gupta (aditya.gupta AT duke.edu)
- Austin Huang (austin.huang AT duke.edu)
- Benjamin Underwood (benjamin.underwood AT duke.edu)
- Chirag Biswas (chirag.biswas AT duke.edu)
- Gabriel Mendoza (gabriel.mendoza AT duke.edu)
- John Hall (john.hall AT duke.edu)
- Vritti Chopra (vritti.chopra AT duke.edu)
- Xuerui He (xuerui.he AT duke.edu)
Course Description: Discrete mathematics lays the foundation on which much of modern computer science rests. This course is an introduction to discrete mathematics, with topics selected based on their relevance to computer science. These include mathematical logic, set theory, mathematical induction, combinatorics, probability, and graph theory.
Learning Objectives:
- Acquire and enhance your ability in abstract thinking and formal mathematic communication.
- Familiarize yourself with important math concepts and tools essential for advanced topics in computer science.
Textbook: Mathematics for Computer Science (MCS) by Eric Lehman, F Thomson Leighton, and Albert R Meyer, which is freely available as an e-book here. You do not need to purchase a hardcopy. Sections of other textbooks may be included as readings for the course, in which case we will provide them on Canvas. A backup copy is also available on Canvas accessed via Files on the sidebar.
Additional Resources: There are many other excellent resources for learning discrete mathematics, with and without applications to computer science. In the way that our course will not cover all sections in MCS above, the same is true for the following (non-exhaustive) list:
- Fundamentals of Discrete Math for Computer Science by Tom Jenkyns and Ben Stephenson, accessible online through Duke Libraries here.
- Building Blocks for Theoretical Computer Science by Margaret Fleck, accessible here.
- Discrete Mathematics and Its Applications by K. H. Rosen
Co-requisites (or equivalent): CS 201: Data Structures and Algorithms
Grade Breakdown:
- Homework: 30%
- Lowest scored HW is dropped. No further drops or exceptions will be made.
- Midterm Exams: 39% (3 at 13% each)
- Engagement: 11% (Lecture exercises 5%, discussion participation 5%, and surveys 1%)
- These are graded for completion/involvement, not for correctness.
- We drop 6 lecture exercises and 3 discussion participation automatically. No further drops or exceptions will be made.
- Final Exam: 20%